@designliquido/delegua 0.64.1 → 0.66.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/dialetos/analisador-semantico-pitugues.d.ts +83 -0
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts.map +1 -0
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +748 -0
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -0
- package/analisador-semantico/dialetos/index.d.ts +2 -0
- package/analisador-semantico/dialetos/index.d.ts.map +1 -0
- package/analisador-semantico/dialetos/index.js +18 -0
- package/analisador-semantico/dialetos/index.js.map +1 -0
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +3 -0
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +155 -50
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
- package/bin/package.json +1 -1
- package/interpretador/depuracao/avaliador-expressao-depuracao.d.ts +66 -0
- package/interpretador/depuracao/avaliador-expressao-depuracao.d.ts.map +1 -0
- package/interpretador/depuracao/avaliador-expressao-depuracao.js +145 -0
- package/interpretador/depuracao/avaliador-expressao-depuracao.js.map +1 -0
- package/interpretador/depuracao/comum.d.ts +11 -1
- package/interpretador/depuracao/comum.d.ts.map +1 -1
- package/interpretador/depuracao/comum.js +219 -3
- package/interpretador/depuracao/comum.js.map +1 -1
- package/interpretador/depuracao/index.d.ts +1 -0
- package/interpretador/depuracao/index.d.ts.map +1 -1
- package/interpretador/depuracao/index.js +1 -0
- package/interpretador/depuracao/index.js.map +1 -1
- package/interpretador/depuracao/interpretador-base-com-depuracao.d.ts +35 -3
- package/interpretador/depuracao/interpretador-base-com-depuracao.d.ts.map +1 -1
- package/interpretador/depuracao/interpretador-base-com-depuracao.js +50 -3
- package/interpretador/depuracao/interpretador-base-com-depuracao.js.map +1 -1
- package/interpretador/depuracao/interpretador-com-depuracao.d.ts +12 -3
- package/interpretador/depuracao/interpretador-com-depuracao.d.ts.map +1 -1
- package/interpretador/depuracao/interpretador-com-depuracao.js +27 -3
- package/interpretador/depuracao/interpretador-com-depuracao.js.map +1 -1
- package/interpretador/interpretador-base.d.ts.map +1 -1
- package/interpretador/interpretador-base.js +2 -0
- package/interpretador/interpretador-base.js.map +1 -1
- package/package.json +1 -1
- package/umd/delegua.js +157 -50
|
@@ -9,6 +9,7 @@ exports.visitarDeclaracaoEnquanto = visitarDeclaracaoEnquanto;
|
|
|
9
9
|
exports.visitarDeclaracaoEscreva = visitarDeclaracaoEscreva;
|
|
10
10
|
exports.visitarDeclaracaoPara = visitarDeclaracaoPara;
|
|
11
11
|
exports.visitarExpressaoRetornar = visitarExpressaoRetornar;
|
|
12
|
+
exports.visitarExpressaoBinaria = visitarExpressaoBinaria;
|
|
12
13
|
exports.executarBloco = executarBloco;
|
|
13
14
|
exports.executarUltimoEscopoComandoContinuar = executarUltimoEscopoComandoContinuar;
|
|
14
15
|
exports.instrucaoContinuarInterpretacao = instrucaoContinuarInterpretacao;
|
|
@@ -22,6 +23,8 @@ const declaracoes_1 = require("../../declaracoes");
|
|
|
22
23
|
const quebras_1 = require("../../quebras");
|
|
23
24
|
const inferenciador_1 = require("../../inferenciador");
|
|
24
25
|
const espaco_memoria_1 = require("../espaco-memoria");
|
|
26
|
+
const delegua_1 = __importDefault(require("../../tipos-de-simbolos/delegua"));
|
|
27
|
+
const delegua_2 = __importDefault(require("../../tipos-de-dados/delegua"));
|
|
25
28
|
async function avaliarArgumentosEscreva(interpretador, argumentos) {
|
|
26
29
|
let formatoTexto = '';
|
|
27
30
|
for (const argumento of argumentos) {
|
|
@@ -223,10 +226,19 @@ async function visitarDeclaracaoPara(interpretador, declaracao) {
|
|
|
223
226
|
* @returns O resultado da execução da visita.
|
|
224
227
|
*/
|
|
225
228
|
async function visitarExpressaoRetornar(interpretador, visitarExpressaoRetornarAncestral, declaracao) {
|
|
229
|
+
// Captura o escopo atual ANTES de avaliar a expressão,
|
|
230
|
+
// pois a avaliação pode abrir novos escopos
|
|
231
|
+
const escopoAtual = interpretador.pilhaEscoposExecucao.topoDaPilha();
|
|
226
232
|
const retorno = await visitarExpressaoRetornarAncestral(declaracao);
|
|
233
|
+
// Se o retorno é null ou RetornoQuebra com valor null (porque pausamos durante avaliação de expressão,
|
|
234
|
+
// como ao entrar em uma função em modo adentrarEscopo), não marcar como finalizado ainda
|
|
235
|
+
const valorRetorno = retorno && retorno.hasOwnProperty('valor') ? retorno.valor : retorno;
|
|
236
|
+
const novoEscopoFoiCriado = interpretador.pilhaEscoposExecucao.topoDaPilha() !== escopoAtual;
|
|
237
|
+
if (valorRetorno === null && interpretador.comando === 'adentrarEscopo' && novoEscopoFoiCriado) {
|
|
238
|
+
return retorno;
|
|
239
|
+
}
|
|
227
240
|
// O escopo atual é marcado como finalizado, para notificar a
|
|
228
241
|
// instrução de que deve ser descartado.
|
|
229
|
-
const escopoAtual = interpretador.pilhaEscoposExecucao.topoDaPilha();
|
|
230
242
|
escopoAtual.finalizado = true;
|
|
231
243
|
// Acha o primeiro escopo de função.
|
|
232
244
|
const escopoFuncao = interpretador.pilhaEscoposExecucao.obterEscopoPorTipo('funcao');
|
|
@@ -239,6 +251,190 @@ async function visitarExpressaoRetornar(interpretador, visitarExpressaoRetornarA
|
|
|
239
251
|
}
|
|
240
252
|
return retorno;
|
|
241
253
|
}
|
|
254
|
+
// Contador global para gerar IDs únicos de expressões binárias
|
|
255
|
+
let contadorBinarioDebug = 0;
|
|
256
|
+
/**
|
|
257
|
+
* Gera um identificador único para uma expressão binária.
|
|
258
|
+
* Usado para armazenar estado de avaliação parcial durante step-into.
|
|
259
|
+
* Cada expressão binária recebe um ID único na primeira vez que é encontrada,
|
|
260
|
+
* evitando colisões entre expressões na mesma linha.
|
|
261
|
+
* @param expressao A expressão binária.
|
|
262
|
+
* @returns Um identificador único para esta instância de expressão.
|
|
263
|
+
*/
|
|
264
|
+
function gerarIdExpressaoBinaria(expressao) {
|
|
265
|
+
// Se a expressão já tem um ID de depuração, reutiliza
|
|
266
|
+
if (!expressao._debugId) {
|
|
267
|
+
// Gera um ID único usando um contador incremental
|
|
268
|
+
expressao._debugId = `binario_${++contadorBinarioDebug}`;
|
|
269
|
+
}
|
|
270
|
+
return expressao._debugId;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Sobrescreve a visita de expressão binária para permitir step-into em cada lado da expressão.
|
|
274
|
+
* Quando em modo de depuração com step-into, avalia o lado esquerdo primeiro e pausa.
|
|
275
|
+
* Na próxima execução, avalia o lado direito e completa a operação.
|
|
276
|
+
* @param interpretador O interpretador com depuração.
|
|
277
|
+
* @param visitarExpressaoBinariaAncestral Método ancestral para executar a lógica da operação.
|
|
278
|
+
* @param expressao A expressão binária.
|
|
279
|
+
* @returns O resultado da operação binária.
|
|
280
|
+
*/
|
|
281
|
+
async function visitarExpressaoBinaria(interpretador, expressao) {
|
|
282
|
+
const escopoAtual = interpretador.pilhaEscoposExecucao.topoDaPilha();
|
|
283
|
+
const idExpressao = gerarIdExpressaoBinaria(expressao);
|
|
284
|
+
const chaveEsquerda = `${idExpressao}_esquerda`;
|
|
285
|
+
// Verifica se já avaliamos o lado esquerdo
|
|
286
|
+
if (escopoAtual.espacoMemoria.resolucoesChamadas.hasOwnProperty(chaveEsquerda)) {
|
|
287
|
+
// Lado esquerdo já foi avaliado, agora avaliar o lado direito
|
|
288
|
+
const esquerda = escopoAtual.espacoMemoria.resolucoesChamadas[chaveEsquerda];
|
|
289
|
+
// Avalia o lado direito
|
|
290
|
+
const direita = await interpretador.avaliar(expressao.direita);
|
|
291
|
+
// Limpa o cache do lado esquerdo pois já usamos
|
|
292
|
+
delete escopoAtual.espacoMemoria.resolucoesChamadas[chaveEsquerda];
|
|
293
|
+
// Resolve os valores
|
|
294
|
+
const valorEsquerdo = interpretador.resolverValor(esquerda);
|
|
295
|
+
const valorDireito = interpretador.resolverValor(direita);
|
|
296
|
+
const tipoEsquerdo = (esquerda === null || esquerda === void 0 ? void 0 : esquerda.hasOwnProperty('tipo'))
|
|
297
|
+
? esquerda.tipo
|
|
298
|
+
: (0, inferenciador_1.inferirTipoVariavel)(esquerda);
|
|
299
|
+
const tipoDireito = (direita === null || direita === void 0 ? void 0 : direita.hasOwnProperty('tipo'))
|
|
300
|
+
? direita.tipo
|
|
301
|
+
: (0, inferenciador_1.inferirTipoVariavel)(direita);
|
|
302
|
+
// Executa a operação binária usando a lógica ancestral
|
|
303
|
+
// Criamos um objeto temporário com os valores já avaliados para evitar re-avaliação
|
|
304
|
+
const expressaoTemp = Object.assign(Object.assign({}, expressao), { esquerda: { valor: valorEsquerdo, tipo: tipoEsquerdo }, direita: { valor: valorDireito, tipo: tipoDireito } });
|
|
305
|
+
// Não podemos chamar o ancestral diretamente porque ele vai tentar avaliar novamente
|
|
306
|
+
// Em vez disso, precisamos executar a operação diretamente
|
|
307
|
+
return await executarOperacaoBinaria(interpretador, expressao, esquerda, direita, valorEsquerdo, valorDireito, tipoEsquerdo, tipoDireito);
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
// Rastreia o número de escopos antes de avaliar o lado esquerdo
|
|
311
|
+
const escoposAntes = interpretador.pilhaEscoposExecucao.elementos();
|
|
312
|
+
// Primeira avaliação - avaliar apenas o lado esquerdo
|
|
313
|
+
const esquerda = await interpretador.avaliar(expressao.esquerda);
|
|
314
|
+
// Armazena o resultado do lado esquerdo
|
|
315
|
+
escopoAtual.espacoMemoria.resolucoesChamadas[chaveEsquerda] = esquerda;
|
|
316
|
+
// Verifica se um novo escopo foi criado durante a avaliação do lado esquerdo
|
|
317
|
+
const escoposDepois = interpretador.pilhaEscoposExecucao.elementos();
|
|
318
|
+
const novoEscopoCriado = escoposDepois > escoposAntes;
|
|
319
|
+
// Se estamos em modo adentrarEscopo e um novo escopo foi aberto,
|
|
320
|
+
// a execução deve pausar aqui para permitir que o usuário adentre na função do lado esquerdo
|
|
321
|
+
// A próxima chamada a visitarExpressaoBinaria irá continuar do lado direito
|
|
322
|
+
if (interpretador.comando === 'adentrarEscopo' && novoEscopoCriado) {
|
|
323
|
+
// Retorna um valor temporário, a avaliação será completada na próxima execução
|
|
324
|
+
return null;
|
|
325
|
+
}
|
|
326
|
+
// Verifica se devemos continuar ou pausar
|
|
327
|
+
// Se pontoDeParadaAtivo foi ativado durante a avaliação do lado esquerdo, devemos retornar
|
|
328
|
+
if (interpretador.pontoDeParadaAtivo) {
|
|
329
|
+
// Retorna um valor temporário, a avaliação será completada na próxima execução
|
|
330
|
+
return null;
|
|
331
|
+
}
|
|
332
|
+
// Se não há pausa e não entramos em novo escopo, continuar com a avaliação do lado direito
|
|
333
|
+
const direita = await interpretador.avaliar(expressao.direita);
|
|
334
|
+
// Limpa o cache já que completamos a avaliação
|
|
335
|
+
delete escopoAtual.espacoMemoria.resolucoesChamadas[chaveEsquerda];
|
|
336
|
+
const valorEsquerdo = interpretador.resolverValor(esquerda);
|
|
337
|
+
const valorDireito = interpretador.resolverValor(direita);
|
|
338
|
+
const tipoEsquerdo = (esquerda === null || esquerda === void 0 ? void 0 : esquerda.hasOwnProperty('tipo'))
|
|
339
|
+
? esquerda.tipo
|
|
340
|
+
: (0, inferenciador_1.inferirTipoVariavel)(esquerda);
|
|
341
|
+
const tipoDireito = (direita === null || direita === void 0 ? void 0 : direita.hasOwnProperty('tipo'))
|
|
342
|
+
? direita.tipo
|
|
343
|
+
: (0, inferenciador_1.inferirTipoVariavel)(direita);
|
|
344
|
+
return await executarOperacaoBinaria(interpretador, expressao, esquerda, direita, valorEsquerdo, valorDireito, tipoEsquerdo, tipoDireito);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Executa a operação binária após ambos os lados terem sido avaliados.
|
|
349
|
+
* Contém a lógica de todas as operações binárias suportadas.
|
|
350
|
+
*/
|
|
351
|
+
async function executarOperacaoBinaria(interpretador, expressao, esquerda, direita, valorEsquerdo, valorDireito, tipoEsquerdo, tipoDireito) {
|
|
352
|
+
switch (expressao.operador.tipo) {
|
|
353
|
+
case delegua_1.default.EXPONENCIACAO:
|
|
354
|
+
interpretador.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
355
|
+
return Math.pow(valorEsquerdo, valorDireito);
|
|
356
|
+
case delegua_1.default.MAIOR:
|
|
357
|
+
if (interpretador.tiposNumericos.includes(tipoEsquerdo) &&
|
|
358
|
+
interpretador.tiposNumericos.includes(tipoDireito)) {
|
|
359
|
+
return Number(valorEsquerdo) > Number(valorDireito);
|
|
360
|
+
}
|
|
361
|
+
return String(valorEsquerdo) > String(valorDireito);
|
|
362
|
+
case delegua_1.default.MAIOR_IGUAL:
|
|
363
|
+
interpretador.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
364
|
+
return Number(valorEsquerdo) >= Number(valorDireito);
|
|
365
|
+
case delegua_1.default.MENOR:
|
|
366
|
+
if (interpretador.tiposNumericos.includes(tipoEsquerdo) &&
|
|
367
|
+
interpretador.tiposNumericos.includes(tipoDireito)) {
|
|
368
|
+
return Number(valorEsquerdo) < Number(valorDireito);
|
|
369
|
+
}
|
|
370
|
+
return String(valorEsquerdo) < String(valorDireito);
|
|
371
|
+
case delegua_1.default.MENOR_IGUAL:
|
|
372
|
+
interpretador.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
373
|
+
return Number(valorEsquerdo) <= Number(valorDireito);
|
|
374
|
+
case delegua_1.default.SUBTRACAO:
|
|
375
|
+
case delegua_1.default.MENOS_IGUAL:
|
|
376
|
+
interpretador.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
377
|
+
return Number(valorEsquerdo) - Number(valorDireito);
|
|
378
|
+
case delegua_1.default.ADICAO:
|
|
379
|
+
case delegua_1.default.MAIS_IGUAL:
|
|
380
|
+
if (Array.isArray(valorEsquerdo) && Array.isArray(valorDireito)) {
|
|
381
|
+
return valorEsquerdo.concat(valorDireito);
|
|
382
|
+
}
|
|
383
|
+
if (interpretador.tiposNumericos.includes(tipoEsquerdo) &&
|
|
384
|
+
interpretador.tiposNumericos.includes(tipoDireito)) {
|
|
385
|
+
return Number(valorEsquerdo) + Number(valorDireito);
|
|
386
|
+
}
|
|
387
|
+
if (tipoEsquerdo === 'qualquer' || tipoDireito === 'qualquer') {
|
|
388
|
+
return valorEsquerdo + valorDireito;
|
|
389
|
+
}
|
|
390
|
+
return interpretador.paraTexto(valorEsquerdo) + interpretador.paraTexto(valorDireito);
|
|
391
|
+
case delegua_1.default.DIVISAO:
|
|
392
|
+
case delegua_1.default.DIVISAO_IGUAL:
|
|
393
|
+
interpretador.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
394
|
+
return Number(valorEsquerdo) / Number(valorDireito);
|
|
395
|
+
case delegua_1.default.DIVISAO_INTEIRA:
|
|
396
|
+
case delegua_1.default.DIVISAO_INTEIRA_IGUAL:
|
|
397
|
+
interpretador.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
398
|
+
return Math.floor(Number(valorEsquerdo) / Number(valorDireito));
|
|
399
|
+
case delegua_1.default.MULTIPLICACAO:
|
|
400
|
+
case delegua_1.default.MULTIPLICACAO_IGUAL:
|
|
401
|
+
if (delegua_2.default && (tipoEsquerdo === delegua_2.default.TEXTO ||
|
|
402
|
+
tipoDireito === delegua_2.default.TEXTO)) {
|
|
403
|
+
if (tipoEsquerdo === delegua_2.default.TEXTO &&
|
|
404
|
+
tipoDireito === delegua_2.default.TEXTO) {
|
|
405
|
+
return Number(valorEsquerdo) * Number(valorDireito);
|
|
406
|
+
}
|
|
407
|
+
if (tipoEsquerdo === delegua_2.default.TEXTO) {
|
|
408
|
+
return valorEsquerdo.repeat(Number(valorDireito));
|
|
409
|
+
}
|
|
410
|
+
return valorDireito.repeat(Number(valorEsquerdo));
|
|
411
|
+
}
|
|
412
|
+
return Number(valorEsquerdo) * Number(valorDireito);
|
|
413
|
+
case delegua_1.default.MODULO:
|
|
414
|
+
case delegua_1.default.MODULO_IGUAL:
|
|
415
|
+
interpretador.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
416
|
+
return Number(valorEsquerdo) % Number(valorDireito);
|
|
417
|
+
case delegua_1.default.BIT_AND:
|
|
418
|
+
interpretador.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
419
|
+
return Number(valorEsquerdo) & Number(valorDireito);
|
|
420
|
+
case delegua_1.default.BIT_XOR:
|
|
421
|
+
interpretador.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
422
|
+
return Number(valorEsquerdo) ^ Number(valorDireito);
|
|
423
|
+
case delegua_1.default.BIT_OR:
|
|
424
|
+
interpretador.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
425
|
+
return Number(valorEsquerdo) | Number(valorDireito);
|
|
426
|
+
case delegua_1.default.MENOR_MENOR:
|
|
427
|
+
interpretador.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
428
|
+
return Number(valorEsquerdo) << Number(valorDireito);
|
|
429
|
+
case delegua_1.default.MAIOR_MAIOR:
|
|
430
|
+
interpretador.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
431
|
+
return Number(valorEsquerdo) >> Number(valorDireito);
|
|
432
|
+
case delegua_1.default.DIFERENTE:
|
|
433
|
+
return !interpretador.eIgual(valorEsquerdo, valorDireito);
|
|
434
|
+
case delegua_1.default.IGUAL_IGUAL:
|
|
435
|
+
return interpretador.eIgual(valorEsquerdo, valorDireito);
|
|
436
|
+
}
|
|
437
|
+
}
|
|
242
438
|
/**
|
|
243
439
|
* Se bloco de execução já foi instanciado antes (por exemplo, quando há um ponto de parada e a
|
|
244
440
|
* execução do código é retomada pelo depurador), retoma a execução do bloco do ponto em que havia parado.
|
|
@@ -327,11 +523,29 @@ function descartarTodosEscoposFinalizados(interpretador) {
|
|
|
327
523
|
}
|
|
328
524
|
async function executarUmPassoNoEscopo(interpretador) {
|
|
329
525
|
const ultimoEscopo = interpretador.pilhaEscoposExecucao.topoDaPilha();
|
|
526
|
+
// Rastreia quantos escopos existem antes da execução para detectar entrada em novo escopo
|
|
527
|
+
const escoposAntes = interpretador.pilhaEscoposExecucao.elementos();
|
|
330
528
|
let retornoExecucao;
|
|
331
529
|
if (interpretador.passos > 0) {
|
|
332
530
|
interpretador.passos--;
|
|
333
|
-
|
|
334
|
-
|
|
531
|
+
// Verifica se há ponto de parada antes de executar
|
|
532
|
+
const declaracaoAtual = ultimoEscopo.declaracoes[ultimoEscopo.declaracaoAtual];
|
|
533
|
+
interpretador.linhaDeclaracaoAtual = declaracaoAtual.linha;
|
|
534
|
+
interpretador.hashArquivoDeclaracaoAtual = declaracaoAtual.hashArquivo;
|
|
535
|
+
interpretador.pontoDeParadaAtivo = verificarPontoParada(interpretador, declaracaoAtual);
|
|
536
|
+
if (interpretador.pontoDeParadaAtivo) {
|
|
537
|
+
interpretador.avisoPontoParadaAtivado();
|
|
538
|
+
return retornoExecucao;
|
|
539
|
+
}
|
|
540
|
+
retornoExecucao = await interpretador.executar(declaracaoAtual);
|
|
541
|
+
// Verifica se entramos em um novo escopo durante a execução
|
|
542
|
+
const escoposDepois = interpretador.pilhaEscoposExecucao.elementos();
|
|
543
|
+
const entroEmNovoEscopo = escoposDepois > escoposAntes;
|
|
544
|
+
// Não incrementa se:
|
|
545
|
+
// - Há um ponto de parada ativo
|
|
546
|
+
// - Estamos em um laço de repetição (o laço gerencia a iteração)
|
|
547
|
+
// - Entramos em um novo escopo (precisamos executar o novo escopo antes de avançar)
|
|
548
|
+
if (!interpretador.pontoDeParadaAtivo && !ultimoEscopo.emLacoRepeticao && !entroEmNovoEscopo) {
|
|
335
549
|
ultimoEscopo.declaracaoAtual++;
|
|
336
550
|
}
|
|
337
551
|
if (ultimoEscopo.declaracaoAtual >= ultimoEscopo.declaracoes.length ||
|
|
@@ -433,6 +647,8 @@ async function instrucaoContinuarInterpretacao(interpretador, escopo = 1) {
|
|
|
433
647
|
* @param escopo Indica o escopo a ser visitado. Usado para construir uma pilha de chamadas do lado JS.
|
|
434
648
|
*/
|
|
435
649
|
async function instrucaoPasso(interpretador, escopo = 1) {
|
|
650
|
+
// Limpa o ponto de parada para permitir a execução
|
|
651
|
+
interpretador.pontoDeParadaAtivo = false;
|
|
436
652
|
interpretador.passos = 1;
|
|
437
653
|
const escopoVisitado = interpretador.pilhaEscoposExecucao.naPosicao(escopo);
|
|
438
654
|
if (escopo < interpretador.escopoAtual) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/comum.ts"],"names":[],"mappings":";;;;;AAkGA,0BAgBC;AAED,8DAgBC;AAED,8DA0CC;AASD,4DAsBC;AAED,sDAyEC;AAQD,4DAwBC;AAYD,sCAmEC;AAyFD,oFAqEC;AAWD,0EAaC;AAQD,wCAuBC;AAWD,oDAgBC;AAcD,oDAyBC;AAYD,sCAgBC;AA5rBD,oDAAuB;AAEvB,iDAA4D;AAC5D,mDAAmG;AAKnG,2CAAqF;AAGrF,uDAA0D;AAC1D,sDAAkD;AAElD,KAAK,UAAU,wBAAwB,CACnC,aAAiD,EACjD,UAAuB;IAEvB,IAAI,YAAY,GAAW,EAAE,CAAC;IAE9B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAC5D,YAAY,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;IACzD,CAAC;IAED,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,KAAU;IAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,uBAAuB,CAClC,aAAiD,EACjD,SAAkB;IAElB,MAAM,oBAAoB,GAAG,EAAE,CAAC;IAChC,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,KAAK,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,SAAS,YAAY,iBAAI,EAAE,CAAC;gBAC5B,oBAAoB,CAAC,IAAI,CAAC,QAAQ,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACJ,oBAAoB,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,oBAAoB,CAAC,MAAM,CAC9B,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,CACtB,CAAC,UAAU,IAAI,IAAI,eAAe,CAC9B,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAClE,EAAE,CAAC,EACR,SAAS,CAAC,EAAE,CACf,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CACzB,aAAiD,EACjD,UAAsB;IAEtB,MAAM,gBAAgB,GAAkB,aAAa,CAAC,YAAY,CAAC,MAAM,CACrE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK,CAC/F,CAAC;IAEF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,sCAAsC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,OAAO,CACzB,aAAiD,EACjD,SAAiC;IAEjC,IAAI,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QACrE,MAAM,sBAAsB,GAAG,MAAM,uBAAuB,CACxD,aAAa,EACb,SAAoB,CACvB,CAAC;QACF,IAAI,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACtF,OAAO,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;QAChF,CAAC;IACL,CAAC;IAED,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAClD,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAC3C,aAAiD,EACjD,kCAAwE,EACxE,SAAkB;IAElB,MAAM,uBAAuB,GAAG,MAAM,uBAAuB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACxF,mDAAmD;IACnD,aAAa,CAAC,cAAc,GAAG,uBAAuB,CAAC;IAEvD,aAAa,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,aAAa,GAAG,QAAQ,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,kCAAkC,CAAC,SAAS,CAAC,CAAC;IACpE,aAAa,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACxC,MAAM,WAAW,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACrE,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC;IAChF,OAAO,OAAO,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAC3C,aAAiD,EACjD,UAAoB;IAEpB,MAAM,WAAW,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACrE,QAAQ,aAAa,CAAC,OAAO,EAAE,CAAC;QAC5B,KAAK,SAAS;YACV,IAAI,aAAa,CAAC,WAAW,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAC9E,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC;gBACnC,OAAO,aAAa,CAAC,aAAa,CAAE,UAAU,CAAC,KAAe,CAAC,WAAW,CAAC,CAAC;YAChF,CAAC;YAED,WAAW,CAAC,eAAe,GAAG,KAAK,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB;YACI,IAAI,eAAoB,CAAC;YACzB,OACI,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,gBAAM,CAAC;gBACtE,CAAC,aAAa,CAAC,kBAAkB;gBACjC,aAAa,CAAC,WAAW,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAC7E,CAAC;gBACC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC;oBACD,eAAe,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACjE,IAAI,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,sBAAY,EAAE,CAAC;wBAC5E,OAAO,IAAI,CAAC;oBAChB,CAAC;oBAED,IACI,eAAe;wBACf,eAAe,CAAC,cAAc,YAAY,yBAAe,EAC3D,CAAC;wBACC,eAAe,GAAG,IAAI,CAAC;oBAC3B,CAAC;gBACL,CAAC;gBAAC,OAAO,IAAS,EAAE,CAAC;oBACjB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;YAED,WAAW,CAAC,eAAe,GAAG,KAAK,CAAC;YACpC,OAAO,eAAe,CAAC;IAC/B,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,wBAAwB,CAC1C,aAAiD,EACjD,UAAmB;IAEnB,IAAI,CAAC;QACD,MAAM,YAAY,GAAW,MAAM,wBAAwB,CACvD,aAAa,EACb,UAAU,CAAC,UAAU,CACxB,CAAC;QACF,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,aAAa,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,IAAS,EAAE,CAAC;QACjB,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;YACrB,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,WAAW,EAAE,UAAU,CAAC,WAAW;SACtC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,qBAAqB,CACvC,aAAiD,EACjD,UAAgB;IAEhB,yDAAyD;IACzD,8DAA8D;IAC9D,yEAAyE;IACzE,iEAAiE;IACjE,MAAM,eAAe,GAAG,gBAAC,CAAC,SAAS,CAAC,UAAU,CAAS,CAAC;IACxD,MAAM,aAAa,GAAG,eAAe,CAAC,KAAc,CAAC;IAErD,MAAM,uBAAuB,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC;QACxE,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;IAE/B,IAAI,uBAAuB,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,aAAa,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACrD,gDAAgD;QAChD,IAAI,eAAe,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YACvC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,uBAAS,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAED,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC;IACpC,MAAM,WAAW,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACrE,QAAQ,aAAa,CAAC,OAAO,EAAE,CAAC;QAC5B,KAAK,SAAS;YACV,IACI,eAAe,CAAC,QAAQ,KAAK,IAAI;gBACjC,aAAa,CAAC,WAAW,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,EAClF,CAAC;gBACC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC;gBAEnC,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBAC9E,OAAO,cAAc,CAAC;YAC1B,CAAC;YAED,WAAW,CAAC,eAAe,GAAG,KAAK,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB;YACI,IAAI,eAAoB,CAAC;YACzB,OACI,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,gBAAM,CAAC;gBACtE,CAAC,aAAa,CAAC,kBAAkB,EACnC,CAAC;gBACC,IACI,eAAe,CAAC,QAAQ,KAAK,IAAI;oBACjC,CAAC,aAAa,CAAC,WAAW,CACtB,MAAM,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CACxD,EACH,CAAC;oBACC,MAAM;gBACV,CAAC;gBAED,IAAI,CAAC;oBACD,eAAe,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;oBAC9D,IAAI,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,sBAAY,EAAE,CAAC;wBAC5E,OAAO,IAAI,CAAC;oBAChB,CAAC;oBAED,IACI,eAAe;wBACf,eAAe,CAAC,cAAc,YAAY,yBAAe,EAC3D,CAAC;wBACC,eAAe,GAAG,IAAI,CAAC;oBAC3B,CAAC;gBACL,CAAC;gBAAC,OAAO,IAAS,EAAE,CAAC;oBACjB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;YACD,uCAAuC;YACvC,OAAO,eAAe,CAAC;IAC/B,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,wBAAwB,CAC1C,aAAiD,EACjD,iCAAwE,EACxE,UAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,iCAAiC,CAAC,UAAU,CAAC,CAAC;IAEpE,6DAA6D;IAC7D,wCAAwC;IACxC,MAAM,WAAW,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACrE,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC;IAE9B,oCAAoC;IACpC,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACrF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,YAAY,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACvC,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,YAAY,CAAC,SAAS,CAAC;YAChE,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7E,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,aAAa,CAC/B,aAAiD,EACjD,WAAyB,EACzB,aAA6B;IAE7B,oCAAoC;IACpC,IAAI,aAAa,CAAC,WAAW,GAAG,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;QACjF,aAAa,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,SAAS,CAC9D,aAAa,CAAC,WAAW,CAC5B,CAAC;QACF,IAAI,eAAuD,CAAC;QAE5D,sEAAsE;QACtE,eAAe,GAAG,MAAM,aAAa,CAAC,QAAQ,CAC1C,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,CAC3D,CAAC;QACF,aAAa,CAAC,eAAe,EAAE,CAAC;QAEhC,OAEI,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,gBAAM,CAAC;YACtE,aAAa,CAAC,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,EAChE,aAAa,CAAC,eAAe,EAAE,EACjC,CAAC;YACC,MAAM,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACjF,aAAa,CAAC,oBAAoB,GAAG,eAAe,CAAC,KAAK,CAAC;YAC3D,aAAa,CAAC,0BAA0B,GAAG,eAAe,CAAC,WAAW,CAAC;YACvE,aAAa,CAAC,kBAAkB,GAAG,oBAAoB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAExF,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;gBACnC,aAAa,CAAC,uBAAuB,EAAE,CAAC;gBACxC,MAAM;YACV,CAAC;YAED,eAAe,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAEhE,qEAAqE;YACrE,yDAAyD;YACzD,qDAAqD;YACrD,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;gBACnC,aAAa,CAAC,uBAAuB,EAAE,CAAC;gBACxC,MAAM;YACV,CAAC;QACL,CAAC;QAED,aAAa,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;QACnD,aAAa,CAAC,WAAW,EAAE,CAAC;QAC5B,OAAO,eAAe,CAAC;IAC3B,CAAC;SAAM,CAAC;QACJ,oBAAoB,CAChB,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,CAAC,aAAa,IAAI,OAAO,CACzC,CAAC;QACF,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QACtE,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;YAC/B,YAAY,CAAC,SAAS,GAAG,aAAa,CAAC,cAAc,CAAC;YACtD,aAAa,CAAC,cAAc,GAAG,SAAS,CAAC;QAC7C,CAAC;QACD,aAAa,CAAC,aAAa,GAAG,SAAS,CAAC;QAExC,IAAI,aAAa,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;YAC7C,OAAO,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,CAAC,aAAiD;IACtF,IAAI,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACpE,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,aAAa,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;QACnD,MAAM,cAAc,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QACxE,cAAc,CAAC,aAAa,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAC3D,cAAc,CAAC,aAAa,CAAC,kBAAkB,EAC/C,YAAY,CAAC,aAAa,CAAC,kBAAkB,CAChD,CAAC;QACF,aAAa,CAAC,WAAW,EAAE,CAAC;QAC5B,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACpE,CAAC;IAED,aAAa,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;IACnD,MAAM,cAAc,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACxE,cAAc,CAAC,aAAa,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAC3D,cAAc,CAAC,aAAa,CAAC,kBAAkB,EAC/C,YAAY,CAAC,aAAa,CAAC,kBAAkB,CAChD,CAAC;IACF,aAAa,CAAC,WAAW,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,gCAAgC,CAAC,aAAiD;IACvF,IAAI,CAAC,GAAG,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACX,IAAI,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QACpE,IACI,YAAY,CAAC,eAAe,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM;YAC/D,YAAY,CAAC,UAAU,EACzB,CAAC;YACC,aAAa,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;YACnD,MAAM,cAAc,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;YACxE,cAAc,CAAC,aAAa,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAC3D,cAAc,CAAC,aAAa,CAAC,kBAAkB,EAC/C,YAAY,CAAC,aAAa,CAAC,kBAAkB,CAChD,CAAC;YACF,aAAa,CAAC,WAAW,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,MAAM;QACV,CAAC;QACD,CAAC,EAAE,CAAC;IACR,CAAC;AACL,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,aAAiD;IACpF,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACtE,IAAI,eAAoB,CAAC;IACzB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,aAAa,CAAC,MAAM,EAAE,CAAC;QACvB,eAAe,GAAG,MAAM,aAAa,CAAC,QAAQ,CAC1C,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CACzD,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,kBAAkB,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;YACrE,YAAY,CAAC,eAAe,EAAE,CAAC;QACnC,CAAC;QAED,IACI,YAAY,CAAC,eAAe,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM;YAC/D,YAAY,CAAC,UAAU,EACzB,CAAC;YACC,IAAI,eAAe,YAAY,uBAAa,EAAE,CAAC;gBAC3C,+BAA+B,CAAC,aAAa,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACJ,gCAAgC,CAAC,aAAa,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;QAED,IAAI,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;YACvD,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAC1C,CAAC;IACL,CAAC;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,oCAAoC,CACtD,aAAiD,EACjD,mBAAmB,GAAG,KAAK,EAC3B,4BAA4B,GAAG,KAAK;IAEpC,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACtE,IAAI,eAAuD,CAAC;IAE5D,IAAI,CAAC;QACD,OAEI,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,gBAAM,CAAC;YACtE,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,EAC9D,YAAY,CAAC,eAAe,EAAE,EAChC,CAAC;YACC,MAAM,eAAe,GAAG,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YAC/E,aAAa,CAAC,oBAAoB,GAAG,eAAe,CAAC,KAAK,CAAC;YAC3D,aAAa,CAAC,0BAA0B,GAAG,eAAe,CAAC,WAAW,CAAC;YAEvE,IAAI,4BAA4B,EAAE,CAAC;gBAC/B,4BAA4B,GAAG,KAAK,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACJ,aAAa,CAAC,kBAAkB,GAAG,oBAAoB,CACnD,aAAa,EACb,eAAe,CAClB,CAAC;gBAEF,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;oBACnC,aAAa,CAAC,uBAAuB,EAAE,CAAC;oBACxC,MAAM;gBACV,CAAC;YACL,CAAC;YAED,eAAe,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAEhE,qEAAqE;YACrE,yDAAyD;YACzD,qDAAqD;YACrD,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;gBACnC,aAAa,CAAC,uBAAuB,EAAE,CAAC;gBACxC,MAAM;YACV,CAAC;QACL,CAAC;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;IAAC,OAAO,IAAS,EAAE,CAAC;QACjB,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;YAAS,CAAC;QACP,IAAI,CAAC,aAAa,CAAC,kBAAkB,IAAI,aAAa,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;YAClF,aAAa,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;YACnD,MAAM,cAAc,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;YACxE,cAAc,CAAC,aAAa,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAC3D,cAAc,CAAC,aAAa,CAAC,kBAAkB,EAC/C,YAAY,CAAC,aAAa,CAAC,kBAAkB,CAChD,CAAC;YAEF,IAAI,mBAAmB,EAAE,CAAC;gBACtB,cAAc,CAAC,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAChD,cAAc,CAAC,aAAa,CAAC,OAAO,EACpC,YAAY,CAAC,aAAa,CAAC,OAAO,CACrC,CAAC;YACN,CAAC;YACD,aAAa,CAAC,WAAW,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;YACvD,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAC1C,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,+BAA+B,CACjD,aAAiD,EACjD,MAAM,GAAG,CAAC;IAEV,IAAI,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,+BAA+B,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;QACnC,OAAO;IACX,CAAC;IAED,MAAM,oCAAoC,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAChC,aAAiD,EACjD,MAAM,GAAG,CAAC;IAEV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,MAAM,cAAc,GAAG,aAAa,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAE5E,IAAI,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACJ,IACI,cAAc,CAAC,eAAe,IAAI,cAAc,CAAC,WAAW,CAAC,MAAM;YACnE,cAAc,CAAC,UAAU,EAC3B,CAAC;YACC,aAAa,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;QACvD,CAAC;QAED,IAAI,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,aAAa,CAAC,qBAAqB,EAAE,CAAC;QACjD,CAAC;QAED,MAAM,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAAC,aAAiD;IAClF,oCAAoC,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,oBAAoB,CAChC,aAAiD,EACjD,WAAyB,EACzB,aAA6B,EAC7B,aAAiC,OAAO;IAExC,MAAM,cAAc,GAAmB;QACnC,WAAW,EAAE,WAAW;QACxB,eAAe,EAAE,CAAC;QAClB,aAAa,EAAE,aAAa,IAAI,IAAI,8BAAa,EAAE;QACnD,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,KAAK;KACzB,CAAC;IACF,aAAa,CAAC,oBAAoB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC5D,aAAa,CAAC,WAAW,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,oBAAoB,CACtC,aAAiD,EACjD,mBAAmB,GAAG,KAAK,EAC3B,4BAA4B,GAAG,KAAK;IAEpC,QAAQ,aAAa,CAAC,OAAO,EAAE,CAAC;QAC5B,KAAK,gBAAgB,CAAC;QACtB,KAAK,SAAS;YACV,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;gBACnC,OAAO,uBAAuB,CAAC,aAAa,CAAC,CAAC;YAClD,CAAC;YAED,OAAO,oCAAoC,CACvC,aAAa,EACb,mBAAmB,EACnB,4BAA4B,CAC/B,CAAC;QAEN;YACI,OAAO,oCAAoC,CACvC,aAAa,EACb,mBAAmB,EACnB,4BAA4B,CAC/B,CAAC;IACV,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,aAAa,CACzB,aAAiD,EACjD,IAAY;IAEZ,MAAM,eAAe,GAAG,aAAa,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;QAC1E,MAAM,EAAE,IAAI;KACR,CAAQ,CAAC;IAEjB,IAAI,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,OAAO;QACH,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,IAAA,mCAAmB,EAAC,eAAe,CAAC;KAC7C,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/comum.ts"],"names":[],"mappings":";;;;;AAoGA,0BAgBC;AAED,8DAgBC;AAED,8DA0CC;AASD,4DAsBC;AAED,sDAyEC;AAQD,4DAoCC;AA+BD,0DAwGC;AA8ID,sCAmEC;AA8GD,oFAqEC;AAWD,0EAaC;AAQD,wCA0BC;AAWD,oDAgBC;AAcD,oDAyBC;AAYD,sCAgBC;AA3+BD,oDAAuB;AAEvB,iDAAqE;AACrE,mDAAmG;AAKnG,2CAAqF;AAGrF,uDAA0D;AAC1D,sDAAkD;AAClD,8EAA8D;AAC9D,2EAA8D;AAE9D,KAAK,UAAU,wBAAwB,CACnC,aAAiD,EACjD,UAAuB;IAEvB,IAAI,YAAY,GAAW,EAAE,CAAC;IAE9B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAC5D,YAAY,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;IACzD,CAAC;IAED,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,KAAU;IAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,uBAAuB,CAClC,aAAiD,EACjD,SAAkB;IAElB,MAAM,oBAAoB,GAAG,EAAE,CAAC;IAChC,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,KAAK,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,SAAS,YAAY,iBAAI,EAAE,CAAC;gBAC5B,oBAAoB,CAAC,IAAI,CAAC,QAAQ,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACJ,oBAAoB,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,oBAAoB,CAAC,MAAM,CAC9B,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,CACtB,CAAC,UAAU,IAAI,IAAI,eAAe,CAC9B,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAClE,EAAE,CAAC,EACR,SAAS,CAAC,EAAE,CACf,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CACzB,aAAiD,EACjD,UAAsB;IAEtB,MAAM,gBAAgB,GAAkB,aAAa,CAAC,YAAY,CAAC,MAAM,CACrE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK,CAC/F,CAAC;IAEF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,sCAAsC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,OAAO,CACzB,aAAiD,EACjD,SAAiC;IAEjC,IAAI,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QACrE,MAAM,sBAAsB,GAAG,MAAM,uBAAuB,CACxD,aAAa,EACb,SAAoB,CACvB,CAAC;QACF,IAAI,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACtF,OAAO,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;QAChF,CAAC;IACL,CAAC;IAED,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAClD,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAC3C,aAAiD,EACjD,kCAAwE,EACxE,SAAkB;IAElB,MAAM,uBAAuB,GAAG,MAAM,uBAAuB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACxF,mDAAmD;IACnD,aAAa,CAAC,cAAc,GAAG,uBAAuB,CAAC;IAEvD,aAAa,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,aAAa,GAAG,QAAQ,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,kCAAkC,CAAC,SAAS,CAAC,CAAC;IACpE,aAAa,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACxC,MAAM,WAAW,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACrE,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC;IAChF,OAAO,OAAO,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAC3C,aAAiD,EACjD,UAAoB;IAEpB,MAAM,WAAW,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACrE,QAAQ,aAAa,CAAC,OAAO,EAAE,CAAC;QAC5B,KAAK,SAAS;YACV,IAAI,aAAa,CAAC,WAAW,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAC9E,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC;gBACnC,OAAO,aAAa,CAAC,aAAa,CAAE,UAAU,CAAC,KAAe,CAAC,WAAW,CAAC,CAAC;YAChF,CAAC;YAED,WAAW,CAAC,eAAe,GAAG,KAAK,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB;YACI,IAAI,eAAoB,CAAC;YACzB,OACI,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,gBAAM,CAAC;gBACtE,CAAC,aAAa,CAAC,kBAAkB;gBACjC,aAAa,CAAC,WAAW,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAC7E,CAAC;gBACC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC;oBACD,eAAe,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACjE,IAAI,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,sBAAY,EAAE,CAAC;wBAC5E,OAAO,IAAI,CAAC;oBAChB,CAAC;oBAED,IACI,eAAe;wBACf,eAAe,CAAC,cAAc,YAAY,yBAAe,EAC3D,CAAC;wBACC,eAAe,GAAG,IAAI,CAAC;oBAC3B,CAAC;gBACL,CAAC;gBAAC,OAAO,IAAS,EAAE,CAAC;oBACjB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;YAED,WAAW,CAAC,eAAe,GAAG,KAAK,CAAC;YACpC,OAAO,eAAe,CAAC;IAC/B,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,wBAAwB,CAC1C,aAAiD,EACjD,UAAmB;IAEnB,IAAI,CAAC;QACD,MAAM,YAAY,GAAW,MAAM,wBAAwB,CACvD,aAAa,EACb,UAAU,CAAC,UAAU,CACxB,CAAC;QACF,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,aAAa,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,IAAS,EAAE,CAAC;QACjB,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;YACrB,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,WAAW,EAAE,UAAU,CAAC,WAAW;SACtC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,qBAAqB,CACvC,aAAiD,EACjD,UAAgB;IAEhB,yDAAyD;IACzD,8DAA8D;IAC9D,yEAAyE;IACzE,iEAAiE;IACjE,MAAM,eAAe,GAAG,gBAAC,CAAC,SAAS,CAAC,UAAU,CAAS,CAAC;IACxD,MAAM,aAAa,GAAG,eAAe,CAAC,KAAc,CAAC;IAErD,MAAM,uBAAuB,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC;QACxE,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;IAE/B,IAAI,uBAAuB,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,aAAa,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACrD,gDAAgD;QAChD,IAAI,eAAe,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YACvC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,uBAAS,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAED,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC;IACpC,MAAM,WAAW,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACrE,QAAQ,aAAa,CAAC,OAAO,EAAE,CAAC;QAC5B,KAAK,SAAS;YACV,IACI,eAAe,CAAC,QAAQ,KAAK,IAAI;gBACjC,aAAa,CAAC,WAAW,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,EAClF,CAAC;gBACC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC;gBAEnC,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBAC9E,OAAO,cAAc,CAAC;YAC1B,CAAC;YAED,WAAW,CAAC,eAAe,GAAG,KAAK,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB;YACI,IAAI,eAAoB,CAAC;YACzB,OACI,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,gBAAM,CAAC;gBACtE,CAAC,aAAa,CAAC,kBAAkB,EACnC,CAAC;gBACC,IACI,eAAe,CAAC,QAAQ,KAAK,IAAI;oBACjC,CAAC,aAAa,CAAC,WAAW,CACtB,MAAM,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CACxD,EACH,CAAC;oBACC,MAAM;gBACV,CAAC;gBAED,IAAI,CAAC;oBACD,eAAe,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;oBAC9D,IAAI,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,sBAAY,EAAE,CAAC;wBAC5E,OAAO,IAAI,CAAC;oBAChB,CAAC;oBAED,IACI,eAAe;wBACf,eAAe,CAAC,cAAc,YAAY,yBAAe,EAC3D,CAAC;wBACC,eAAe,GAAG,IAAI,CAAC;oBAC3B,CAAC;gBACL,CAAC;gBAAC,OAAO,IAAS,EAAE,CAAC;oBACjB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;YACD,uCAAuC;YACvC,OAAO,eAAe,CAAC;IAC/B,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,wBAAwB,CAC1C,aAAiD,EACjD,iCAAwE,EACxE,UAAmB;IAEnB,uDAAuD;IACvD,4CAA4C;IAC5C,MAAM,WAAW,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IAErE,MAAM,OAAO,GAAG,MAAM,iCAAiC,CAAC,UAAU,CAAC,CAAC;IAEpE,uGAAuG;IACvG,yFAAyF;IACzF,MAAM,YAAY,GAAG,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1F,MAAM,mBAAmB,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC;IAE7F,IAAI,YAAY,KAAK,IAAI,IAAI,aAAa,CAAC,OAAO,KAAK,gBAAgB,IAAI,mBAAmB,EAAE,CAAC;QAC7F,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,6DAA6D;IAC7D,wCAAwC;IACxC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC;IAE9B,oCAAoC;IACpC,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACrF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,YAAY,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACvC,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,YAAY,CAAC,SAAS,CAAC;YAChE,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7E,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,+DAA+D;AAC/D,IAAI,oBAAoB,GAAG,CAAC,CAAC;AAE7B;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,SAAc;IAC3C,sDAAsD;IACtD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACtB,kDAAkD;QAClD,SAAS,CAAC,QAAQ,GAAG,WAAW,EAAE,oBAAoB,EAAE,CAAC;IAC7D,CAAC;IACD,OAAO,SAAS,CAAC,QAAQ,CAAC;AAC9B,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,uBAAuB,CACzC,aAAiD,EACjD,SAAkB;IAElB,MAAM,WAAW,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACrE,MAAM,WAAW,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,GAAG,WAAW,WAAW,CAAC;IAEhD,2CAA2C;IAC3C,IAAI,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7E,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAE7E,wBAAwB;QACxB,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE/D,gDAAgD;QAChD,OAAO,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAEnE,qBAAqB;QACrB,MAAM,aAAa,GAAQ,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,YAAY,GAAQ,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAW,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,CAAC,MAAM,CAAC;YACzD,CAAC,CAAC,QAAQ,CAAC,IAAI;YACf,CAAC,CAAC,IAAA,mCAAmB,EAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,WAAW,GAAW,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAC,MAAM,CAAC;YACvD,CAAC,CAAC,OAAO,CAAC,IAAI;YACd,CAAC,CAAC,IAAA,mCAAmB,EAAC,OAAO,CAAC,CAAC;QAEnC,uDAAuD;QACvD,oFAAoF;QACpF,MAAM,aAAa,mCACZ,SAAS,KACZ,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,EACtD,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GACtD,CAAC;QAEF,qFAAqF;QACrF,2DAA2D;QAC3D,OAAO,MAAM,uBAAuB,CAChC,aAAa,EACb,SAAS,EACT,QAAQ,EACR,OAAO,EACP,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,CACd,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,gEAAgE;QAChE,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC;QAEpE,sDAAsD;QACtD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEjE,wCAAwC;QACxC,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC;QAEvE,6EAA6E;QAC7E,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC;QACrE,MAAM,gBAAgB,GAAG,aAAa,GAAG,YAAY,CAAC;QAEtD,iEAAiE;QACjE,6FAA6F;QAC7F,4EAA4E;QAC5E,IAAI,aAAa,CAAC,OAAO,KAAK,gBAAgB,IAAI,gBAAgB,EAAE,CAAC;YACjE,+EAA+E;YAC/E,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,0CAA0C;QAC1C,2FAA2F;QAC3F,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;YACnC,+EAA+E;YAC/E,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,2FAA2F;QAC3F,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE/D,+CAA+C;QAC/C,OAAO,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAEnE,MAAM,aAAa,GAAQ,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,YAAY,GAAQ,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAW,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,CAAC,MAAM,CAAC;YACzD,CAAC,CAAC,QAAQ,CAAC,IAAI;YACf,CAAC,CAAC,IAAA,mCAAmB,EAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,WAAW,GAAW,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAC,MAAM,CAAC;YACvD,CAAC,CAAC,OAAO,CAAC,IAAI;YACd,CAAC,CAAC,IAAA,mCAAmB,EAAC,OAAO,CAAC,CAAC;QAEnC,OAAO,MAAM,uBAAuB,CAChC,aAAa,EACb,SAAS,EACT,QAAQ,EACR,OAAO,EACP,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,CACd,CAAC;IACN,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,uBAAuB,CAClC,aAAkB,EAClB,SAAkB,EAClB,QAAmB,EACnB,OAAkB,EAClB,aAAkB,EAClB,YAAiB,EACjB,YAAoB,EACpB,WAAmB;IAEnB,QAAQ,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9B,KAAK,iBAAe,CAAC,aAAa;YAC9B,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAEjD,KAAK,iBAAe,CAAC,KAAK;YACtB,IACI,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACnD,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,EACpD,CAAC;gBACC,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAExD,KAAK,iBAAe,CAAC,WAAW;YAC5B,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;QAEzD,KAAK,iBAAe,CAAC,KAAK;YACtB,IACI,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACnD,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,EACpD,CAAC;gBACC,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAExD,KAAK,iBAAe,CAAC,WAAW;YAC5B,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;QAEzD,KAAK,iBAAe,CAAC,SAAS,CAAC;QAC/B,KAAK,iBAAe,CAAC,WAAW;YAC5B,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAExD,KAAK,iBAAe,CAAC,MAAM,CAAC;QAC5B,KAAK,iBAAe,CAAC,UAAU;YAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9D,OAAO,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;YACD,IACI,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACnD,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,EACpD,CAAC;gBACC,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,YAAY,KAAK,UAAU,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;gBAC5D,OAAO,aAAa,GAAG,YAAY,CAAC;YACxC,CAAC;YACD,OAAO,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAE1F,KAAK,iBAAe,CAAC,OAAO,CAAC;QAC7B,KAAK,iBAAe,CAAC,aAAa;YAC9B,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAExD,KAAK,iBAAe,CAAC,eAAe,CAAC;QACrC,KAAK,iBAAe,CAAC,qBAAqB;YACtC,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QAEpE,KAAK,iBAAe,CAAC,aAAa,CAAC;QACnC,KAAK,iBAAe,CAAC,mBAAmB;YACpC,IACI,iBAAkB,IAAI,CAClB,YAAY,KAAK,iBAAkB,CAAC,KAAK;gBACzC,WAAW,KAAK,iBAAkB,CAAC,KAAK,CAC3C,EACH,CAAC;gBACC,IACI,YAAY,KAAK,iBAAkB,CAAC,KAAK;oBACzC,WAAW,KAAK,iBAAkB,CAAC,KAAK,EAC1C,CAAC;oBACC,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBACxD,CAAC;gBACD,IAAI,YAAY,KAAK,iBAAkB,CAAC,KAAK,EAAE,CAAC;oBAC5C,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;gBACtD,CAAC;gBACD,OAAO,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAExD,KAAK,iBAAe,CAAC,MAAM,CAAC;QAC5B,KAAK,iBAAe,CAAC,YAAY;YAC7B,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAExD,KAAK,iBAAe,CAAC,OAAO;YACxB,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAExD,KAAK,iBAAe,CAAC,OAAO;YACxB,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAExD,KAAK,iBAAe,CAAC,MAAM;YACvB,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAExD,KAAK,iBAAe,CAAC,WAAW;YAC5B,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;QAEzD,KAAK,iBAAe,CAAC,WAAW;YAC5B,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;QAEzD,KAAK,iBAAe,CAAC,SAAS;YAC1B,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAE9D,KAAK,iBAAe,CAAC,WAAW;YAC5B,OAAO,aAAa,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,aAAa,CAC/B,aAAiD,EACjD,WAAyB,EACzB,aAA6B;IAE7B,oCAAoC;IACpC,IAAI,aAAa,CAAC,WAAW,GAAG,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;QACjF,aAAa,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,SAAS,CAC9D,aAAa,CAAC,WAAW,CAC5B,CAAC;QACF,IAAI,eAAuD,CAAC;QAE5D,sEAAsE;QACtE,eAAe,GAAG,MAAM,aAAa,CAAC,QAAQ,CAC1C,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,CAC3D,CAAC;QACF,aAAa,CAAC,eAAe,EAAE,CAAC;QAEhC,OAEI,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,gBAAM,CAAC;YACtE,aAAa,CAAC,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,EAChE,aAAa,CAAC,eAAe,EAAE,EACjC,CAAC;YACC,MAAM,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACjF,aAAa,CAAC,oBAAoB,GAAG,eAAe,CAAC,KAAK,CAAC;YAC3D,aAAa,CAAC,0BAA0B,GAAG,eAAe,CAAC,WAAW,CAAC;YACvE,aAAa,CAAC,kBAAkB,GAAG,oBAAoB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAExF,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;gBACnC,aAAa,CAAC,uBAAuB,EAAE,CAAC;gBACxC,MAAM;YACV,CAAC;YAED,eAAe,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAEhE,qEAAqE;YACrE,yDAAyD;YACzD,qDAAqD;YACrD,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;gBACnC,aAAa,CAAC,uBAAuB,EAAE,CAAC;gBACxC,MAAM;YACV,CAAC;QACL,CAAC;QAED,aAAa,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;QACnD,aAAa,CAAC,WAAW,EAAE,CAAC;QAC5B,OAAO,eAAe,CAAC;IAC3B,CAAC;SAAM,CAAC;QACJ,oBAAoB,CAChB,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,CAAC,aAAa,IAAI,OAAO,CACzC,CAAC;QACF,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QACtE,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;YAC/B,YAAY,CAAC,SAAS,GAAG,aAAa,CAAC,cAAc,CAAC;YACtD,aAAa,CAAC,cAAc,GAAG,SAAS,CAAC;QAC7C,CAAC;QACD,aAAa,CAAC,aAAa,GAAG,SAAS,CAAC;QAExC,IAAI,aAAa,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;YAC7C,OAAO,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,CAAC,aAAiD;IACtF,IAAI,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACpE,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,aAAa,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;QACnD,MAAM,cAAc,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QACxE,cAAc,CAAC,aAAa,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAC3D,cAAc,CAAC,aAAa,CAAC,kBAAkB,EAC/C,YAAY,CAAC,aAAa,CAAC,kBAAkB,CAChD,CAAC;QACF,aAAa,CAAC,WAAW,EAAE,CAAC;QAC5B,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACpE,CAAC;IAED,aAAa,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;IACnD,MAAM,cAAc,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACxE,cAAc,CAAC,aAAa,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAC3D,cAAc,CAAC,aAAa,CAAC,kBAAkB,EAC/C,YAAY,CAAC,aAAa,CAAC,kBAAkB,CAChD,CAAC;IACF,aAAa,CAAC,WAAW,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,gCAAgC,CAAC,aAAiD;IACvF,IAAI,CAAC,GAAG,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACX,IAAI,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QACpE,IACI,YAAY,CAAC,eAAe,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM;YAC/D,YAAY,CAAC,UAAU,EACzB,CAAC;YACC,aAAa,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;YACnD,MAAM,cAAc,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;YACxE,cAAc,CAAC,aAAa,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAC3D,cAAc,CAAC,aAAa,CAAC,kBAAkB,EAC/C,YAAY,CAAC,aAAa,CAAC,kBAAkB,CAChD,CAAC;YACF,aAAa,CAAC,WAAW,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,MAAM;QACV,CAAC;QACD,CAAC,EAAE,CAAC;IACR,CAAC;AACL,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,aAAiD;IACpF,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACtE,0FAA0F;IAC1F,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC;IAEpE,IAAI,eAAoB,CAAC;IACzB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,aAAa,CAAC,MAAM,EAAE,CAAC;QAEvB,mDAAmD;QACnD,MAAM,eAAe,GAAG,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAC/E,aAAa,CAAC,oBAAoB,GAAG,eAAe,CAAC,KAAK,CAAC;QAC3D,aAAa,CAAC,0BAA0B,GAAG,eAAe,CAAC,WAAW,CAAC;QACvE,aAAa,CAAC,kBAAkB,GAAG,oBAAoB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAExF,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;YACnC,aAAa,CAAC,uBAAuB,EAAE,CAAC;YACxC,OAAO,eAAe,CAAC;QAC3B,CAAC;QAED,eAAe,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAEhE,4DAA4D;QAC5D,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC;QACrE,MAAM,iBAAiB,GAAG,aAAa,GAAG,YAAY,CAAC;QAEvD,qBAAqB;QACrB,gCAAgC;QAChC,iEAAiE;QACjE,oFAAoF;QACpF,IAAI,CAAC,aAAa,CAAC,kBAAkB,IAAI,CAAC,YAAY,CAAC,eAAe,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3F,YAAY,CAAC,eAAe,EAAE,CAAC;QACnC,CAAC;QAED,IACI,YAAY,CAAC,eAAe,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM;YAC/D,YAAY,CAAC,UAAU,EACzB,CAAC;YACC,IAAI,eAAe,YAAY,uBAAa,EAAE,CAAC;gBAC3C,+BAA+B,CAAC,aAAa,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACJ,gCAAgC,CAAC,aAAa,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;QAED,IAAI,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;YACvD,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAC1C,CAAC;IACL,CAAC;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,oCAAoC,CACtD,aAAiD,EACjD,mBAAmB,GAAG,KAAK,EAC3B,4BAA4B,GAAG,KAAK;IAEpC,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACtE,IAAI,eAAuD,CAAC;IAE5D,IAAI,CAAC;QACD,OAEI,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,gBAAM,CAAC;YACtE,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,EAC9D,YAAY,CAAC,eAAe,EAAE,EAChC,CAAC;YACC,MAAM,eAAe,GAAG,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YAC/E,aAAa,CAAC,oBAAoB,GAAG,eAAe,CAAC,KAAK,CAAC;YAC3D,aAAa,CAAC,0BAA0B,GAAG,eAAe,CAAC,WAAW,CAAC;YAEvE,IAAI,4BAA4B,EAAE,CAAC;gBAC/B,4BAA4B,GAAG,KAAK,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACJ,aAAa,CAAC,kBAAkB,GAAG,oBAAoB,CACnD,aAAa,EACb,eAAe,CAClB,CAAC;gBAEF,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;oBACnC,aAAa,CAAC,uBAAuB,EAAE,CAAC;oBACxC,MAAM;gBACV,CAAC;YACL,CAAC;YAED,eAAe,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAEhE,qEAAqE;YACrE,yDAAyD;YACzD,qDAAqD;YACrD,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;gBACnC,aAAa,CAAC,uBAAuB,EAAE,CAAC;gBACxC,MAAM;YACV,CAAC;QACL,CAAC;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;IAAC,OAAO,IAAS,EAAE,CAAC;QACjB,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;YAAS,CAAC;QACP,IAAI,CAAC,aAAa,CAAC,kBAAkB,IAAI,aAAa,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;YAClF,aAAa,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;YACnD,MAAM,cAAc,GAAG,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;YACxE,cAAc,CAAC,aAAa,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAC3D,cAAc,CAAC,aAAa,CAAC,kBAAkB,EAC/C,YAAY,CAAC,aAAa,CAAC,kBAAkB,CAChD,CAAC;YAEF,IAAI,mBAAmB,EAAE,CAAC;gBACtB,cAAc,CAAC,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAChD,cAAc,CAAC,aAAa,CAAC,OAAO,EACpC,YAAY,CAAC,aAAa,CAAC,OAAO,CACrC,CAAC;YACN,CAAC;YACD,aAAa,CAAC,WAAW,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;YACvD,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAC1C,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,+BAA+B,CACjD,aAAiD,EACjD,MAAM,GAAG,CAAC;IAEV,IAAI,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,+BAA+B,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;QACnC,OAAO;IACX,CAAC;IAED,MAAM,oCAAoC,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAChC,aAAiD,EACjD,MAAM,GAAG,CAAC;IAEV,mDAAmD;IACnD,aAAa,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAEzC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,MAAM,cAAc,GAAG,aAAa,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAE5E,IAAI,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACJ,IACI,cAAc,CAAC,eAAe,IAAI,cAAc,CAAC,WAAW,CAAC,MAAM;YACnE,cAAc,CAAC,UAAU,EAC3B,CAAC;YACC,aAAa,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;QACvD,CAAC;QAED,IAAI,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,aAAa,CAAC,qBAAqB,EAAE,CAAC;QACjD,CAAC;QAED,MAAM,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAAC,aAAiD;IAClF,oCAAoC,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,oBAAoB,CAChC,aAAiD,EACjD,WAAyB,EACzB,aAA6B,EAC7B,aAAiC,OAAO;IAExC,MAAM,cAAc,GAAmB;QACnC,WAAW,EAAE,WAAW;QACxB,eAAe,EAAE,CAAC;QAClB,aAAa,EAAE,aAAa,IAAI,IAAI,8BAAa,EAAE;QACnD,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,KAAK;KACzB,CAAC;IACF,aAAa,CAAC,oBAAoB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC5D,aAAa,CAAC,WAAW,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,oBAAoB,CACtC,aAAiD,EACjD,mBAAmB,GAAG,KAAK,EAC3B,4BAA4B,GAAG,KAAK;IAEpC,QAAQ,aAAa,CAAC,OAAO,EAAE,CAAC;QAC5B,KAAK,gBAAgB,CAAC;QACtB,KAAK,SAAS;YACV,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;gBACnC,OAAO,uBAAuB,CAAC,aAAa,CAAC,CAAC;YAClD,CAAC;YAED,OAAO,oCAAoC,CACvC,aAAa,EACb,mBAAmB,EACnB,4BAA4B,CAC/B,CAAC;QAEN;YACI,OAAO,oCAAoC,CACvC,aAAa,EACb,mBAAmB,EACnB,4BAA4B,CAC/B,CAAC;IACV,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,aAAa,CACzB,aAAiD,EACjD,IAAY;IAEZ,MAAM,eAAe,GAAG,aAAa,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;QAC1E,MAAM,EAAE,IAAI;KACR,CAAQ,CAAC;IAEjB,IAAI,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,OAAO;QACH,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,IAAA,mCAAmB,EAAC,eAAe,CAAC;KAC7C,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC"}
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./avaliador-expressao-depuracao"), exports);
|
|
17
18
|
__exportStar(require("./interpretador-base-com-depuracao"), exports);
|
|
18
19
|
__exportStar(require("./interpretador-com-depuracao"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAmD;AACnD,gEAA8C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD;AAChD,qEAAmD;AACnD,gEAA8C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Chamada, Construto } from '../../construtos';
|
|
1
|
+
import { Binario, Chamada, Construto } from '../../construtos';
|
|
2
2
|
import { Declaracao, Enquanto, Escreva, Para, Retorna } from '../../declaracoes';
|
|
3
3
|
import { PontoParada } from '../../depuracao';
|
|
4
4
|
import { ComandoDepurador, InterpretadorComDepuracaoInterface, RetornoInterpretadorInterface } from '../../interfaces';
|
|
@@ -6,6 +6,29 @@ import { TipoEscopoExecucao } from '../../interfaces/escopo-execucao';
|
|
|
6
6
|
import { RetornoQuebra } from '../../quebras';
|
|
7
7
|
import { EspacoMemoria } from '../espaco-memoria';
|
|
8
8
|
import { InterpretadorBase } from '../interpretador-base';
|
|
9
|
+
/**
|
|
10
|
+
* Implementação do Interpretador Base com suporte a depuração.
|
|
11
|
+
* Herda o Interpretador Base e implementa métodos a mais, que são
|
|
12
|
+
* usados por ferramentas de depuração, como a [extensão de VSCode da Design Líquido](https://marketplace.visualstudio.com/items?itemName=designliquido.design-liquido).
|
|
13
|
+
* Este Interpretador Base com depuração é usado pela maioria dos dialetos de Delégua.
|
|
14
|
+
* Delégua e Pituguês utilizam uma outra implementação, o Interpretador com Depuração.
|
|
15
|
+
* Alguns métodos do Interpretador original, como `executarBloco` e `interpretar`,
|
|
16
|
+
* são reimplementados aqui.
|
|
17
|
+
*
|
|
18
|
+
* A separação entre `InterpretadorBase` e `InterpretadorBaseComDepuracao` se faz
|
|
19
|
+
* necessária por uma série de motivos.
|
|
20
|
+
* O primeiro deles é o desempenho. A depuração torna o desempenho do
|
|
21
|
+
* Interpretador com depuração inferior ao Interpretador original pelas
|
|
22
|
+
* várias verificações de controle que precisam ser feitas para a
|
|
23
|
+
* funcionalidade do suporte a depuração, como verificar pontos de parada,
|
|
24
|
+
* estados da pilha de execução e variáveis.
|
|
25
|
+
* O segundo deles é manter o Interpretador original tão simples quanto possível.
|
|
26
|
+
* Uma implementação mais simples normalmente é mais robusta.
|
|
27
|
+
* O terceiro deles é o uso de memória. O Interpretador original não possui
|
|
28
|
+
* uma série de variáveis implementadas aqui, o que o torna mais econômico em
|
|
29
|
+
* recursos de máquina.
|
|
30
|
+
* @see InterpretadorComDepuracao
|
|
31
|
+
*/
|
|
9
32
|
export declare class InterpretadorBaseComDepuracao extends InterpretadorBase implements InterpretadorComDepuracaoInterface {
|
|
10
33
|
comando?: ComandoDepurador;
|
|
11
34
|
pontoDeParadaAtivo: boolean;
|
|
@@ -29,6 +52,7 @@ export declare class InterpretadorBaseComDepuracao extends InterpretadorBase imp
|
|
|
29
52
|
*/
|
|
30
53
|
avaliar(expressao: Construto | Declaracao): Promise<any>;
|
|
31
54
|
visitarExpressaoDeChamada(expressao: Chamada): Promise<any>;
|
|
55
|
+
visitarExpressaoBinaria(expressao: Binario): Promise<any>;
|
|
32
56
|
visitarDeclaracaoEnquanto(declaracao: Enquanto): Promise<any>;
|
|
33
57
|
avaliarArgumentosEscreva(argumentos: Construto[]): Promise<string>;
|
|
34
58
|
/**
|
|
@@ -82,8 +106,16 @@ export declare class InterpretadorBaseComDepuracao extends InterpretadorBase imp
|
|
|
82
106
|
*/
|
|
83
107
|
instrucaoContinuarInterpretacao(escopo?: number): Promise<any>;
|
|
84
108
|
/**
|
|
85
|
-
* Empilha um escopo se for possível.
|
|
86
|
-
* Se
|
|
109
|
+
* Empilha um escopo se for possível (comando "Step Into" do depurador).
|
|
110
|
+
* Se a instrução corrente contém uma chamada de função, entra na função e pausa na primeira linha.
|
|
111
|
+
* Se não houver chamada de função, comporta-se como "próximo" (step over).
|
|
112
|
+
*
|
|
113
|
+
* Fluxo de execução:
|
|
114
|
+
* 1. Define o comando como 'adentrarEscopo'
|
|
115
|
+
* 2. Executa um passo (que pode ou não entrar em uma função)
|
|
116
|
+
* 3. Se entrou em função, o escopo da função fica no topo da pilha pronto para executar
|
|
117
|
+
* 4. Se não entrou, a instrução é executada normalmente
|
|
118
|
+
* 5. Ativa ponto de parada para aguardar próximo comando do usuário
|
|
87
119
|
*/
|
|
88
120
|
adentrarEscopo(): Promise<any>;
|
|
89
121
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-base-com-depuracao.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/interpretador-base-com-depuracao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"interpretador-base-com-depuracao.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/interpretador-base-com-depuracao.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.InterpretadorBaseComDepuracao = void 0;
|
|
37
37
|
const interpretador_base_1 = require("../interpretador-base");
|
|
38
38
|
const comum = __importStar(require("./comum"));
|
|
39
|
+
/**
|
|
40
|
+
* Implementação do Interpretador Base com suporte a depuração.
|
|
41
|
+
* Herda o Interpretador Base e implementa métodos a mais, que são
|
|
42
|
+
* usados por ferramentas de depuração, como a [extensão de VSCode da Design Líquido](https://marketplace.visualstudio.com/items?itemName=designliquido.design-liquido).
|
|
43
|
+
* Este Interpretador Base com depuração é usado pela maioria dos dialetos de Delégua.
|
|
44
|
+
* Delégua e Pituguês utilizam uma outra implementação, o Interpretador com Depuração.
|
|
45
|
+
* Alguns métodos do Interpretador original, como `executarBloco` e `interpretar`,
|
|
46
|
+
* são reimplementados aqui.
|
|
47
|
+
*
|
|
48
|
+
* A separação entre `InterpretadorBase` e `InterpretadorBaseComDepuracao` se faz
|
|
49
|
+
* necessária por uma série de motivos.
|
|
50
|
+
* O primeiro deles é o desempenho. A depuração torna o desempenho do
|
|
51
|
+
* Interpretador com depuração inferior ao Interpretador original pelas
|
|
52
|
+
* várias verificações de controle que precisam ser feitas para a
|
|
53
|
+
* funcionalidade do suporte a depuração, como verificar pontos de parada,
|
|
54
|
+
* estados da pilha de execução e variáveis.
|
|
55
|
+
* O segundo deles é manter o Interpretador original tão simples quanto possível.
|
|
56
|
+
* Uma implementação mais simples normalmente é mais robusta.
|
|
57
|
+
* O terceiro deles é o uso de memória. O Interpretador original não possui
|
|
58
|
+
* uma série de variáveis implementadas aqui, o que o torna mais econômico em
|
|
59
|
+
* recursos de máquina.
|
|
60
|
+
* @see InterpretadorComDepuracao
|
|
61
|
+
*/
|
|
39
62
|
class InterpretadorBaseComDepuracao extends interpretador_base_1.InterpretadorBase {
|
|
40
63
|
constructor(diretorioBase, funcaoDeRetorno, funcaoDeRetornoMesmaLinha) {
|
|
41
64
|
super(diretorioBase, false, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
|
|
@@ -63,6 +86,11 @@ class InterpretadorBaseComDepuracao extends interpretador_base_1.InterpretadorBa
|
|
|
63
86
|
async visitarExpressaoDeChamada(expressao) {
|
|
64
87
|
return await comum.visitarExpressaoDeChamada(this, super.visitarExpressaoDeChamada.bind(this), expressao);
|
|
65
88
|
}
|
|
89
|
+
async visitarExpressaoBinaria(expressao) {
|
|
90
|
+
return await comum.visitarExpressaoBinaria(this,
|
|
91
|
+
// super.visitarExpressaoBinaria.bind(this),
|
|
92
|
+
expressao);
|
|
93
|
+
}
|
|
66
94
|
async visitarDeclaracaoEnquanto(declaracao) {
|
|
67
95
|
return await comum.visitarDeclaracaoEnquanto(this, declaracao);
|
|
68
96
|
}
|
|
@@ -140,11 +168,30 @@ class InterpretadorBaseComDepuracao extends interpretador_base_1.InterpretadorBa
|
|
|
140
168
|
await comum.instrucaoContinuarInterpretacao(this, escopo);
|
|
141
169
|
}
|
|
142
170
|
/**
|
|
143
|
-
* Empilha um escopo se for possível.
|
|
144
|
-
* Se
|
|
171
|
+
* Empilha um escopo se for possível (comando "Step Into" do depurador).
|
|
172
|
+
* Se a instrução corrente contém uma chamada de função, entra na função e pausa na primeira linha.
|
|
173
|
+
* Se não houver chamada de função, comporta-se como "próximo" (step over).
|
|
174
|
+
*
|
|
175
|
+
* Fluxo de execução:
|
|
176
|
+
* 1. Define o comando como 'adentrarEscopo'
|
|
177
|
+
* 2. Executa um passo (que pode ou não entrar em uma função)
|
|
178
|
+
* 3. Se entrou em função, o escopo da função fica no topo da pilha pronto para executar
|
|
179
|
+
* 4. Se não entrou, a instrução é executada normalmente
|
|
180
|
+
* 5. Ativa ponto de parada para aguardar próximo comando do usuário
|
|
145
181
|
*/
|
|
146
182
|
async adentrarEscopo() {
|
|
147
|
-
|
|
183
|
+
// Define o comando para indicar modo "adentrar escopo"
|
|
184
|
+
this.comando = 'adentrarEscopo';
|
|
185
|
+
// Limpa ponto de parada para permitir execução
|
|
186
|
+
this.pontoDeParadaAtivo = false;
|
|
187
|
+
// Executa um passo (que pode entrar em uma função se houver chamada)
|
|
188
|
+
await this.instrucaoPasso();
|
|
189
|
+
// Após execução, pausa para aguardar próximo comando do usuário
|
|
190
|
+
// (a menos que um ponto de parada já tenha sido ativado durante a execução)
|
|
191
|
+
if (!this.pontoDeParadaAtivo) {
|
|
192
|
+
this.pontoDeParadaAtivo = true;
|
|
193
|
+
this.avisoPontoParadaAtivado();
|
|
194
|
+
}
|
|
148
195
|
}
|
|
149
196
|
/**
|
|
150
197
|
* Interpreta apenas uma instrução a partir do ponto de parada ativo, conforme comando do depurador.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-base-com-depuracao.js","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/interpretador-base-com-depuracao.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interpretador-base-com-depuracao.js","sourceRoot":"","sources":["../../../fontes/interpretador/depuracao/interpretador-base-com-depuracao.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { ComandoDepurador, InterpretadorComDepuracaoInterface } from '../../inte
|
|
|
4
4
|
import { TipoEscopoExecucao } from '../../interfaces/escopo-execucao';
|
|
5
5
|
import { RetornoQuebra } from '../../quebras';
|
|
6
6
|
import { RetornoInterpretadorInterface } from '../../interfaces/retornos/retorno-interpretador-interface';
|
|
7
|
-
import { Chamada, Construto } from '../../construtos';
|
|
7
|
+
import { Binario, Chamada, Construto } from '../../construtos';
|
|
8
8
|
import { Interpretador } from '../interpretador';
|
|
9
9
|
import { EspacoMemoria } from '../espaco-memoria';
|
|
10
10
|
/**
|
|
@@ -51,6 +51,7 @@ export declare class InterpretadorComDepuracao extends Interpretador implements
|
|
|
51
51
|
*/
|
|
52
52
|
avaliar(expressao: Construto | Declaracao): Promise<any>;
|
|
53
53
|
visitarExpressaoDeChamada(expressao: Chamada): Promise<any>;
|
|
54
|
+
visitarExpressaoBinaria(expressao: Binario): Promise<any>;
|
|
54
55
|
visitarDeclaracaoEnquanto(declaracao: Enquanto): Promise<any>;
|
|
55
56
|
avaliarArgumentosEscreva(argumentos: Construto[]): Promise<string>;
|
|
56
57
|
/**
|
|
@@ -104,8 +105,16 @@ export declare class InterpretadorComDepuracao extends Interpretador implements
|
|
|
104
105
|
*/
|
|
105
106
|
instrucaoContinuarInterpretacao(escopo?: number): Promise<any>;
|
|
106
107
|
/**
|
|
107
|
-
* Empilha um escopo se for possível.
|
|
108
|
-
* Se
|
|
108
|
+
* Empilha um escopo se for possível (comando "Step Into" do depurador).
|
|
109
|
+
* Se a instrução corrente contém uma chamada de função, entra na função e pausa na primeira linha.
|
|
110
|
+
* Se não houver chamada de função, comporta-se como "próximo" (step over).
|
|
111
|
+
*
|
|
112
|
+
* Fluxo de execução:
|
|
113
|
+
* 1. Define o comando como 'adentrarEscopo'
|
|
114
|
+
* 2. Executa um passo (que pode ou não entrar em uma função)
|
|
115
|
+
* 3. Se entrou em função, o escopo da função fica no topo da pilha pronto para executar
|
|
116
|
+
* 4. Se não entrou, a instrução é executada normalmente
|
|
117
|
+
* 5. Ativa ponto de parada para aguardar próximo comando do usuário
|
|
109
118
|
*/
|
|
110
119
|
adentrarEscopo(): Promise<any>;
|
|
111
120
|
/**
|
|
@@ -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;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,kCAAkC,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,2DAA2D,CAAC;AAC1G,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,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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"}
|