@designliquido/delegua 0.59.0 → 0.59.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/bibliotecas/dialetos/pitugues/primitivas-texto.d.ts.map +1 -1
  2. package/bibliotecas/dialetos/pitugues/primitivas-texto.js +54 -0
  3. package/bibliotecas/dialetos/pitugues/primitivas-texto.js.map +1 -1
  4. package/bibliotecas/primitivas-texto.d.ts.map +1 -1
  5. package/bibliotecas/primitivas-texto.js +17 -0
  6. package/bibliotecas/primitivas-texto.js.map +1 -1
  7. package/bin/package.json +1 -1
  8. package/interfaces/interpretador-interface.d.ts +1 -1
  9. package/interfaces/interpretador-interface.d.ts.map +1 -1
  10. package/interfaces/primitiva-interface.d.ts +1 -0
  11. package/interfaces/primitiva-interface.d.ts.map +1 -1
  12. package/interfaces/retornos/index.d.ts +1 -0
  13. package/interfaces/retornos/index.d.ts.map +1 -1
  14. package/interfaces/retornos/index.js +1 -0
  15. package/interfaces/retornos/index.js.map +1 -1
  16. package/interpretador/dialetos/pitugues/comum.d.ts +16 -0
  17. package/interpretador/dialetos/pitugues/comum.d.ts.map +1 -0
  18. package/interpretador/dialetos/pitugues/comum.js +270 -0
  19. package/interpretador/dialetos/pitugues/comum.js.map +1 -0
  20. package/interpretador/dialetos/pitugues/index.d.ts +1 -0
  21. package/interpretador/dialetos/pitugues/index.d.ts.map +1 -1
  22. package/interpretador/dialetos/pitugues/index.js +1 -0
  23. package/interpretador/dialetos/pitugues/index.js.map +1 -1
  24. package/interpretador/dialetos/pitugues/interpretador-pitugues-com-depuracao.d.ts +8 -0
  25. package/interpretador/dialetos/pitugues/interpretador-pitugues-com-depuracao.d.ts.map +1 -0
  26. package/interpretador/dialetos/pitugues/interpretador-pitugues-com-depuracao.js +51 -0
  27. package/interpretador/dialetos/pitugues/interpretador-pitugues-com-depuracao.js.map +1 -0
  28. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts +0 -9
  29. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts.map +1 -1
  30. package/interpretador/dialetos/pitugues/interpretador-pitugues.js +37 -234
  31. package/interpretador/dialetos/pitugues/interpretador-pitugues.js.map +1 -1
  32. package/lexador/micro-lexador-pitugues.d.ts +1 -0
  33. package/lexador/micro-lexador-pitugues.d.ts.map +1 -1
  34. package/lexador/micro-lexador-pitugues.js +5 -1
  35. package/lexador/micro-lexador-pitugues.js.map +1 -1
  36. package/package.json +1 -1
  37. package/umd/delegua.js +324 -302
  38. package/interpretador/interpretador-com-depuracao.d.ts +0 -182
  39. package/interpretador/interpretador-com-depuracao.d.ts.map +0 -1
  40. package/interpretador/interpretador-com-depuracao.js +0 -563
  41. package/interpretador/interpretador-com-depuracao.js.map +0 -1
