@designliquido/delegua 0.67.1 → 0.69.0
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.
- package/analisador-semantico/analisador-semantico-base.d.ts +2 -1
- package/analisador-semantico/analisador-semantico-base.d.ts.map +1 -1
- package/analisador-semantico/analisador-semantico-base.js +3 -0
- package/analisador-semantico/analisador-semantico-base.js.map +1 -1
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts +2 -1
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts.map +1 -1
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +11 -0
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.d.ts +15 -12
- package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.js +120 -79
- package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +2 -2
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +71 -15
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.d.ts +11 -6
- package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.js +81 -41
- package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.js.map +1 -1
- package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.d.ts +5 -0
- package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js +46 -5
- package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js.map +1 -1
- package/avaliador-sintatico/pilha-escopos.d.ts +1 -0
- package/avaliador-sintatico/pilha-escopos.d.ts.map +1 -1
- package/avaliador-sintatico/pilha-escopos.js +9 -0
- package/avaliador-sintatico/pilha-escopos.js.map +1 -1
- package/bin/package.json +1 -1
- package/construtos/acesso-intervalo-variavel.d.ts +20 -0
- package/construtos/acesso-intervalo-variavel.d.ts.map +1 -0
- package/construtos/acesso-intervalo-variavel.js +35 -0
- package/construtos/acesso-intervalo-variavel.js.map +1 -0
- package/construtos/ajuda-como-construto.d.ts +18 -0
- package/construtos/ajuda-como-construto.d.ts.map +1 -0
- package/construtos/ajuda-como-construto.js +32 -0
- package/construtos/ajuda-como-construto.js.map +1 -0
- package/construtos/index.d.ts +2 -0
- package/construtos/index.d.ts.map +1 -1
- package/construtos/index.js +2 -0
- package/construtos/index.js.map +1 -1
- package/declaracoes/ajuda.d.ts +13 -0
- package/declaracoes/ajuda.d.ts.map +1 -0
- package/declaracoes/ajuda.js +25 -0
- package/declaracoes/ajuda.js.map +1 -0
- package/declaracoes/index.d.ts +1 -0
- package/declaracoes/index.d.ts.map +1 -1
- package/declaracoes/index.js +1 -0
- package/declaracoes/index.js.map +1 -1
- package/declaracoes/var.d.ts +1 -0
- package/declaracoes/var.d.ts.map +1 -1
- package/declaracoes/var.js +1 -0
- package/declaracoes/var.js.map +1 -1
- package/formatadores/formatador-delegua.d.ts +2 -1
- package/formatadores/formatador-delegua.d.ts.map +1 -1
- package/formatadores/formatador-delegua.js +3 -0
- package/formatadores/formatador-delegua.js.map +1 -1
- package/formatadores/formatador-pitugues.d.ts +2 -1
- package/formatadores/formatador-pitugues.d.ts.map +1 -1
- package/formatadores/formatador-pitugues.js +6 -0
- package/formatadores/formatador-pitugues.js.map +1 -1
- package/inferenciador.d.ts.map +1 -1
- package/inferenciador.js +2 -0
- package/inferenciador.js.map +1 -1
- package/interfaces/visitante-comum-interface.d.ts +2 -1
- package/interfaces/visitante-comum-interface.d.ts.map +1 -1
- package/interfaces/visitante-delegua-interface.d.ts +4 -2
- package/interfaces/visitante-delegua-interface.d.ts.map +1 -1
- package/interpretador/comum.d.ts +1 -0
- package/interpretador/comum.d.ts.map +1 -1
- package/interpretador/comum.js +300 -0
- package/interpretador/comum.js.map +1 -1
- package/interpretador/depuracao/comum.d.ts +11 -1
- package/interpretador/depuracao/comum.d.ts.map +1 -1
- package/interpretador/depuracao/comum.js +53 -0
- package/interpretador/depuracao/comum.js.map +1 -1
- package/interpretador/depuracao/interpretador-com-depuracao.d.ts +10 -1
- package/interpretador/depuracao/interpretador-com-depuracao.d.ts.map +1 -1
- package/interpretador/depuracao/interpretador-com-depuracao.js +11 -0
- package/interpretador/depuracao/interpretador-com-depuracao.js.map +1 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +2 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts.map +1 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +3 -0
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +2 -1
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts.map +1 -1
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +5 -0
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
- package/interpretador/dialetos/pitugues/comum.d.ts +2 -1
- package/interpretador/dialetos/pitugues/comum.d.ts.map +1 -1
- package/interpretador/dialetos/pitugues/comum.js +19 -0
- package/interpretador/dialetos/pitugues/comum.js.map +1 -1
- package/interpretador/dialetos/pitugues/interpretador-pitugues-com-depuracao.d.ts +2 -1
- package/interpretador/dialetos/pitugues/interpretador-pitugues-com-depuracao.d.ts.map +1 -1
- package/interpretador/dialetos/pitugues/interpretador-pitugues-com-depuracao.js +3 -0
- package/interpretador/dialetos/pitugues/interpretador-pitugues-com-depuracao.js.map +1 -1
- package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts +2 -1
- package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts.map +1 -1
- package/interpretador/dialetos/pitugues/interpretador-pitugues.js +3 -0
- package/interpretador/dialetos/pitugues/interpretador-pitugues.js.map +1 -1
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +2 -1
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts.map +1 -1
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +6 -1
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
- package/interpretador/interpretador-base.d.ts +7 -1
- package/interpretador/interpretador-base.d.ts.map +1 -1
- package/interpretador/interpretador-base.js +12 -4
- package/interpretador/interpretador-base.js.map +1 -1
- package/interpretador/interpretador.d.ts +11 -2
- package/interpretador/interpretador.d.ts.map +1 -1
- package/interpretador/interpretador.js +25 -0
- package/interpretador/interpretador.js.map +1 -1
- package/interpretador/pilha-escopos-execucao.js +1 -1
- package/interpretador/pilha-escopos-execucao.js.map +1 -1
- package/lexador/dialetos/lexador-pitugues.d.ts +1 -1
- package/lexador/dialetos/lexador-pitugues.d.ts.map +1 -1
- package/lexador/dialetos/lexador-pitugues.js +20 -3
- package/lexador/dialetos/lexador-pitugues.js.map +1 -1
- package/lexador/palavras-reservadas.d.ts +1 -0
- package/lexador/palavras-reservadas.d.ts.map +1 -1
- package/lexador/palavras-reservadas.js +1 -0
- package/lexador/palavras-reservadas.js.map +1 -1
- package/package.json +1 -1
- package/tipos-de-simbolos/delegua.d.ts +2 -1
- package/tipos-de-simbolos/delegua.d.ts.map +1 -1
- package/tipos-de-simbolos/delegua.js +2 -1
- package/tipos-de-simbolos/delegua.js.map +1 -1
- package/tipos-de-simbolos/pitugues.d.ts +1 -0
- package/tipos-de-simbolos/pitugues.d.ts.map +1 -1
- package/tipos-de-simbolos/pitugues.js +1 -0
- package/tipos-de-simbolos/pitugues.js.map +1 -1
- package/tradutores/tradutor-assembly-x64.js +122 -122
- package/umd/delegua.js +1775 -710
package/interpretador/comum.js
CHANGED
|
@@ -34,8 +34,10 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.carregarBibliotecasGlobais = carregarBibliotecasGlobais;
|
|
37
|
+
exports.obterTopicoAjuda = obterTopicoAjuda;
|
|
37
38
|
const funcao_padrao_1 = require("./estruturas/funcao-padrao");
|
|
38
39
|
const bibliotecaGlobal = __importStar(require("../bibliotecas/biblioteca-global"));
|
|
40
|
+
const construtos_1 = require("../construtos");
|
|
39
41
|
function carregarBibliotecasGlobais(pilhaEscoposExecucao) {
|
|
40
42
|
pilhaEscoposExecucao.definirVariavel('aleatorio', new funcao_padrao_1.FuncaoPadrao(1, bibliotecaGlobal.aleatorio));
|
|
41
43
|
pilhaEscoposExecucao.definirVariavel('aleatorioEntre', new funcao_padrao_1.FuncaoPadrao(2, bibliotecaGlobal.aleatorioEntre));
|
|
@@ -62,4 +64,302 @@ function carregarBibliotecasGlobais(pilhaEscoposExecucao) {
|
|
|
62
64
|
pilhaEscoposExecucao.definirVariavel('todosEmCondicao', new funcao_padrao_1.FuncaoPadrao(2, bibliotecaGlobal.todosEmCondicao));
|
|
63
65
|
pilhaEscoposExecucao.definirVariavel('tupla', new funcao_padrao_1.FuncaoPadrao(1, bibliotecaGlobal.tupla));
|
|
64
66
|
}
|
|
67
|
+
function obterTopicoAjuda(topico) {
|
|
68
|
+
switch (topico.constructor) {
|
|
69
|
+
case construtos_1.Leia:
|
|
70
|
+
return `A instrução 'leia' permite capturar a entrada do usuário durante a execução do programa. ` +
|
|
71
|
+
`Você pode usar 'leia()' para ler uma linha de entrada do usuário e armazená-la em uma variável. ` +
|
|
72
|
+
`Exemplo de uso:\n\n` +
|
|
73
|
+
`\tvar minhaVariavel = leia()\n\n` +
|
|
74
|
+
`Isto irá ler a entrada do usuário e atribuí-la à variável 'minhaVariavel'.`;
|
|
75
|
+
case funcao_padrao_1.FuncaoPadrao:
|
|
76
|
+
return obterAjudaFuncaoPadrao(topico);
|
|
77
|
+
default:
|
|
78
|
+
console.log(topico);
|
|
79
|
+
return `Desculpe, não há documentação disponível para o tópico solicitado no momento.`;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function obterAjudaFuncaoPadrao(funcaoPadrao) {
|
|
83
|
+
// Tentamos identificar a função pela aridade e pela implementação
|
|
84
|
+
const aridade = funcaoPadrao.valorAridade;
|
|
85
|
+
const implementacao = funcaoPadrao.funcao;
|
|
86
|
+
// Mapeamento de funções por nome
|
|
87
|
+
const nomeFuncao = Object.keys(bibliotecaGlobal).find(key => bibliotecaGlobal[key] === implementacao);
|
|
88
|
+
if (!nomeFuncao) {
|
|
89
|
+
return 'Função não identificada. Não há documentação disponível.';
|
|
90
|
+
}
|
|
91
|
+
switch (nomeFuncao) {
|
|
92
|
+
case 'aleatorio':
|
|
93
|
+
return `# aleatorio()\n\n` +
|
|
94
|
+
`Retorna um número aleatório entre 0 e 1.\n\n` +
|
|
95
|
+
`**Sintaxe:** aleatorio()\n\n` +
|
|
96
|
+
`**Retorno:** Número real entre 0 (inclusivo) e 1 (exclusivo).\n\n` +
|
|
97
|
+
`**Exemplo:**\n` +
|
|
98
|
+
`\tvar numeroSorteado = aleatorio()\n` +
|
|
99
|
+
`\tescreva(numeroSorteado) // Pode retornar algo como 0.4829374657\n`;
|
|
100
|
+
case 'aleatorioEntre':
|
|
101
|
+
return `# aleatorioEntre(minimo, maximo)\n\n` +
|
|
102
|
+
`Retorna um número aleatório inteiro de acordo com os parâmetros passados.\n` +
|
|
103
|
+
`Mínimo (inclusivo) - Máximo (exclusivo).\n\n` +
|
|
104
|
+
`**Sintaxe:** aleatorioEntre(minimo: número, maximo: número)\n\n` +
|
|
105
|
+
`**Parâmetros:**\n` +
|
|
106
|
+
` - minimo: O valor mínimo (inclusivo)\n` +
|
|
107
|
+
` - maximo: O valor máximo (exclusivo)\n\n` +
|
|
108
|
+
`**Retorno:** Número inteiro entre minimo e maximo-1.\n\n` +
|
|
109
|
+
`**Exemplo:**\n` +
|
|
110
|
+
`\tvar dado = aleatorioEntre(1, 7)\n` +
|
|
111
|
+
`\tescreva(dado) // Retorna um número entre 1 e 6\n`;
|
|
112
|
+
case 'algum':
|
|
113
|
+
return `# algum(vetor, funcaoPesquisa)\n\n` +
|
|
114
|
+
`Verifica se algum dos elementos do vetor satisfaz a condição definida pela função de pesquisa.\n\n` +
|
|
115
|
+
`**Sintaxe:** algum(vetor: qualquer[], funcaoPesquisa: função)\n\n` +
|
|
116
|
+
`**Parâmetros:**\n` +
|
|
117
|
+
` - vetor: Um vetor de elementos\n` +
|
|
118
|
+
` - funcaoPesquisa: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
|
|
119
|
+
`**Retorno:** Verdadeiro se pelo menos um elemento satisfaz a condição, falso caso contrário.\n\n` +
|
|
120
|
+
`**Exemplo:**\n` +
|
|
121
|
+
`\tvar numeros = [1, 2, 3, 4, 5]\n` +
|
|
122
|
+
`\tvar temPar = algum(numeros, funcao(n) { retorna n % 2 == 0 })\n` +
|
|
123
|
+
`\tescreva(temPar) // verdadeiro\n`;
|
|
124
|
+
case 'clonar':
|
|
125
|
+
return `# clonar(valor)\n\n` +
|
|
126
|
+
`Clona profundamente uma variável ou constante em Delégua, criando uma cópia independente.\n\n` +
|
|
127
|
+
`**Sintaxe:** clonar(valor: qualquer)\n\n` +
|
|
128
|
+
`**Parâmetros:**\n` +
|
|
129
|
+
` - valor: O valor a ser clonado (vetor, dicionário, objeto, tupla, etc.)\n\n` +
|
|
130
|
+
`**Retorno:** Uma cópia profunda do valor fornecido.\n\n` +
|
|
131
|
+
`**Exemplo:**\n` +
|
|
132
|
+
`\tvar original = [1, 2, [3, 4]]\n` +
|
|
133
|
+
`\tvar copia = clonar(original)\n` +
|
|
134
|
+
`\tcopia[2][0] = 99\n` +
|
|
135
|
+
`\tescreva(original[2][0]) // 3 (não foi modificado)\n` +
|
|
136
|
+
`\tescreva(copia[2][0]) // 99\n`;
|
|
137
|
+
case 'encontrar':
|
|
138
|
+
return `# encontrar(vetor, funcaoPesquisa)\n\n` +
|
|
139
|
+
`Encontra o primeiro elemento de um vetor cuja função de pesquisa retorne verdadeiro.\n\n` +
|
|
140
|
+
`**Sintaxe:** encontrar(vetor: qualquer[], funcaoPesquisa: função)\n\n` +
|
|
141
|
+
`**Parâmetros:**\n` +
|
|
142
|
+
` - vetor: Um vetor de elementos\n` +
|
|
143
|
+
` - funcaoPesquisa: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
|
|
144
|
+
`**Retorno:** O primeiro elemento que satisfaz a condição, ou nulo se nenhum elemento for encontrado.\n\n` +
|
|
145
|
+
`**Exemplo:**\n` +
|
|
146
|
+
`\tvar numeros = [1, 3, 5, 8, 10]\n` +
|
|
147
|
+
`\tvar primeiroPar = encontrar(numeros, funcao(n) { retorna n % 2 == 0 })\n` +
|
|
148
|
+
`\tescreva(primeiroPar) // 8\n`;
|
|
149
|
+
case 'encontrarIndice':
|
|
150
|
+
return `# encontrarIndice(vetor, funcaoPesquisa)\n\n` +
|
|
151
|
+
`Encontra o índice do primeiro elemento de um vetor cuja função de pesquisa retorne verdadeiro.\n\n` +
|
|
152
|
+
`**Sintaxe:** encontrarIndice(vetor: qualquer[], funcaoPesquisa: função)\n\n` +
|
|
153
|
+
`**Parâmetros:**\n` +
|
|
154
|
+
` - vetor: Um vetor de elementos\n` +
|
|
155
|
+
` - funcaoPesquisa: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
|
|
156
|
+
`**Retorno:** O índice do primeiro elemento que satisfaz a condição, ou -1 se nenhum elemento for encontrado.\n\n` +
|
|
157
|
+
`**Exemplo:**\n` +
|
|
158
|
+
`\tvar frutas = ["maçã", "banana", "laranja"]\n` +
|
|
159
|
+
`\tvar indice = encontrarIndice(frutas, funcao(f) { retorna f == "banana" })\n` +
|
|
160
|
+
`\tescreva(indice) // 1\n`;
|
|
161
|
+
case 'encontrarUltimo':
|
|
162
|
+
return `# encontrarUltimo(vetor, funcaoPesquisa)\n\n` +
|
|
163
|
+
`Encontra o último elemento de um vetor cuja função de pesquisa retorne verdadeiro.\n\n` +
|
|
164
|
+
`**Sintaxe:** encontrarUltimo(vetor: qualquer[], funcaoPesquisa: função)\n\n` +
|
|
165
|
+
`**Parâmetros:**\n` +
|
|
166
|
+
` - vetor: Um vetor de elementos\n` +
|
|
167
|
+
` - funcaoPesquisa: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
|
|
168
|
+
`**Retorno:** O último elemento que satisfaz a condição, ou nulo se nenhum elemento for encontrado.\n\n` +
|
|
169
|
+
`**Exemplo:**\n` +
|
|
170
|
+
`\tvar numeros = [2, 4, 6, 7, 9]\n` +
|
|
171
|
+
`\tvar ultimoPar = encontrarUltimo(numeros, funcao(n) { retorna n % 2 == 0 })\n` +
|
|
172
|
+
`\tescreva(ultimoPar) // 6\n`;
|
|
173
|
+
case 'encontrarUltimoIndice':
|
|
174
|
+
return `# encontrarUltimoIndice(vetor, funcaoPesquisa)\n\n` +
|
|
175
|
+
`Encontra o índice do último elemento de um vetor cuja função de pesquisa retorne verdadeiro.\n\n` +
|
|
176
|
+
`**Sintaxe:** encontrarUltimoIndice(vetor: qualquer[], funcaoPesquisa: função)\n\n` +
|
|
177
|
+
`**Parâmetros:**\n` +
|
|
178
|
+
` - vetor: Um vetor de elementos\n` +
|
|
179
|
+
` - funcaoPesquisa: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
|
|
180
|
+
`**Retorno:** O índice do último elemento que satisfaz a condição, ou nulo se nenhum elemento for encontrado.\n\n` +
|
|
181
|
+
`**Exemplo:**\n` +
|
|
182
|
+
`\tvar numeros = [2, 4, 6, 7, 9]\n` +
|
|
183
|
+
`\tvar indiceUltimoPar = encontrarUltimoIndice(numeros, funcao(n) { retorna n % 2 == 0 })\n` +
|
|
184
|
+
`\tescreva(indiceUltimoPar) // 2\n`;
|
|
185
|
+
case 'filtrarPor':
|
|
186
|
+
return `# filtrarPor(vetor, funcaoFiltragem)\n\n` +
|
|
187
|
+
`Cria um novo vetor com todos os elementos que passam no teste implementado pela função de filtragem.\n\n` +
|
|
188
|
+
`**Sintaxe:** filtrarPor(vetor: qualquer[], funcaoFiltragem: função)\n\n` +
|
|
189
|
+
`**Parâmetros:**\n` +
|
|
190
|
+
` - vetor: Um vetor de elementos\n` +
|
|
191
|
+
` - funcaoFiltragem: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
|
|
192
|
+
`**Retorno:** Novo vetor contendo apenas os elementos que satisfazem a condição.\n\n` +
|
|
193
|
+
`**Exemplo:**\n` +
|
|
194
|
+
`\tvar numeros = [1, 2, 3, 4, 5, 6]\n` +
|
|
195
|
+
`\tvar pares = filtrarPor(numeros, funcao(n) { retorna n % 2 == 0 })\n` +
|
|
196
|
+
`\tescreva(pares) // [2, 4, 6]\n`;
|
|
197
|
+
case 'incluido':
|
|
198
|
+
return `# incluido(vetor, valor)\n\n` +
|
|
199
|
+
`Verifica se um valor está incluído em um vetor.\n\n` +
|
|
200
|
+
`**Sintaxe:** incluido(vetor: qualquer[], valor: qualquer)\n\n` +
|
|
201
|
+
`**Parâmetros:**\n` +
|
|
202
|
+
` - vetor: Um vetor de elementos\n` +
|
|
203
|
+
` - valor: O valor a ser procurado\n\n` +
|
|
204
|
+
`**Retorno:** Verdadeiro se o valor estiver no vetor, falso caso contrário.\n\n` +
|
|
205
|
+
`**Exemplo:**\n` +
|
|
206
|
+
`\tvar frutas = ["maçã", "banana", "laranja"]\n` +
|
|
207
|
+
`\tescreva(incluido(frutas, "banana")) // verdadeiro\n` +
|
|
208
|
+
`\tescreva(incluido(frutas, "uva")) // falso\n`;
|
|
209
|
+
case 'inteiro':
|
|
210
|
+
return `# inteiro(valor)\n\n` +
|
|
211
|
+
`Converte um valor em um número inteiro.\n\n` +
|
|
212
|
+
`**Sintaxe:** inteiro(valor: número | texto)\n\n` +
|
|
213
|
+
`**Parâmetros:**\n` +
|
|
214
|
+
` - valor: O valor a ser convertido (número ou texto)\n\n` +
|
|
215
|
+
`**Retorno:** Número inteiro correspondente ao valor fornecido.\n\n` +
|
|
216
|
+
`**Exemplo:**\n` +
|
|
217
|
+
`\tescreva(inteiro(3.14)) // 3\n` +
|
|
218
|
+
`\tescreva(inteiro("42")) // 42\n` +
|
|
219
|
+
`\tescreva(inteiro("3.99")) // 3\n`;
|
|
220
|
+
case 'intervalo':
|
|
221
|
+
return `# intervalo(valorInicial, valorFinal)\n\n` +
|
|
222
|
+
`Cria um vetor com números inteiros no intervalo especificado.\n` +
|
|
223
|
+
`O valor inicial é inclusivo e o valor final é exclusivo.\n\n` +
|
|
224
|
+
`**Sintaxe:** intervalo(valorInicial: número, valorFinal: número)\n\n` +
|
|
225
|
+
`**Parâmetros:**\n` +
|
|
226
|
+
` - valorInicial: O valor inicial (inclusivo)\n` +
|
|
227
|
+
` - valorFinal: O valor final (exclusivo)\n\n` +
|
|
228
|
+
`**Retorno:** Vetor com os números no intervalo especificado.\n\n` +
|
|
229
|
+
`**Exemplo:**\n` +
|
|
230
|
+
`\tvar numeros = intervalo(1, 6)\n` +
|
|
231
|
+
`\tescreva(numeros) // [1, 2, 3, 4, 5]\n`;
|
|
232
|
+
case 'mapear':
|
|
233
|
+
return `# mapear(vetor, funcaoMapeamento)\n\n` +
|
|
234
|
+
`Cria um novo vetor com os resultados da aplicação de uma função a cada elemento do vetor original.\n\n` +
|
|
235
|
+
`**Sintaxe:** mapear(vetor: qualquer[], funcaoMapeamento: função)\n\n` +
|
|
236
|
+
`**Parâmetros:**\n` +
|
|
237
|
+
` - vetor: Um vetor de elementos\n` +
|
|
238
|
+
` - funcaoMapeamento: Função que recebe um elemento e retorna um novo valor\n\n` +
|
|
239
|
+
`**Retorno:** Novo vetor com os valores transformados.\n\n` +
|
|
240
|
+
`**Exemplo:**\n` +
|
|
241
|
+
`\tvar numeros = [1, 2, 3, 4]\n` +
|
|
242
|
+
`\tvar quadrados = mapear(numeros, funcao(n) { retorna n * n })\n` +
|
|
243
|
+
`\tescreva(quadrados) // [1, 4, 9, 16]\n`;
|
|
244
|
+
case 'numero':
|
|
245
|
+
return `# numero(valor)\n\n` +
|
|
246
|
+
`Converte um valor em um número (pode ter parte decimal).\n\n` +
|
|
247
|
+
`**Sintaxe:** numero(valor: número | texto)\n\n` +
|
|
248
|
+
`**Parâmetros:**\n` +
|
|
249
|
+
` - valor: O valor a ser convertido\n\n` +
|
|
250
|
+
`**Retorno:** Número correspondente ao valor fornecido.\n\n` +
|
|
251
|
+
`**Exemplo:**\n` +
|
|
252
|
+
`\tescreva(numero("3.14")) // 3.14\n` +
|
|
253
|
+
`\tescreva(numero("42")) // 42\n` +
|
|
254
|
+
`\tescreva(numero(5)) // 5\n`;
|
|
255
|
+
case 'ordenar':
|
|
256
|
+
return `# ordenar(vetor)\n\n` +
|
|
257
|
+
`Ordena os elementos de um vetor em ordem crescente (números) ou alfabética (textos).\n\n` +
|
|
258
|
+
`**Sintaxe:** ordenar(vetor: qualquer[])\n\n` +
|
|
259
|
+
`**Parâmetros:**\n` +
|
|
260
|
+
` - vetor: Um vetor de elementos\n\n` +
|
|
261
|
+
`**Retorno:** O mesmo vetor, agora ordenado.\n\n` +
|
|
262
|
+
`**Exemplo:**\n` +
|
|
263
|
+
`\tvar numeros = [5, 2, 8, 1, 9]\n` +
|
|
264
|
+
`\tordenar(numeros)\n` +
|
|
265
|
+
`\tescreva(numeros) // [1, 2, 5, 8, 9]\n`;
|
|
266
|
+
case 'paraCada':
|
|
267
|
+
return `# paraCada(vetor, funcao)\n\n` +
|
|
268
|
+
`Executa uma função para cada elemento do vetor.\n\n` +
|
|
269
|
+
`**Sintaxe:** paraCada(vetor: qualquer[], funcao: função)\n\n` +
|
|
270
|
+
`**Parâmetros:**\n` +
|
|
271
|
+
` - vetor: Um vetor de elementos\n` +
|
|
272
|
+
` - funcao: Função a ser executada para cada elemento\n\n` +
|
|
273
|
+
`**Retorno:** Nenhum (undefined).\n\n` +
|
|
274
|
+
`**Exemplo:**\n` +
|
|
275
|
+
`\tvar nomes = ["Ana", "Bruno", "Carlos"]\n` +
|
|
276
|
+
`\tparaCada(nomes, funcao(nome) {\n` +
|
|
277
|
+
`\t\tescreva("Olá, " + nome)\n` +
|
|
278
|
+
`\t})\n`;
|
|
279
|
+
case 'primeiroEmCondicao':
|
|
280
|
+
return `# primeiroEmCondicao(vetor, funcaoFiltragem)\n\n` +
|
|
281
|
+
`Retorna o primeiro elemento que satisfaz a condição especificada pela função de filtragem.\n\n` +
|
|
282
|
+
`**Sintaxe:** primeiroEmCondicao(vetor: qualquer[], funcaoFiltragem: função)\n\n` +
|
|
283
|
+
`**Parâmetros:**\n` +
|
|
284
|
+
` - vetor: Um vetor de elementos\n` +
|
|
285
|
+
` - funcaoFiltragem: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
|
|
286
|
+
`**Retorno:** O primeiro elemento que satisfaz a condição, ou undefined se nenhum for encontrado.\n\n` +
|
|
287
|
+
`**Exemplo:**\n` +
|
|
288
|
+
`\tvar numeros = [1, 3, 5, 8, 10]\n` +
|
|
289
|
+
`\tvar resultado = primeiroEmCondicao(numeros, funcao(n) { retorna n > 5 })\n` +
|
|
290
|
+
`\tescreva(resultado) // 8\n`;
|
|
291
|
+
case 'real':
|
|
292
|
+
return `# real(valor)\n\n` +
|
|
293
|
+
`Converte um valor em um número real (ponto flutuante).\n\n` +
|
|
294
|
+
`**Sintaxe:** real(valor: número | texto)\n\n` +
|
|
295
|
+
`**Parâmetros:**\n` +
|
|
296
|
+
` - valor: O valor a ser convertido\n\n` +
|
|
297
|
+
`**Retorno:** Número real correspondente ao valor fornecido.\n\n` +
|
|
298
|
+
`**Exemplo:**\n` +
|
|
299
|
+
`\tescreva(real("3.14")) // 3.14\n` +
|
|
300
|
+
`\tescreva(real(42)) // 42.0\n`;
|
|
301
|
+
case 'reduzir':
|
|
302
|
+
return `# reduzir(vetor, funcaoReducao, valorInicial)\n\n` +
|
|
303
|
+
`Aplica uma função a um acumulador e cada elemento do vetor para reduzi-lo a um único valor.\n\n` +
|
|
304
|
+
`**Sintaxe:** reduzir(vetor: qualquer[], funcaoReducao: função, valorInicial?: qualquer)\n\n` +
|
|
305
|
+
`**Parâmetros:**\n` +
|
|
306
|
+
` - vetor: Um vetor de elementos\n` +
|
|
307
|
+
` - funcaoReducao: Função que recebe (acumulador, elemento) e retorna novo valor do acumulador\n` +
|
|
308
|
+
` - valorInicial: (Opcional) Valor inicial do acumulador\n\n` +
|
|
309
|
+
`**Retorno:** Valor final do acumulador.\n\n` +
|
|
310
|
+
`**Exemplo:**\n` +
|
|
311
|
+
`\tvar numeros = [1, 2, 3, 4]\n` +
|
|
312
|
+
`\tvar soma = reduzir(numeros, funcao(acc, n) { retorna acc + n }, 0)\n` +
|
|
313
|
+
`\tescreva(soma) // 10\n`;
|
|
314
|
+
case 'tamanho':
|
|
315
|
+
return `# tamanho(objeto)\n\n` +
|
|
316
|
+
`Retorna o tamanho de um objeto (vetor, texto, função, etc.).\n\n` +
|
|
317
|
+
`**Sintaxe:** tamanho(objeto: qualquer)\n\n` +
|
|
318
|
+
`**Parâmetros:**\n` +
|
|
319
|
+
` - objeto: O objeto cujo tamanho será medido\n\n` +
|
|
320
|
+
`**Retorno:** Para vetores e textos, retorna o número de elementos/caracteres. ` +
|
|
321
|
+
`Para funções, retorna o número de parâmetros.\n\n` +
|
|
322
|
+
`**Exemplo:**\n` +
|
|
323
|
+
`\tescreva(tamanho([1, 2, 3])) // 3\n` +
|
|
324
|
+
`\tescreva(tamanho("Delégua")) // 7\n`;
|
|
325
|
+
case 'texto':
|
|
326
|
+
return `# texto(valor)\n\n` +
|
|
327
|
+
`Transforma o valor ou variável em texto.\n\n` +
|
|
328
|
+
`**Sintaxe:** texto(valor: qualquer)\n\n` +
|
|
329
|
+
`**Parâmetros:**\n` +
|
|
330
|
+
` - valor: O valor a ser convertido em texto\n\n` +
|
|
331
|
+
`**Retorno:** Representação em texto do valor fornecido.\n\n` +
|
|
332
|
+
`**Exemplo:**\n` +
|
|
333
|
+
`\tescreva(texto(42)) // "42"\n` +
|
|
334
|
+
`\tescreva(texto(verdadeiro)) // "verdadeiro"\n` +
|
|
335
|
+
`\tescreva(texto([1, 2, 3])) // "[1, 2, 3]"\n`;
|
|
336
|
+
case 'todosEmCondicao':
|
|
337
|
+
return `# todosEmCondicao(vetor, funcaoCondicional)\n\n` +
|
|
338
|
+
`Retorna verdadeiro se todos os elementos do vetor satisfazem a condição especificada pela função.\n\n` +
|
|
339
|
+
`**Sintaxe:** todosEmCondicao(vetor: qualquer[], funcaoCondicional: função)\n\n` +
|
|
340
|
+
`**Parâmetros:**\n` +
|
|
341
|
+
` - vetor: Um vetor de elementos\n` +
|
|
342
|
+
` - funcaoCondicional: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
|
|
343
|
+
`**Retorno:** Verdadeiro se todos os elementos satisfazem a condição, falso caso contrário.\n\n` +
|
|
344
|
+
`**Exemplo:**\n` +
|
|
345
|
+
`\tvar numeros = [2, 4, 6, 8]\n` +
|
|
346
|
+
`\tvar todosPares = todosEmCondicao(numeros, funcao(n) { retorna n % 2 == 0 })\n` +
|
|
347
|
+
`\tescreva(todosPares) // verdadeiro\n`;
|
|
348
|
+
case 'tupla':
|
|
349
|
+
return `# tupla(vetor)\n\n` +
|
|
350
|
+
`Transforma um vetor de elementos em uma tupla de N elementos, sendo N a largura do vetor.\n` +
|
|
351
|
+
`Tuplas são estruturas imutáveis de tamanho fixo.\n\n` +
|
|
352
|
+
`**Sintaxe:** tupla(vetor: qualquer[])\n\n` +
|
|
353
|
+
`**Parâmetros:**\n` +
|
|
354
|
+
` - vetor: Um vetor com 2 a 10 elementos\n\n` +
|
|
355
|
+
`**Retorno:** Uma tupla (Dupla, Trio, Quarteto, etc.) correspondente ao vetor.\n\n` +
|
|
356
|
+
`**Exemplo:**\n` +
|
|
357
|
+
`\tvar coordenadas = tupla([10, 20])\n` +
|
|
358
|
+
`\tescreva(coordenadas.primeiro) // 10\n` +
|
|
359
|
+
`\tescreva(coordenadas.segundo) // 20\n`;
|
|
360
|
+
default:
|
|
361
|
+
return `Função global identificada, mas documentação específica não disponível.\n` +
|
|
362
|
+
`Aridade: ${aridade} parâmetro(s).`;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
65
365
|
//# sourceMappingURL=comum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Binario, Chamada, Construto } from '../../construtos';
|
|
2
|
-
import { Declaracao, Enquanto, Escreva, Para, Retorna } from '../../declaracoes';
|
|
2
|
+
import { Declaracao, Enquanto, Escreva, Para, Retorna, Tente } from '../../declaracoes';
|
|
3
3
|
import { InterpretadorComDepuracaoInterface } from '../../interfaces';
|
|
4
4
|
import { RetornoQuebra } from '../../quebras';
|
|
5
5
|
import { TipoEscopoExecucao } from '../../interfaces/escopo-execucao';
|
|
@@ -24,6 +24,16 @@ export declare function visitarDeclaracaoEnquanto(interpretador: InterpretadorCo
|
|
|
24
24
|
*/
|
|
25
25
|
export declare function visitarDeclaracaoEscreva(interpretador: InterpretadorComDepuracaoInterface, declaracao: Escreva): Promise<any>;
|
|
26
26
|
export declare function visitarDeclaracaoPara(interpretador: InterpretadorComDepuracaoInterface, declaracao: Para): Promise<any>;
|
|
27
|
+
/**
|
|
28
|
+
* Implementação de try-catch-finally para modo de depuração.
|
|
29
|
+
* Garante que o bloco finally só é executado após o bloco try ser completado.
|
|
30
|
+
* Em modo de passo, detecta quando um novo escopo foi criado e está incompleto,
|
|
31
|
+
* evitando que o finally seja empilhado prematuramente.
|
|
32
|
+
* @param interpretador O interpretador com depuração.
|
|
33
|
+
* @param declaracao A declaração tente-pegue-finalmente.
|
|
34
|
+
* @returns O valor retornado pela execução.
|
|
35
|
+
*/
|
|
36
|
+
export declare function visitarDeclaracaoTente(interpretador: InterpretadorComDepuracaoInterface, declaracao: Tente): Promise<any>;
|
|
27
37
|
/**
|
|
28
38
|
* Ao executar um retorno, manter o valor retornado no Interpretador para
|
|
29
39
|
* uso por linhas que foram executadas com o comando `próximo` do depurador.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comum.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/comum.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"comum.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/comum.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ exports.visitarExpressaoDeChamada = visitarExpressaoDeChamada;
|
|
|
8
8
|
exports.visitarDeclaracaoEnquanto = visitarDeclaracaoEnquanto;
|
|
9
9
|
exports.visitarDeclaracaoEscreva = visitarDeclaracaoEscreva;
|
|
10
10
|
exports.visitarDeclaracaoPara = visitarDeclaracaoPara;
|
|
11
|
+
exports.visitarDeclaracaoTente = visitarDeclaracaoTente;
|
|
11
12
|
exports.visitarExpressaoRetornar = visitarExpressaoRetornar;
|
|
12
13
|
exports.visitarExpressaoBinaria = visitarExpressaoBinaria;
|
|
13
14
|
exports.executarBloco = executarBloco;
|
|
@@ -219,6 +220,53 @@ async function visitarDeclaracaoPara(interpretador, declaracao) {
|
|
|
219
220
|
return retornoExecucao;
|
|
220
221
|
}
|
|
221
222
|
}
|
|
223
|
+
/**
|
|
224
|
+
* Implementação de try-catch-finally para modo de depuração.
|
|
225
|
+
* Garante que o bloco finally só é executado após o bloco try ser completado.
|
|
226
|
+
* Em modo de passo, detecta quando um novo escopo foi criado e está incompleto,
|
|
227
|
+
* evitando que o finally seja empilhado prematuramente.
|
|
228
|
+
* @param interpretador O interpretador com depuração.
|
|
229
|
+
* @param declaracao A declaração tente-pegue-finalmente.
|
|
230
|
+
* @returns O valor retornado pela execução.
|
|
231
|
+
*/
|
|
232
|
+
async function visitarDeclaracaoTente(interpretador, declaracao) {
|
|
233
|
+
let valorRetorno;
|
|
234
|
+
interpretador.emDeclaracaoTente = true;
|
|
235
|
+
// Captura o número de escopos antes de executar o bloco try
|
|
236
|
+
const escoposAntes = interpretador.pilhaEscoposExecucao.elementos();
|
|
237
|
+
try {
|
|
238
|
+
try {
|
|
239
|
+
valorRetorno = await interpretador.executarBloco(declaracao.caminhoTente);
|
|
240
|
+
}
|
|
241
|
+
catch (erro) {
|
|
242
|
+
if (declaracao.caminhoPegue !== null) {
|
|
243
|
+
if (Array.isArray(declaracao.caminhoPegue)) {
|
|
244
|
+
valorRetorno = await interpretador.executarBloco(declaracao.caminhoPegue);
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
const literalErro = new construtos_1.Literal(declaracao.hashArquivo, Number(declaracao.linha), erro.mensagem);
|
|
248
|
+
const chamadaPegue = new construtos_1.Chamada(declaracao.caminhoPegue.hashArquivo, declaracao.caminhoPegue, [literalErro]);
|
|
249
|
+
valorRetorno = await chamadaPegue.aceitar(interpretador);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
finally {
|
|
255
|
+
// Verifica se um novo escopo foi criado e ainda está ativo
|
|
256
|
+
// Se sim, NÃO executa o finally ainda (o escopo try não foi completado)
|
|
257
|
+
const escoposDepois = interpretador.pilhaEscoposExecucao.elementos();
|
|
258
|
+
const novoEscopoCriado = escoposDepois > escoposAntes;
|
|
259
|
+
// Só executa finally se:
|
|
260
|
+
// 1. Existe um bloco finally
|
|
261
|
+
// 2. Não há um novo escopo criado OU não estamos em modo de passo/adentrar
|
|
262
|
+
if (declaracao.caminhoFinalmente !== null &&
|
|
263
|
+
(!novoEscopoCriado || (interpretador.comando !== 'proximo' && interpretador.comando !== 'adentrarEscopo'))) {
|
|
264
|
+
valorRetorno = await interpretador.executarBloco(declaracao.caminhoFinalmente);
|
|
265
|
+
}
|
|
266
|
+
interpretador.emDeclaracaoTente = false;
|
|
267
|
+
}
|
|
268
|
+
return valorRetorno;
|
|
269
|
+
}
|
|
222
270
|
/**
|
|
223
271
|
* Ao executar um retorno, manter o valor retornado no Interpretador para
|
|
224
272
|
* uso por linhas que foram executadas com o comando `próximo` do depurador.
|
|
@@ -622,6 +670,11 @@ async function executarUltimoEscopoComandoContinuar(interpretador, manterEspacoM
|
|
|
622
670
|
return retornoExecucao;
|
|
623
671
|
}
|
|
624
672
|
catch (erro) {
|
|
673
|
+
// Se estamos dentro de uma declaração tente, re-lança o erro
|
|
674
|
+
// para que o bloco pegue possa capturá-lo
|
|
675
|
+
if (interpretador.emDeclaracaoTente) {
|
|
676
|
+
throw erro;
|
|
677
|
+
}
|
|
625
678
|
interpretador.erros.push(erro);
|
|
626
679
|
}
|
|
627
680
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/comum.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/comum.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Declaracao, Enquanto, Escreva, Para, Retorna } from '../../declaracoes';
|
|
1
|
+
import { Declaracao, Enquanto, Escreva, Para, Retorna, Tente } from '../../declaracoes';
|
|
2
2
|
import { PontoParada } from '../../depuracao';
|
|
3
3
|
import { ComandoDepurador, InterpretadorComDepuracaoInterface } from '../../interfaces';
|
|
4
4
|
import { TipoEscopoExecucao } from '../../interfaces/escopo-execucao';
|
|
@@ -130,6 +130,15 @@ export declare class InterpretadorComDepuracao extends Interpretador implements
|
|
|
130
130
|
* @param escopo Indica o escopo a ser visitado. Usado para construir uma pilha de chamadas do lado JS.
|
|
131
131
|
*/
|
|
132
132
|
instrucaoProximoESair(): Promise<void>;
|
|
133
|
+
/**
|
|
134
|
+
* Override para corrigir a ordem de execução de try-catch-finally em modo de depuração.
|
|
135
|
+
* Em modo normal, executarBloco() executa o bloco imediatamente.
|
|
136
|
+
* Em modo de depuração, executarBloco() apenas empilha o bloco para execução posterior.
|
|
137
|
+
* Isso causa um problema onde o bloco finalmente é empilhado antes do bloco tente ser executado.
|
|
138
|
+
* @param declaracao A declaração tente-pegue-finalmente.
|
|
139
|
+
* @returns O valor retornado pela execução.
|
|
140
|
+
*/
|
|
141
|
+
visitarDeclaracaoTente(declaracao: Tente): Promise<any>;
|
|
133
142
|
/**
|
|
134
143
|
* Prepara a pilha de escopos para uma situação de depuração.
|
|
135
144
|
* Não há execução de código neste caso.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-com-depuracao.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/interpretador-com-depuracao.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"interpretador-com-depuracao.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/interpretador-com-depuracao.ts"],"names":[],"mappings":"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"}
|
|
@@ -205,6 +205,17 @@ class InterpretadorComDepuracao extends interpretador_1.Interpretador {
|
|
|
205
205
|
async instrucaoProximoESair() {
|
|
206
206
|
comum.executarUltimoEscopoComandoContinuar(this, false, true);
|
|
207
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* Override para corrigir a ordem de execução de try-catch-finally em modo de depuração.
|
|
210
|
+
* Em modo normal, executarBloco() executa o bloco imediatamente.
|
|
211
|
+
* Em modo de depuração, executarBloco() apenas empilha o bloco para execução posterior.
|
|
212
|
+
* Isso causa um problema onde o bloco finalmente é empilhado antes do bloco tente ser executado.
|
|
213
|
+
* @param declaracao A declaração tente-pegue-finalmente.
|
|
214
|
+
* @returns O valor retornado pela execução.
|
|
215
|
+
*/
|
|
216
|
+
async visitarDeclaracaoTente(declaracao) {
|
|
217
|
+
return await comum.visitarDeclaracaoTente(this, declaracao);
|
|
218
|
+
}
|
|
208
219
|
/**
|
|
209
220
|
* Prepara a pilha de escopos para uma situação de depuração.
|
|
210
221
|
* Não há execução de código neste caso.
|