@@ -1,182 +0,0 @@
1
- import { EspacoMemoria } from './espaco-memoria';
2
- import { Declaracao, Enquanto, Escreva, Para, Retorna } from '../declaracoes';
3
- import { PontoParada } from '../depuracao';
4
- import { ComandoDepurador, InterpretadorComDepuracaoInterface } from '../interfaces';
5
- import { TipoEscopoExecucao } from '../interfaces/escopo-execucao';
6
- import { RetornoQuebra } from '../quebras';
7
- import { RetornoInterpretadorInterface } from '../interfaces/retornos/retorno-interpretador-interface';
8
- import { Chamada, Construto } from '../construtos';
9
- import { Interpretador } from './interpretador';
10
- /**
11
- * Implementação do Interpretador com suporte a depuração.
12
- * Herda o Interpretador padrão de Delégua e implementa métodos a mais, que são
13
- * usados pelo servidor de depuração.
14
- * Alguns métodos do Interpretador original, como `executarBloco` e `interpretar`,
15
- * são reimplementados aqui.
16
- *
17
- * A separação entre `Interpretador` e `InterpretadorComDepuracao` se faz
18
- * necessária por uma série de motivos.
19
- * O primeiro deles é o desempenho. A depuração torna o desempenho do
20
- * Interpretador com depuração inferior ao Interpretador original pelas
21
- * várias verificações de controle que precisam ser feitas para a
22
- * funcionalidade do suporte a depuração, como verificar pontos de parada,
23
- * estados da pilha de execução e variáveis.
24
- * O segundo deles é manter o Interpretador original tão simples quanto possível.
25
- * Uma implementação mais simples normalmente é mais robusta.
26
- * O terceiro deles é o uso de memória. O Interpretador original não possui
27
- * uma série de variáveis implementadas aqui, o que o torna mais econômico em
28
- * recursos de máquina.
29
- */
30
- export declare class InterpretadorComDepuracao extends Interpretador implements InterpretadorComDepuracaoInterface {
31
- pontosParada: PontoParada[];
32
- finalizacaoDaExecucao: Function;
33
- pontoDeParadaAtivo: boolean;
34
- avisoPontoParadaAtivado: Function;
35
- escopoAtual: number;
36
- comando?: ComandoDepurador;
37
- executandoChamada: boolean;
38
- proximoEscopo?: TipoEscopoExecucao;
39
- idChamadaAtual?: string;
40
- passos: number;
41
- aoEncerrarEscopo: Function;
42
- constructor(diretorioBase: string, funcaoDeRetorno: Function, funcaoDeRetornoMesmaLinha: Function);
43
- /**
44
- * Quando um construto ou declaração possui id, significa que o interpretador
45
- * deve resolver a avaliação e guardar seu valor até o final do escopo.
46
- * Isso serve para quando a linguagem está em modo de depuração, e o contexto
47
- * da execução deixa de existir com um ponto de parada, por exemplo.
48
- * @param expressao A expressão a ser avaliada.
49
- * @returns O resultado da avaliação.
50
- */
51
- avaliar(expressao: Construto | Declaracao): Promise<any>;
52
- /**
53
- * Resolve problema de literais que tenham vírgulas, e confundem a resolução de chamadas.
54
- * @param valor O valor do argumento, que pode ser um literal com virgulas.
55
- * @returns Uma string com vírgulas escapadas.
56
- */
57
- private escaparVirgulas;
58
- /**
59
- * Gera um identificador para resolução de chamadas.
60
- * Usado para não chamar funções repetidamente quando usando instruções
61
- * de passo, como "próximo" ou "adentrar-escopo".
62
- * @param expressao A expressão de chamada.
63
- * @returns Uma `Promise` que resolve como `string`.
64
- */
65
- private gerarIdResolucaoChamada;
66
- visitarExpressaoDeChamada(expressao: Chamada): Promise<any>;
67
- visitarDeclaracaoEnquanto(declaracao: Enquanto): Promise<any>;
68
- /**
69
- * Execução de uma escrita na saída configurada, que pode ser `console` (padrão) ou
70
- * alguma função para escrever numa página Web.
71
- * Se ponto de parada foi ativado durante a avaliação de argumentos, não escreve.
72
- * @param declaracao A declaração.
73
- * @returns Sempre nulo, por convenção de visita.
74
- */
75
- visitarDeclaracaoEscreva(declaracao: Escreva): Promise<any>;
76
- visitarDeclaracaoPara(declaracao: Para): Promise<any>;
77
- /**
78
- * Ao executar um retorno, manter o valor retornado no Interpretador para
79
- * uso por linhas que foram executadas com o comando `próximo` do depurador.
80
- * @param declaracao Uma declaracao Retorna
81
- * @returns O resultado da execução da visita.
82
- */
83
- visitarExpressaoRetornar(declaracao: Retorna): Promise<RetornoQuebra>;
84
- /**
85
- * Se bloco de execução já foi instanciado antes (por exemplo, quando há um ponto de parada e a
86
- * execução do código é retomada pelo depurador), retoma a execução do bloco do ponto em que havia parado.
87
- * Se bloco de execução ainda não foi instanciado, empilha declarações na pilha de escopos de execução,
88
- * cria um novo ambiente e executa as declarações empilhadas.
89
- * Se depurador comandou uma instrução 'adentrar-escopo', execução do bloco não ocorre, mas
90
- * ponteiros de escopo e execução são atualizados.
91
- * @param declaracoes Um vetor de declaracoes a ser executado.
92
- * @param ambiente O ambiente de execução quando houver, como parâmetros, argumentos, etc.
93
- */
94
- executarBloco(declaracoes: Declaracao[], ambiente?: EspacoMemoria): Promise<any>;
95
- /**
96
- * Para fins de depuração, verifica se há ponto de parada no mesmo pragma da declaração.
97
- * @param declaracao A declaração a ser executada.
98
- * @returns True quando execução deve parar. False caso contrário.
99
- */
100
- private verificarPontoParada;
101
- /**
102
- * No interpretador com depuração, este método é dividido em dois outros métodos privados:
103
- * - `this.executarUmPassoNoEscopo`, que executa apenas uma instrução e nada mais;
104
- * - `this.executarUltimoEscopoComandoContinuar`, que é a execução trivial de um escopo inteiro,
105
- * ou com todas as instruções, ou até encontrar um ponto de parada.
106
- * @param manterAmbiente Se verdadeiro, junta elementos do último escopo com o escopo
107
- * imediatamente abaixo.
108
- * @param naoVerificarPrimeiraExecucao Booleano que pede ao Interpretador para não
109
- * verificar o ponto de parada na primeira execução.
110
- * Normalmente usado pelo Servidor de Depuração para continuar uma linha.
111
- * @returns O retorno da execução.
112
- */
113
- executarUltimoEscopo(manterAmbiente?: boolean, naoVerificarPrimeiraExecucao?: boolean): Promise<any>;
114
- private descartarTodosEscoposFinalizados;
115
- private descartarEscopoPorRetornoFuncao;
116
- private executarUmPassoNoEscopo;
117
- /**
118
- * Continua a interpretação parcial do último ponto em que parou.
119
- * Pode ser tanto o começo da execução inteira, ou pós comando do depurador
120
- * quando há um ponto de parada.
121
- * @param manterAmbiente Se verdadeiro, junta elementos do último escopo com o escopo
122
- * imediatamente abaixo.
123
- * @param naoVerificarPrimeiraExecucao Booleano que pede ao Interpretador para não
124
- * verificar o ponto de parada na primeira execução.
125
- * Normalmente usado pelo Servidor de Depuração para continuar uma linha.
126
- * @returns Um objeto de retorno, com erros encontrados se houverem.
127
- */
128
- private executarUltimoEscopoComandoContinuar;
129
- /**
130
- * Continua a interpretação, conforme comando do depurador.
131
- * Quando um ponto de parada é ativado, a pilha de execução do TypeScript é perdida.
132
- * Esse método cria uma nova pilha de execução do lado do JS, começando do último elemento executado do
133
- * primeiro escopo, subindo até o último elemento executado do último escopo.
134
- * Se entre escopos houver ponto de parada ativo, a execução é suspensa até o próximo comando
135
- * do desenvolvedor.
136
- * @see executarUltimoEscopo
137
- */
138
- instrucaoContinuarInterpretacao(escopo?: number): Promise<any>;
139
- /**
140
- * Empilha um escopo se for possível.
141
- * Se não for, apenas executa a instrução corrente.
142
- */
143
- adentrarEscopo(): Promise<any>;
144
- /**
145
- * Interpreta apenas uma instrução a partir do ponto de parada ativo, conforme comando do depurador.
146
- * Esse método cria uma nova pilha de execução do lado do JS, começando do último elemento executado do
147
- * primeiro escopo, subindo até o último elemento executado do último escopo.
148
- * @param escopo Indica o escopo a ser visitado. Usado para construir uma pilha de chamadas do lado JS.
149
- */
150
- instrucaoPasso(escopo?: number): Promise<any>;
151
- /**
152
- * Interpreta restante do bloco de execução em que o ponto de parada está, conforme comando do depurador.
153
- * Se houver outros pontos de parada no mesmo escopo à frente da instrução atual, todos são ignorados.
154
- * @param escopo Indica o escopo a ser visitado. Usado para construir uma pilha de chamadas do lado JS.
155
- */
156
- instrucaoProximoESair(): Promise<void>;
157
- /**
158
- * Prepara a pilha de escopos para uma situação de depuração.
159
- * Não há execução de código neste caso.
160
- * @param declaracoes Um vetor de declarações.
161
- */
162
- prepararParaDepuracao(declaracoes: Declaracao[]): void;
163
- private abrirNovoBlocoEscopo;
164
- /**
165
- * Interpretação utilizada pelo depurador para avaliar valores de variáveis.
166
- * Diferentemente da interpretação tradicional, não possui indicadores
167
- * de performance porque eles não fazem sentido aqui.
168
- * @param declaracoes Um vetor de declarações.
169
- * @returns Um objeto de retorno, com erros encontrados se houverem.
170
- */
171
- interpretar(declaracoes: Declaracao[], manterAmbiente?: boolean): Promise<RetornoInterpretadorInterface>;
172
- /**
173
- * Obtém o valor de uma variável por nome.
174
- * Em versões anteriores, o mecanismo de avaliação fazia toda a avaliação tradicional,
175
- * passando por Lexador, Avaliador Sintático e Interpretador.
176
- * Isso tem sua cota de problemas, sobretudo porque a avaliação insere e descarta escopos,
177
- * entrando em condição de corrida com a interpretação com depuração.
178
- * @param nome O nome da variável.
179
- */
180
- obterVariavel(nome: string): any;
181
- }
182
- //# sourceMappingURL=interpretador-com-depuracao.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpretador-com-depuracao.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-depuracao.ts"],"names":[],"mappings":"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"}