@designliquido/delegua 0.54.6 → 0.54.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/analisador-semantico/analisador-semantico-base.d.ts +2 -3
  2. package/analisador-semantico/analisador-semantico-base.d.ts.map +1 -1
  3. package/analisador-semantico/analisador-semantico-base.js +1 -4
  4. package/analisador-semantico/analisador-semantico-base.js.map +1 -1
  5. package/analisador-semantico/analisador-semantico.d.ts +1 -1
  6. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  7. package/avaliador-sintatico/avaliador-sintatico-base.d.ts.map +1 -1
  8. package/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
  9. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.d.ts.map +1 -1
  10. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js.map +1 -1
  11. package/bin/package.json +21 -1
  12. package/declaracoes/funcao.js +1 -1
  13. package/declaracoes/funcao.js.map +1 -1
  14. package/declaracoes/index.d.ts +0 -1
  15. package/declaracoes/index.d.ts.map +1 -1
  16. package/declaracoes/index.js +0 -1
  17. package/declaracoes/index.js.map +1 -1
  18. package/formatadores/formatador-delegua.d.ts +1 -2
  19. package/formatadores/formatador-delegua.d.ts.map +1 -1
  20. package/formatadores/formatador-delegua.js +7 -4
  21. package/formatadores/formatador-delegua.js.map +1 -1
  22. package/formatadores/formatador-pitugues.d.ts +1 -2
  23. package/formatadores/formatador-pitugues.d.ts.map +1 -1
  24. package/formatadores/formatador-pitugues.js +57 -3
  25. package/formatadores/formatador-pitugues.js.map +1 -1
  26. package/interfaces/visitante-comum-interface.d.ts +2 -3
  27. package/interfaces/visitante-comum-interface.d.ts.map +1 -1
  28. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +1 -2
  29. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts.map +1 -1
  30. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +0 -3
  31. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  32. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +2 -3
  33. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts.map +1 -1
  34. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +37 -4
  35. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
  36. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +2 -3
  37. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts.map +1 -1
  38. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +49 -5
  39. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  40. package/interpretador/interpretador-base.d.ts +2 -5
  41. package/interpretador/interpretador-base.d.ts.map +1 -1
  42. package/interpretador/interpretador-base.js +2 -5
  43. package/interpretador/interpretador-base.js.map +1 -1
  44. package/interpretador/interpretador-com-depuracao.d.ts +0 -1
  45. package/interpretador/interpretador-com-depuracao.d.ts.map +1 -1
  46. package/interpretador/interpretador-com-depuracao.js +0 -11
  47. package/interpretador/interpretador-com-depuracao.js.map +1 -1
  48. package/interpretador/interpretador.d.ts +2 -6
  49. package/interpretador/interpretador.d.ts.map +1 -1
  50. package/interpretador/interpretador.js +10 -2
  51. package/interpretador/interpretador.js.map +1 -1
  52. package/lexador/lexador.js +1 -1
  53. package/lexador/lexador.js.map +1 -1
  54. package/package.json +21 -1
  55. package/tradutores/tradutor-calango.d.ts +2 -2
  56. package/tradutores/tradutor-calango.d.ts.map +1 -1
  57. package/tradutores/tradutor-calango.js +7 -7
  58. package/tradutores/tradutor-calango.js.map +1 -1
  59. package/umd/delegua.js +397 -131
  60. package/declaracoes/aleatorio.d.ts +0 -17
  61. package/declaracoes/aleatorio.d.ts.map +0 -1
  62. package/declaracoes/aleatorio.js +0 -20
  63. package/declaracoes/aleatorio.js.map +0 -1
package/umd/delegua.js CHANGED
@@ -238,7 +238,7 @@ class AvaliadorSintaticoBase {
238
238
  }
239
239
  exports.AvaliadorSintaticoBase = AvaliadorSintaticoBase;
240
240
 
241
- },{"../construtos":49,"../declaracoes":94,"../tipos-de-simbolos/comum":182,"./erro-avaliador-sintatico":10}],2:[function(require,module,exports){
241
+ },{"../construtos":50,"../declaracoes":94,"../tipos-de-simbolos/comum":182,"./erro-avaliador-sintatico":11}],2:[function(require,module,exports){
242
242
  "use strict";
243
243
  var __importDefault = (this && this.__importDefault) || function (mod) {
244
244
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -2090,7 +2090,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
2090
2090
  }
2091
2091
  exports.AvaliadorSintatico = AvaliadorSintatico;
2092
2092
 
2093
- },{"../bibliotecas/primitivas-dicionario":20,"../bibliotecas/primitivas-numero":21,"../bibliotecas/primitivas-texto":22,"../bibliotecas/primitivas-vetor":23,"../construtos":49,"../construtos/tuplas":65,"../declaracoes":94,"../inferenciador":113,"../informacao-elemento-sintatico":114,"../tipos-de-dados/delegua":178,"../tipos-de-simbolos/delegua":183,"./avaliador-sintatico-base":1,"./comum":3,"./elemento-montao-tipos":9,"./erro-avaliador-sintatico":10,"./informacao-escopo":12,"./montao-tipos":15,"./pilha-escopos":16,"browser-process-hrtime":363}],3:[function(require,module,exports){
2093
+ },{"../bibliotecas/primitivas-dicionario":21,"../bibliotecas/primitivas-numero":22,"../bibliotecas/primitivas-texto":23,"../bibliotecas/primitivas-vetor":24,"../construtos":50,"../construtos/tuplas":66,"../declaracoes":94,"../inferenciador":113,"../informacao-elemento-sintatico":114,"../tipos-de-dados/delegua":178,"../tipos-de-simbolos/delegua":183,"./avaliador-sintatico-base":1,"./comum":3,"./elemento-montao-tipos":10,"./erro-avaliador-sintatico":11,"./informacao-escopo":13,"./montao-tipos":16,"./pilha-escopos":17,"browser-process-hrtime":363}],3:[function(require,module,exports){
2094
2094
  "use strict";
2095
2095
  Object.defineProperty(exports, "__esModule", { value: true });
2096
2096
  exports.buscarRetornos = buscarRetornos;
@@ -2196,6 +2196,232 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
2196
2196
  return (mod && mod.__esModule) ? mod : { "default": mod };
2197
2197
  };
2198
2198
  Object.defineProperty(exports, "__esModule", { value: true });
2199
+ exports.AvaliadorSintaticoCalango = void 0;
2200
+ const construtos_1 = require("../../construtos");
2201
+ const declaracoes_1 = require("../../declaracoes");
2202
+ const avaliador_sintatico_base_1 = require("../avaliador-sintatico-base");
2203
+ const pilha_escopos_1 = require("../pilha-escopos");
2204
+ const informacao_escopo_1 = require("../informacao-escopo");
2205
+ const informacao_elemento_sintatico_1 = require("../../informacao-elemento-sintatico");
2206
+ const calango_1 = __importDefault(require("../../tipos-de-simbolos/calango"));
2207
+ class AvaliadorSintaticoCalango extends avaliador_sintatico_base_1.AvaliadorSintaticoBase {
2208
+ constructor() {
2209
+ super();
2210
+ this.pilhaEscopos = new pilha_escopos_1.PilhaEscopos();
2211
+ }
2212
+ atribuir() {
2213
+ const expressao = this.ou();
2214
+ if (this.verificarSeSimboloAtualEIgualA(calango_1.default.IGUAL_ATRIBUICAO)) {
2215
+ const setaAtribuicao = this.simbolos[this.atual - 1];
2216
+ const valor = this.atribuir();
2217
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.PONTO_E_VIRGULA);
2218
+ if (expressao instanceof construtos_1.Variavel) {
2219
+ return new construtos_1.Atribuir(this.hashArquivo, expressao, valor);
2220
+ }
2221
+ if (expressao instanceof construtos_1.AcessoIndiceVariavel) {
2222
+ return new construtos_1.AtribuicaoPorIndice(this.hashArquivo, expressao.linha, expressao.entidadeChamada, expressao.indice, valor);
2223
+ }
2224
+ throw this.erro(setaAtribuicao, 'Tarefa de atribuição inválida');
2225
+ }
2226
+ return expressao;
2227
+ }
2228
+ blocoEscopo() {
2229
+ throw new Error('Método não implementado.');
2230
+ }
2231
+ chamar() {
2232
+ return this.primario();
2233
+ }
2234
+ declaracaoEnquanto() {
2235
+ throw new Error('Método não implementado.');
2236
+ }
2237
+ declaracaoEscolha() {
2238
+ throw new Error('Método não implementado.');
2239
+ }
2240
+ // Em Calango, método "escreval"
2241
+ declaracaoEscreva() {
2242
+ const simboloAtual = this.avancarEDevolverAnterior();
2243
+ this.consumir(calango_1.default.PARENTESE_ESQUERDO, "Esperado '(' antes dos valores em escreva.");
2244
+ const argumentos = [];
2245
+ if (!this.verificarTipoSimboloAtual(calango_1.default.PARENTESE_DIREITO)) {
2246
+ do {
2247
+ const valor = this.resolverDeclaracaoForaDeBloco();
2248
+ argumentos.push(new construtos_1.FormatacaoEscrita(this.hashArquivo, Number(simboloAtual.linha), valor));
2249
+ } while (this.verificarSeSimboloAtualEIgualA(calango_1.default.VIRGULA));
2250
+ }
2251
+ this.consumir(calango_1.default.PARENTESE_DIREITO, "Esperado ')' após os valores em escreva.");
2252
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.PONTO_E_VIRGULA);
2253
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.QUEBRA_LINHA);
2254
+ return new declaracoes_1.Escreva(Number(simboloAtual.linha), this.hashArquivo, argumentos);
2255
+ }
2256
+ /**
2257
+ * Em Calango, este é o método `escreva()`.
2258
+ * @returns {EscrevaMesmaLinha} Uma declaracao de escrita na mesma linha.
2259
+ */
2260
+ declaracaoEscrevaMesmaLinha() {
2261
+ const simboloAtual = this.avancarEDevolverAnterior();
2262
+ this.consumir(calango_1.default.PARENTESE_ESQUERDO, "Esperado '(' antes dos valores em escreva.");
2263
+ const argumentos = [];
2264
+ if (!this.verificarTipoSimboloAtual(calango_1.default.PARENTESE_DIREITO)) {
2265
+ do {
2266
+ const valor = this.resolverDeclaracaoForaDeBloco();
2267
+ argumentos.push(new construtos_1.FormatacaoEscrita(this.hashArquivo, Number(simboloAtual.linha), valor));
2268
+ } while (this.verificarSeSimboloAtualEIgualA(calango_1.default.VIRGULA));
2269
+ }
2270
+ this.consumir(calango_1.default.PARENTESE_DIREITO, "Esperado ')' após os valores em escreva.");
2271
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.PONTO_E_VIRGULA);
2272
+ return new declaracoes_1.EscrevaMesmaLinha(Number(simboloAtual.linha), this.hashArquivo, argumentos);
2273
+ }
2274
+ declaracaoInteiros() {
2275
+ const simboloInteiro = this.consumir(calango_1.default.INTEIRO, '');
2276
+ const inicializacoes = [];
2277
+ do {
2278
+ const identificador = this.consumir(calango_1.default.IDENTIFICADOR, "Esperado identificador após palavra reservada 'inteiro'.");
2279
+ // Inicializações de variáveis podem ter valores definidos.
2280
+ let valorInicializacao = 0;
2281
+ inicializacoes.push(new declaracoes_1.Var(identificador, new construtos_1.Literal(this.hashArquivo, Number(simboloInteiro.linha), valorInicializacao, 'inteiro')));
2282
+ this.pilhaEscopos.definirInformacoesVariavel(identificador.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(identificador.lexema, 'inteiro'));
2283
+ } while (this.verificarSeSimboloAtualEIgualA(calango_1.default.VIRGULA));
2284
+ this.consumir(calango_1.default.PONTO_E_VIRGULA, 'Esperado ponto e vírgula após declaração de variáveis.');
2285
+ return inicializacoes;
2286
+ }
2287
+ declaracaoFazer() {
2288
+ throw new Error('Método não implementado.');
2289
+ }
2290
+ declaracaoPara() {
2291
+ throw new Error('Método não implementado.');
2292
+ }
2293
+ resolverBloco(simbolosParada) {
2294
+ const declaracoes = [];
2295
+ this.pilhaEscopos.empilhar(new informacao_escopo_1.InformacaoEscopo());
2296
+ const primeiroSimbolo = this.simbolos[this.atual];
2297
+ while (!this.estaNoFinal() && !simbolosParada.includes(this.simbolos[this.atual].lexema)) {
2298
+ declaracoes.push(this.resolverDeclaracaoForaDeBloco());
2299
+ }
2300
+ this.pilhaEscopos.removerUltimo();
2301
+ return new declaracoes_1.Bloco(this.hashArquivo, primeiroSimbolo.linha, declaracoes.filter((d) => d));
2302
+ }
2303
+ declaracaoSe() {
2304
+ this.avancarEDevolverAnterior();
2305
+ this.consumir(calango_1.default.PARENTESE_ESQUERDO, "Esperado '(' após 'se'");
2306
+ const condicao = this.expressao();
2307
+ this.consumir(calango_1.default.PARENTESE_DIREITO, "Esperado ')' após condição do 'se'");
2308
+ this.consumir(calango_1.default.ENTAO, "Esperado 'entao' após condição");
2309
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.QUEBRA_LINHA);
2310
+ const caminhoEntao = this.resolverBloco(['senao', 'fimSe']);
2311
+ while (this.verificarSeSimboloAtualEIgualA(calango_1.default.QUEBRA_LINHA))
2312
+ ;
2313
+ let caminhoSenao = null;
2314
+ if (this.verificarSeSimboloAtualEIgualA(calango_1.default.SENAO)) {
2315
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.QUEBRA_LINHA);
2316
+ caminhoSenao = this.resolverBloco(['senao', 'fimSe']);
2317
+ }
2318
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.QUEBRA_LINHA);
2319
+ this.consumir(calango_1.default.FIM_SE, "Esperado 'fimSe' para finalização de uma instrução se.");
2320
+ return new declaracoes_1.Se(condicao, caminhoEntao, [], caminhoSenao);
2321
+ }
2322
+ expressaoLeia() {
2323
+ const simboloAtual = this.avancarEDevolverAnterior();
2324
+ this.consumir(calango_1.default.PARENTESE_ESQUERDO, "Esperado '(' depois da declaração 'leia'");
2325
+ const argumentos = [];
2326
+ do {
2327
+ argumentos.push(this.resolverDeclaracaoForaDeBloco());
2328
+ } while (this.verificarSeSimboloAtualEIgualA(calango_1.default.VIRGULA));
2329
+ this.consumir(calango_1.default.PARENTESE_DIREITO, "Esperado ')' após declaração 'leia'");
2330
+ this.consumir(calango_1.default.PONTO_E_VIRGULA, 'Esperado ponto e vírgula após declaração leia');
2331
+ return new construtos_1.Leia(simboloAtual, argumentos);
2332
+ }
2333
+ primario() {
2334
+ switch (this.simbolos[this.atual].tipo) {
2335
+ case calango_1.default.IDENTIFICADOR:
2336
+ const simboloIdentificador = this.avancarEDevolverAnterior();
2337
+ let tipoOperando;
2338
+ try {
2339
+ tipoOperando = this.pilhaEscopos.obterTipoVariavelPorNome(simboloIdentificador.lexema);
2340
+ }
2341
+ catch (erro) {
2342
+ throw this.erro(simboloIdentificador, erro.message);
2343
+ }
2344
+ return new construtos_1.Variavel(this.hashArquivo, simboloIdentificador, tipoOperando);
2345
+ case calango_1.default.INTEIRO:
2346
+ case calango_1.default.NUMERO: // Precisamos substituir 'NUMERO' por 'REAL' pois Calango não possui 'NUMERO'
2347
+ case calango_1.default.TEXTO:
2348
+ const simboloAnterior = this.avancarEDevolverAnterior();
2349
+ return new construtos_1.Literal(this.hashArquivo, Number(simboloAnterior.linha), simboloAnterior.literal, simboloAnterior.tipo == calango_1.default.TEXTO ? 'texto' : 'inteiro');
2350
+ case calango_1.default.PARENTESE_ESQUERDO:
2351
+ this.avancarEDevolverAnterior();
2352
+ const expressao = this.expressao();
2353
+ this.consumir(calango_1.default.PARENTESE_DIREITO, "Esperado ')' após a expressão.");
2354
+ return new construtos_1.Agrupamento(this.hashArquivo, this.simbolos[this.atual].linha, expressao);
2355
+ }
2356
+ }
2357
+ resolverDeclaracaoForaDeBloco() {
2358
+ const simboloAtual = this.simbolos[this.atual];
2359
+ switch (simboloAtual.tipo) {
2360
+ case calango_1.default.ESCREVA:
2361
+ return this.declaracaoEscrevaMesmaLinha();
2362
+ case calango_1.default.ESCREVAL:
2363
+ return this.declaracaoEscreva();
2364
+ case calango_1.default.LEIA:
2365
+ return this.expressaoLeia();
2366
+ case calango_1.default.INTEIRO:
2367
+ return this.declaracaoInteiros();
2368
+ case calango_1.default.SE:
2369
+ return this.declaracaoSe();
2370
+ case calango_1.default.QUEBRA_LINHA:
2371
+ this.avancarEDevolverAnterior();
2372
+ return null;
2373
+ default:
2374
+ return this.expressao();
2375
+ }
2376
+ }
2377
+ corpoDaFuncao(tipo) {
2378
+ throw new Error('Método não implementado.');
2379
+ }
2380
+ validarSegmentoAlgoritmo() {
2381
+ this.consumir(calango_1.default.ALGORITMO, `Expressão 'algoritmo' não declarada`);
2382
+ this.consumir(calango_1.default.IDENTIFICADOR, `Esperado identificador após 'algoritmo'.`);
2383
+ this.consumir(calango_1.default.PONTO_E_VIRGULA, `Esperado ponto e vírgula após identificador do algoritmo.`);
2384
+ }
2385
+ validarSegmentoPrincipal(algoritmoOuFuncao) {
2386
+ this.consumir(calango_1.default.PRINCIPAL, `Expressão 'principal' não declarada`);
2387
+ }
2388
+ analisar(retornoLexador, hashArquivo) {
2389
+ this.erros = [];
2390
+ ((this.atual = 0), (this.blocos = 0));
2391
+ this.pilhaEscopos = new pilha_escopos_1.PilhaEscopos();
2392
+ this.pilhaEscopos.empilhar(new informacao_escopo_1.InformacaoEscopo());
2393
+ this.hashArquivo = hashArquivo || 0;
2394
+ this.simbolos = (retornoLexador === null || retornoLexador === void 0 ? void 0 : retornoLexador.simbolos) || [];
2395
+ while (this.verificarTipoSimboloAtual(calango_1.default.QUEBRA_LINHA)) {
2396
+ this.avancarEDevolverAnterior();
2397
+ }
2398
+ let declaracoes = [];
2399
+ this.validarSegmentoAlgoritmo();
2400
+ this.validarSegmentoPrincipal('principal');
2401
+ while (!this.estaNoFinal() &&
2402
+ this.simbolos[this.atual].tipo !== calango_1.default.FIM_PRINCIPAL) {
2403
+ const resolucaoDeclaracao = this.resolverDeclaracaoForaDeBloco();
2404
+ if (Array.isArray(resolucaoDeclaracao)) {
2405
+ declaracoes = declaracoes.concat(resolucaoDeclaracao);
2406
+ }
2407
+ else {
2408
+ declaracoes.push(resolucaoDeclaracao);
2409
+ }
2410
+ }
2411
+ return {
2412
+ declaracoes: declaracoes.filter((d) => d),
2413
+ erros: this.erros,
2414
+ };
2415
+ }
2416
+ }
2417
+ exports.AvaliadorSintaticoCalango = AvaliadorSintaticoCalango;
2418
+
2419
+ },{"../../construtos":50,"../../declaracoes":94,"../../informacao-elemento-sintatico":114,"../../tipos-de-simbolos/calango":181,"../avaliador-sintatico-base":1,"../informacao-escopo":13,"../pilha-escopos":17}],5:[function(require,module,exports){
2420
+ "use strict";
2421
+ var __importDefault = (this && this.__importDefault) || function (mod) {
2422
+ return (mod && mod.__esModule) ? mod : { "default": mod };
2423
+ };
2424
+ Object.defineProperty(exports, "__esModule", { value: true });
2199
2425
  exports.AvaliadorSintaticoEguaClassico = void 0;
2200
2426
  const construtos_1 = require("../../construtos");
2201
2427
  const erro_avaliador_sintatico_1 = require("../erro-avaliador-sintatico");
@@ -2845,7 +3071,7 @@ class AvaliadorSintaticoEguaClassico {
2845
3071
  }
2846
3072
  exports.AvaliadorSintaticoEguaClassico = AvaliadorSintaticoEguaClassico;
2847
3073
 
2848
- },{"../../construtos":49,"../../declaracoes":94,"../../tipos-de-simbolos/egua-classico":184,"../erro-avaliador-sintatico":10}],5:[function(require,module,exports){
3074
+ },{"../../construtos":50,"../../declaracoes":94,"../../tipos-de-simbolos/egua-classico":184,"../erro-avaliador-sintatico":11}],6:[function(require,module,exports){
2849
3075
  "use strict";
2850
3076
  var __importDefault = (this && this.__importDefault) || function (mod) {
2851
3077
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -3927,7 +4153,7 @@ class AvaliadorSintaticoPitugues {
3927
4153
  }
3928
4154
  exports.AvaliadorSintaticoPitugues = AvaliadorSintaticoPitugues;
3929
4155
 
3930
- },{"../../bibliotecas/primitivas-dicionario":20,"../../bibliotecas/primitivas-numero":21,"../../bibliotecas/primitivas-texto":22,"../../bibliotecas/primitivas-vetor":23,"../../construtos":49,"../../construtos/lista-compreensao":52,"../../declaracoes":94,"../../inferenciador":113,"../../informacao-elemento-sintatico":114,"../../lexador":170,"../../tipos-de-dados/dialetos/pitugues":179,"../../tipos-de-simbolos/pitugues":187,"../comum":3,"../erro-avaliador-sintatico":10,"../informacao-escopo":12,"../pilha-escopos":16,"browser-process-hrtime":363}],6:[function(require,module,exports){
4156
+ },{"../../bibliotecas/primitivas-dicionario":21,"../../bibliotecas/primitivas-numero":22,"../../bibliotecas/primitivas-texto":23,"../../bibliotecas/primitivas-vetor":24,"../../construtos":50,"../../construtos/lista-compreensao":53,"../../declaracoes":94,"../../inferenciador":113,"../../informacao-elemento-sintatico":114,"../../lexador":170,"../../tipos-de-dados/dialetos/pitugues":179,"../../tipos-de-simbolos/pitugues":187,"../comum":3,"../erro-avaliador-sintatico":11,"../informacao-escopo":13,"../pilha-escopos":17,"browser-process-hrtime":363}],7:[function(require,module,exports){
3931
4157
  "use strict";
3932
4158
  var __importDefault = (this && this.__importDefault) || function (mod) {
3933
4159
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -4101,7 +4327,7 @@ class AvaliadorSintaticoPortugolIpt extends avaliador_sintatico_base_1.Avaliador
4101
4327
  }
4102
4328
  exports.AvaliadorSintaticoPortugolIpt = AvaliadorSintaticoPortugolIpt;
4103
4329
 
4104
- },{"../../construtos":49,"../../declaracoes":94,"../../tipos-de-simbolos/portugol-ipt":188,"../avaliador-sintatico-base":1}],7:[function(require,module,exports){
4330
+ },{"../../construtos":50,"../../declaracoes":94,"../../tipos-de-simbolos/portugol-ipt":188,"../avaliador-sintatico-base":1}],8:[function(require,module,exports){
4105
4331
  "use strict";
4106
4332
  var __importDefault = (this && this.__importDefault) || function (mod) {
4107
4333
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -5089,7 +5315,7 @@ class AvaliadorSintaticoTenda extends avaliador_sintatico_base_1.AvaliadorSintat
5089
5315
  }
5090
5316
  exports.AvaliadorSintaticoTenda = AvaliadorSintaticoTenda;
5091
5317
 
5092
- },{"../../bibliotecas/primitivas-dicionario":20,"../../bibliotecas/primitivas-numero":21,"../../bibliotecas/primitivas-texto":22,"../../bibliotecas/primitivas-vetor":23,"../../construtos":49,"../../construtos/tuplas":65,"../../declaracoes":94,"../../inferenciador":113,"../../informacao-elemento-sintatico":114,"../../lexador/simbolo":176,"../../tipos-de-dados/delegua":178,"../../tipos-de-simbolos/tenda":189,"../avaliador-sintatico-base":1,"./../erro-avaliador-sintatico":10,"./../informacao-escopo":12,"./../pilha-escopos":16,"browser-process-hrtime":363}],8:[function(require,module,exports){
5318
+ },{"../../bibliotecas/primitivas-dicionario":21,"../../bibliotecas/primitivas-numero":22,"../../bibliotecas/primitivas-texto":23,"../../bibliotecas/primitivas-vetor":24,"../../construtos":50,"../../construtos/tuplas":66,"../../declaracoes":94,"../../inferenciador":113,"../../informacao-elemento-sintatico":114,"../../lexador/simbolo":176,"../../tipos-de-dados/delegua":178,"../../tipos-de-simbolos/tenda":189,"../avaliador-sintatico-base":1,"./../erro-avaliador-sintatico":11,"./../informacao-escopo":13,"./../pilha-escopos":17,"browser-process-hrtime":363}],9:[function(require,module,exports){
5093
5319
  "use strict";
5094
5320
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5095
5321
  if (k2 === undefined) k2 = k;
@@ -5111,7 +5337,7 @@ __exportStar(require("./avaliador-sintatico-pitugues"), exports);
5111
5337
  __exportStar(require("./avaliador-sintatico-portugol-ipt"), exports);
5112
5338
  __exportStar(require("./avaliador-sintatico-tenda"), exports);
5113
5339
 
5114
- },{"./avaliador-sintatico-egua-classico":4,"./avaliador-sintatico-pitugues":5,"./avaliador-sintatico-portugol-ipt":6,"./avaliador-sintatico-tenda":7}],9:[function(require,module,exports){
5340
+ },{"./avaliador-sintatico-egua-classico":5,"./avaliador-sintatico-pitugues":6,"./avaliador-sintatico-portugol-ipt":7,"./avaliador-sintatico-tenda":8}],10:[function(require,module,exports){
5115
5341
  "use strict";
5116
5342
  Object.defineProperty(exports, "__esModule", { value: true });
5117
5343
  exports.ElementoMontaoTipos = void 0;
@@ -5123,7 +5349,7 @@ class ElementoMontaoTipos {
5123
5349
  }
5124
5350
  exports.ElementoMontaoTipos = ElementoMontaoTipos;
5125
5351
 
5126
- },{}],10:[function(require,module,exports){
5352
+ },{}],11:[function(require,module,exports){
5127
5353
  "use strict";
5128
5354
  Object.defineProperty(exports, "__esModule", { value: true });
5129
5355
  exports.ErroAvaliadorSintatico = void 0;
@@ -5138,7 +5364,7 @@ class ErroAvaliadorSintatico extends Error {
5138
5364
  }
5139
5365
  exports.ErroAvaliadorSintatico = ErroAvaliadorSintatico;
5140
5366
 
5141
- },{}],11:[function(require,module,exports){
5367
+ },{}],12:[function(require,module,exports){
5142
5368
  "use strict";
5143
5369
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5144
5370
  if (k2 === undefined) k2 = k;
@@ -5164,7 +5390,7 @@ __exportStar(require("./micro-avaliador-sintatico"), exports);
5164
5390
  __exportStar(require("./pilha-escopos"), exports);
5165
5391
  __exportStar(require("./retornos"), exports);
5166
5392
 
5167
- },{"./avaliador-sintatico":2,"./avaliador-sintatico-base":1,"./dialetos":8,"./erro-avaliador-sintatico":10,"./informacao-escopo":12,"./micro-avaliador-sintatico":14,"./pilha-escopos":16,"./retornos":17}],12:[function(require,module,exports){
5393
+ },{"./avaliador-sintatico":2,"./avaliador-sintatico-base":1,"./dialetos":9,"./erro-avaliador-sintatico":11,"./informacao-escopo":13,"./micro-avaliador-sintatico":15,"./pilha-escopos":17,"./retornos":18}],13:[function(require,module,exports){
5168
5394
  "use strict";
5169
5395
  Object.defineProperty(exports, "__esModule", { value: true });
5170
5396
  exports.InformacaoEscopo = void 0;
@@ -5176,7 +5402,7 @@ class InformacaoEscopo {
5176
5402
  }
5177
5403
  exports.InformacaoEscopo = InformacaoEscopo;
5178
5404
 
5179
- },{}],13:[function(require,module,exports){
5405
+ },{}],14:[function(require,module,exports){
5180
5406
  "use strict";
5181
5407
  var __importDefault = (this && this.__importDefault) || function (mod) {
5182
5408
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -5294,7 +5520,7 @@ class MicroAvaliadorSintaticoBase {
5294
5520
  }
5295
5521
  exports.MicroAvaliadorSintaticoBase = MicroAvaliadorSintaticoBase;
5296
5522
 
5297
- },{"../construtos":49,"../tipos-de-simbolos/comum":182,"./erro-avaliador-sintatico":10}],14:[function(require,module,exports){
5523
+ },{"../construtos":50,"../tipos-de-simbolos/comum":182,"./erro-avaliador-sintatico":11}],15:[function(require,module,exports){
5298
5524
  "use strict";
5299
5525
  var __importDefault = (this && this.__importDefault) || function (mod) {
5300
5526
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -5496,7 +5722,7 @@ class MicroAvaliadorSintatico extends micro_avaliador_sintatico_base_1.MicroAval
5496
5722
  }
5497
5723
  exports.MicroAvaliadorSintatico = MicroAvaliadorSintatico;
5498
5724
 
5499
- },{"../construtos":49,"../tipos-de-simbolos/microgramaticas/delegua":186,"./micro-avaliador-sintatico-base":13}],15:[function(require,module,exports){
5725
+ },{"../construtos":50,"../tipos-de-simbolos/microgramaticas/delegua":186,"./micro-avaliador-sintatico-base":14}],16:[function(require,module,exports){
5500
5726
  "use strict";
5501
5727
  Object.defineProperty(exports, "__esModule", { value: true });
5502
5728
  exports.MontaoTipos = void 0;
@@ -5547,7 +5773,7 @@ class MontaoTipos {
5547
5773
  }
5548
5774
  exports.MontaoTipos = MontaoTipos;
5549
5775
 
5550
- },{"../geracao-identificadores":111,"./erro-avaliador-sintatico":10}],16:[function(require,module,exports){
5776
+ },{"../geracao-identificadores":111,"./erro-avaliador-sintatico":11}],17:[function(require,module,exports){
5551
5777
  "use strict";
5552
5778
  Object.defineProperty(exports, "__esModule", { value: true });
5553
5779
  exports.PilhaEscopos = void 0;
@@ -5617,7 +5843,7 @@ class PilhaEscopos {
5617
5843
  }
5618
5844
  exports.PilhaEscopos = PilhaEscopos;
5619
5845
 
5620
- },{"./elemento-montao-tipos":9}],17:[function(require,module,exports){
5846
+ },{"./elemento-montao-tipos":10}],18:[function(require,module,exports){
5621
5847
  "use strict";
5622
5848
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5623
5849
  if (k2 === undefined) k2 = k;
@@ -5636,11 +5862,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
5636
5862
  Object.defineProperty(exports, "__esModule", { value: true });
5637
5863
  __exportStar(require("./retorno-primario"), exports);
5638
5864
 
5639
- },{"./retorno-primario":18}],18:[function(require,module,exports){
5865
+ },{"./retorno-primario":19}],19:[function(require,module,exports){
5640
5866
  "use strict";
5641
5867
  Object.defineProperty(exports, "__esModule", { value: true });
5642
5868
 
5643
- },{}],19:[function(require,module,exports){
5869
+ },{}],20:[function(require,module,exports){
5644
5870
  "use strict";
5645
5871
  Object.defineProperty(exports, "__esModule", { value: true });
5646
5872
  exports.aleatorio = aleatorio;
@@ -6327,7 +6553,7 @@ async function tupla(interpretador, vetor) {
6327
6553
  }
6328
6554
  }
6329
6555
 
6330
- },{"../construtos":49,"../excecoes":107,"../interpretador/estruturas":146,"../interpretador/estruturas/descritor-tipo-classe":144,"../interpretador/estruturas/funcao-padrao":145,"../interpretador/estruturas/objeto-delegua-classe":149,"../quebras":177}],20:[function(require,module,exports){
6556
+ },{"../construtos":50,"../excecoes":107,"../interpretador/estruturas":146,"../interpretador/estruturas/descritor-tipo-classe":144,"../interpretador/estruturas/funcao-padrao":145,"../interpretador/estruturas/objeto-delegua-classe":149,"../quebras":177}],21:[function(require,module,exports){
6331
6557
  "use strict";
6332
6558
  Object.defineProperty(exports, "__esModule", { value: true });
6333
6559
  const informacao_elemento_sintatico_1 = require("../informacao-elemento-sintatico");
@@ -6384,7 +6610,7 @@ exports.default = {
6384
6610
  },
6385
6611
  };
6386
6612
 
6387
- },{"../informacao-elemento-sintatico":114}],21:[function(require,module,exports){
6613
+ },{"../informacao-elemento-sintatico":114}],22:[function(require,module,exports){
6388
6614
  "use strict";
6389
6615
  Object.defineProperty(exports, "__esModule", { value: true });
6390
6616
  const informacao_elemento_sintatico_1 = require("../informacao-elemento-sintatico");
@@ -6469,7 +6695,7 @@ exports.default = {
6469
6695
  },
6470
6696
  };
6471
6697
 
6472
- },{"../informacao-elemento-sintatico":114}],22:[function(require,module,exports){
6698
+ },{"../informacao-elemento-sintatico":114}],23:[function(require,module,exports){
6473
6699
  "use strict";
6474
6700
  Object.defineProperty(exports, "__esModule", { value: true });
6475
6701
  const informacao_elemento_sintatico_1 = require("../informacao-elemento-sintatico");
@@ -6701,7 +6927,7 @@ exports.default = {
6701
6927
  },
6702
6928
  };
6703
6929
 
6704
- },{"../informacao-elemento-sintatico":114}],23:[function(require,module,exports){
6930
+ },{"../informacao-elemento-sintatico":114}],24:[function(require,module,exports){
6705
6931
  "use strict";
6706
6932
  Object.defineProperty(exports, "__esModule", { value: true });
6707
6933
  const informacao_elemento_sintatico_1 = require("../informacao-elemento-sintatico");
@@ -7048,7 +7274,7 @@ exports.default = {
7048
7274
  },
7049
7275
  };
7050
7276
 
7051
- },{"../informacao-elemento-sintatico":114}],24:[function(require,module,exports){
7277
+ },{"../informacao-elemento-sintatico":114}],25:[function(require,module,exports){
7052
7278
  "use strict";
7053
7279
  Object.defineProperty(exports, "__esModule", { value: true });
7054
7280
  exports.AcessoElementoMatriz = void 0;
@@ -7073,7 +7299,7 @@ class AcessoElementoMatriz {
7073
7299
  }
7074
7300
  exports.AcessoElementoMatriz = AcessoElementoMatriz;
7075
7301
 
7076
- },{}],25:[function(require,module,exports){
7302
+ },{}],26:[function(require,module,exports){
7077
7303
  "use strict";
7078
7304
  Object.defineProperty(exports, "__esModule", { value: true });
7079
7305
  exports.AcessoIndiceVariavel = void 0;
@@ -7100,7 +7326,7 @@ class AcessoIndiceVariavel {
7100
7326
  }
7101
7327
  exports.AcessoIndiceVariavel = AcessoIndiceVariavel;
7102
7328
 
7103
- },{}],26:[function(require,module,exports){
7329
+ },{}],27:[function(require,module,exports){
7104
7330
  "use strict";
7105
7331
  Object.defineProperty(exports, "__esModule", { value: true });
7106
7332
  exports.AcessoMetodoOuPropriedade = void 0;
@@ -7129,7 +7355,7 @@ class AcessoMetodoOuPropriedade {
7129
7355
  }
7130
7356
  exports.AcessoMetodoOuPropriedade = AcessoMetodoOuPropriedade;
7131
7357
 
7132
- },{}],27:[function(require,module,exports){
7358
+ },{}],28:[function(require,module,exports){
7133
7359
  "use strict";
7134
7360
  Object.defineProperty(exports, "__esModule", { value: true });
7135
7361
  exports.AcessoMetodo = void 0;
@@ -7151,7 +7377,7 @@ class AcessoMetodo {
7151
7377
  }
7152
7378
  exports.AcessoMetodo = AcessoMetodo;
7153
7379
 
7154
- },{}],28:[function(require,module,exports){
7380
+ },{}],29:[function(require,module,exports){
7155
7381
  "use strict";
7156
7382
  Object.defineProperty(exports, "__esModule", { value: true });
7157
7383
  exports.AcessoPropriedade = void 0;
@@ -7172,7 +7398,7 @@ class AcessoPropriedade {
7172
7398
  }
7173
7399
  exports.AcessoPropriedade = AcessoPropriedade;
7174
7400
 
7175
- },{}],29:[function(require,module,exports){
7401
+ },{}],30:[function(require,module,exports){
7176
7402
  "use strict";
7177
7403
  Object.defineProperty(exports, "__esModule", { value: true });
7178
7404
  exports.Agrupamento = void 0;
@@ -7197,7 +7423,7 @@ class Agrupamento {
7197
7423
  }
7198
7424
  exports.Agrupamento = Agrupamento;
7199
7425
 
7200
- },{}],30:[function(require,module,exports){
7426
+ },{}],31:[function(require,module,exports){
7201
7427
  "use strict";
7202
7428
  Object.defineProperty(exports, "__esModule", { value: true });
7203
7429
  exports.ArgumentoReferenciaFuncao = void 0;
@@ -7221,7 +7447,7 @@ class ArgumentoReferenciaFuncao {
7221
7447
  }
7222
7448
  exports.ArgumentoReferenciaFuncao = ArgumentoReferenciaFuncao;
7223
7449
 
7224
- },{}],31:[function(require,module,exports){
7450
+ },{}],32:[function(require,module,exports){
7225
7451
  "use strict";
7226
7452
  Object.defineProperty(exports, "__esModule", { value: true });
7227
7453
  exports.AtribuicaoPorIndice = void 0;
@@ -7245,7 +7471,7 @@ class AtribuicaoPorIndice {
7245
7471
  }
7246
7472
  exports.AtribuicaoPorIndice = AtribuicaoPorIndice;
7247
7473
 
7248
- },{}],32:[function(require,module,exports){
7474
+ },{}],33:[function(require,module,exports){
7249
7475
  "use strict";
7250
7476
  Object.defineProperty(exports, "__esModule", { value: true });
7251
7477
  exports.AtribuicaoPorIndicesMatriz = void 0;
@@ -7271,7 +7497,7 @@ class AtribuicaoPorIndicesMatriz {
7271
7497
  }
7272
7498
  exports.AtribuicaoPorIndicesMatriz = AtribuicaoPorIndicesMatriz;
7273
7499
 
7274
- },{}],33:[function(require,module,exports){
7500
+ },{}],34:[function(require,module,exports){
7275
7501
  "use strict";
7276
7502
  Object.defineProperty(exports, "__esModule", { value: true });
7277
7503
  exports.Atribuir = void 0;
@@ -7307,7 +7533,7 @@ class Atribuir {
7307
7533
  }
7308
7534
  exports.Atribuir = Atribuir;
7309
7535
 
7310
- },{}],34:[function(require,module,exports){
7536
+ },{}],35:[function(require,module,exports){
7311
7537
  "use strict";
7312
7538
  Object.defineProperty(exports, "__esModule", { value: true });
7313
7539
  exports.Binario = void 0;
@@ -7372,7 +7598,7 @@ class Binario {
7372
7598
  }
7373
7599
  exports.Binario = Binario;
7374
7600
 
7375
- },{}],35:[function(require,module,exports){
7601
+ },{}],36:[function(require,module,exports){
7376
7602
  "use strict";
7377
7603
  Object.defineProperty(exports, "__esModule", { value: true });
7378
7604
  exports.Chamada = void 0;
@@ -7398,7 +7624,7 @@ class Chamada {
7398
7624
  }
7399
7625
  exports.Chamada = Chamada;
7400
7626
 
7401
- },{"../geracao-identificadores":111}],36:[function(require,module,exports){
7627
+ },{"../geracao-identificadores":111}],37:[function(require,module,exports){
7402
7628
  "use strict";
7403
7629
  Object.defineProperty(exports, "__esModule", { value: true });
7404
7630
  exports.ComentarioComoConstruto = void 0;
@@ -7422,7 +7648,7 @@ class ComentarioComoConstruto {
7422
7648
  }
7423
7649
  exports.ComentarioComoConstruto = ComentarioComoConstruto;
7424
7650
 
7425
- },{}],37:[function(require,module,exports){
7651
+ },{}],38:[function(require,module,exports){
7426
7652
  "use strict";
7427
7653
  Object.defineProperty(exports, "__esModule", { value: true });
7428
7654
  exports.ComponenteLinguagem = void 0;
@@ -7445,7 +7671,7 @@ class ComponenteLinguagem {
7445
7671
  }
7446
7672
  exports.ComponenteLinguagem = ComponenteLinguagem;
7447
7673
 
7448
- },{}],38:[function(require,module,exports){
7674
+ },{}],39:[function(require,module,exports){
7449
7675
  "use strict";
7450
7676
  Object.defineProperty(exports, "__esModule", { value: true });
7451
7677
  exports.Constante = void 0;
@@ -7467,11 +7693,11 @@ class Constante {
7467
7693
  }
7468
7694
  exports.Constante = Constante;
7469
7695
 
7470
- },{}],39:[function(require,module,exports){
7696
+ },{}],40:[function(require,module,exports){
7471
7697
  "use strict";
7472
7698
  Object.defineProperty(exports, "__esModule", { value: true });
7473
7699
 
7474
- },{}],40:[function(require,module,exports){
7700
+ },{}],41:[function(require,module,exports){
7475
7701
  "use strict";
7476
7702
  Object.defineProperty(exports, "__esModule", { value: true });
7477
7703
  exports.Decorador = void 0;
@@ -7496,7 +7722,7 @@ class Decorador {
7496
7722
  }
7497
7723
  exports.Decorador = Decorador;
7498
7724
 
7499
- },{}],41:[function(require,module,exports){
7725
+ },{}],42:[function(require,module,exports){
7500
7726
  "use strict";
7501
7727
  Object.defineProperty(exports, "__esModule", { value: true });
7502
7728
  exports.DefinirValor = void 0;
@@ -7517,7 +7743,7 @@ class DefinirValor {
7517
7743
  }
7518
7744
  exports.DefinirValor = DefinirValor;
7519
7745
 
7520
- },{}],42:[function(require,module,exports){
7746
+ },{}],43:[function(require,module,exports){
7521
7747
  "use strict";
7522
7748
  Object.defineProperty(exports, "__esModule", { value: true });
7523
7749
  exports.Dicionario = void 0;
@@ -7538,7 +7764,7 @@ class Dicionario {
7538
7764
  }
7539
7765
  exports.Dicionario = Dicionario;
7540
7766
 
7541
- },{}],43:[function(require,module,exports){
7767
+ },{}],44:[function(require,module,exports){
7542
7768
  "use strict";
7543
7769
  Object.defineProperty(exports, "__esModule", { value: true });
7544
7770
  exports.EnquantoComoConstruto = void 0;
@@ -7558,7 +7784,7 @@ class EnquantoComoConstruto {
7558
7784
  }
7559
7785
  exports.EnquantoComoConstruto = EnquantoComoConstruto;
7560
7786
 
7561
- },{}],44:[function(require,module,exports){
7787
+ },{}],45:[function(require,module,exports){
7562
7788
  "use strict";
7563
7789
  Object.defineProperty(exports, "__esModule", { value: true });
7564
7790
  exports.ExpressaoRegular = void 0;
@@ -7578,7 +7804,7 @@ class ExpressaoRegular {
7578
7804
  }
7579
7805
  exports.ExpressaoRegular = ExpressaoRegular;
7580
7806
 
7581
- },{}],45:[function(require,module,exports){
7807
+ },{}],46:[function(require,module,exports){
7582
7808
  "use strict";
7583
7809
  Object.defineProperty(exports, "__esModule", { value: true });
7584
7810
  exports.FazerComoConstruto = void 0;
@@ -7598,7 +7824,7 @@ class FazerComoConstruto {
7598
7824
  }
7599
7825
  exports.FazerComoConstruto = FazerComoConstruto;
7600
7826
 
7601
- },{}],46:[function(require,module,exports){
7827
+ },{}],47:[function(require,module,exports){
7602
7828
  "use strict";
7603
7829
  Object.defineProperty(exports, "__esModule", { value: true });
7604
7830
  exports.FimPara = void 0;
@@ -7628,7 +7854,7 @@ class FimPara {
7628
7854
  }
7629
7855
  exports.FimPara = FimPara;
7630
7856
 
7631
- },{}],47:[function(require,module,exports){
7857
+ },{}],48:[function(require,module,exports){
7632
7858
  "use strict";
7633
7859
  Object.defineProperty(exports, "__esModule", { value: true });
7634
7860
  exports.FormatacaoEscrita = void 0;
@@ -7654,7 +7880,7 @@ class FormatacaoEscrita {
7654
7880
  }
7655
7881
  exports.FormatacaoEscrita = FormatacaoEscrita;
7656
7882
 
7657
- },{}],48:[function(require,module,exports){
7883
+ },{}],49:[function(require,module,exports){
7658
7884
  "use strict";
7659
7885
  Object.defineProperty(exports, "__esModule", { value: true });
7660
7886
  exports.FuncaoConstruto = void 0;
@@ -7677,7 +7903,7 @@ class FuncaoConstruto {
7677
7903
  }
7678
7904
  exports.FuncaoConstruto = FuncaoConstruto;
7679
7905
 
7680
- },{}],49:[function(require,module,exports){
7906
+ },{}],50:[function(require,module,exports){
7681
7907
  "use strict";
7682
7908
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7683
7909
  if (k2 === undefined) k2 = k;
@@ -7737,7 +7963,7 @@ __exportStar(require("./unario"), exports);
7737
7963
  __exportStar(require("./variavel"), exports);
7738
7964
  __exportStar(require("./vetor"), exports);
7739
7965
 
7740
- },{"./acesso-elemento-matriz":24,"./acesso-indice-variavel":25,"./acesso-metodo":27,"./acesso-metodo-ou-propriedade":26,"./acesso-propriedade":28,"./agrupamento":29,"./argumento-referencia-funcao":30,"./atribuicao-por-indice":31,"./atribuicao-por-indices-matriz":32,"./atribuir":33,"./binario":34,"./chamada":35,"./comentario-como-construto":36,"./componente-linguagem":37,"./constante":38,"./construto":39,"./decorador":40,"./definir-valor":41,"./dicionario":42,"./enquanto-como-construto":43,"./expressao-regular":44,"./fazer-como-construto":45,"./fim-para":46,"./formatacao-escrita":47,"./funcao":48,"./isto":50,"./leia":51,"./lista-compreensao":52,"./literal":53,"./logico":54,"./para-cada-como-construto":55,"./para-como-construto":56,"./referencia-biblioteca-global":57,"./referencia-funcao":58,"./separador":59,"./super":60,"./tipo-de":61,"./tupla":62,"./tuplas":65,"./unario":73,"./variavel":74,"./vetor":75}],50:[function(require,module,exports){
7966
+ },{"./acesso-elemento-matriz":25,"./acesso-indice-variavel":26,"./acesso-metodo":28,"./acesso-metodo-ou-propriedade":27,"./acesso-propriedade":29,"./agrupamento":30,"./argumento-referencia-funcao":31,"./atribuicao-por-indice":32,"./atribuicao-por-indices-matriz":33,"./atribuir":34,"./binario":35,"./chamada":36,"./comentario-como-construto":37,"./componente-linguagem":38,"./constante":39,"./construto":40,"./decorador":41,"./definir-valor":42,"./dicionario":43,"./enquanto-como-construto":44,"./expressao-regular":45,"./fazer-como-construto":46,"./fim-para":47,"./formatacao-escrita":48,"./funcao":49,"./isto":51,"./leia":52,"./lista-compreensao":53,"./literal":54,"./logico":55,"./para-cada-como-construto":56,"./para-como-construto":57,"./referencia-biblioteca-global":58,"./referencia-funcao":59,"./separador":60,"./super":61,"./tipo-de":62,"./tupla":63,"./tuplas":66,"./unario":74,"./variavel":75,"./vetor":76}],51:[function(require,module,exports){
7741
7967
  "use strict";
7742
7968
  Object.defineProperty(exports, "__esModule", { value: true });
7743
7969
  exports.Isto = void 0;
@@ -7756,7 +7982,7 @@ class Isto {
7756
7982
  }
7757
7983
  exports.Isto = Isto;
7758
7984
 
7759
- },{}],51:[function(require,module,exports){
7985
+ },{}],52:[function(require,module,exports){
7760
7986
  "use strict";
7761
7987
  Object.defineProperty(exports, "__esModule", { value: true });
7762
7988
  exports.Leia = void 0;
@@ -7782,7 +8008,7 @@ class Leia {
7782
8008
  }
7783
8009
  exports.Leia = Leia;
7784
8010
 
7785
- },{"../geracao-identificadores":111}],52:[function(require,module,exports){
8011
+ },{"../geracao-identificadores":111}],53:[function(require,module,exports){
7786
8012
  "use strict";
7787
8013
  Object.defineProperty(exports, "__esModule", { value: true });
7788
8014
  exports.ListaCompreensao = void 0;
@@ -7804,7 +8030,7 @@ class ListaCompreensao {
7804
8030
  }
7805
8031
  exports.ListaCompreensao = ListaCompreensao;
7806
8032
 
7807
- },{}],53:[function(require,module,exports){
8033
+ },{}],54:[function(require,module,exports){
7808
8034
  "use strict";
7809
8035
  Object.defineProperty(exports, "__esModule", { value: true });
7810
8036
  exports.Literal = void 0;
@@ -7824,7 +8050,7 @@ class Literal {
7824
8050
  }
7825
8051
  exports.Literal = Literal;
7826
8052
 
7827
- },{}],54:[function(require,module,exports){
8053
+ },{}],55:[function(require,module,exports){
7828
8054
  "use strict";
7829
8055
  Object.defineProperty(exports, "__esModule", { value: true });
7830
8056
  exports.Logico = void 0;
@@ -7847,7 +8073,7 @@ class Logico {
7847
8073
  }
7848
8074
  exports.Logico = Logico;
7849
8075
 
7850
- },{}],55:[function(require,module,exports){
8076
+ },{}],56:[function(require,module,exports){
7851
8077
  "use strict";
7852
8078
  Object.defineProperty(exports, "__esModule", { value: true });
7853
8079
  exports.ParaCadaComoConstruto = void 0;
@@ -7869,7 +8095,7 @@ class ParaCadaComoConstruto {
7869
8095
  }
7870
8096
  exports.ParaCadaComoConstruto = ParaCadaComoConstruto;
7871
8097
 
7872
- },{}],56:[function(require,module,exports){
8098
+ },{}],57:[function(require,module,exports){
7873
8099
  "use strict";
7874
8100
  Object.defineProperty(exports, "__esModule", { value: true });
7875
8101
  exports.ParaComoConstruto = void 0;
@@ -7894,7 +8120,7 @@ class ParaComoConstruto {
7894
8120
  }
7895
8121
  exports.ParaComoConstruto = ParaComoConstruto;
7896
8122
 
7897
- },{}],57:[function(require,module,exports){
8123
+ },{}],58:[function(require,module,exports){
7898
8124
  "use strict";
7899
8125
  Object.defineProperty(exports, "__esModule", { value: true });
7900
8126
  exports.ReferenciaBibliotecaGlobal = void 0;
@@ -7917,7 +8143,7 @@ class ReferenciaBibliotecaGlobal {
7917
8143
  }
7918
8144
  exports.ReferenciaBibliotecaGlobal = ReferenciaBibliotecaGlobal;
7919
8145
 
7920
- },{}],58:[function(require,module,exports){
8146
+ },{}],59:[function(require,module,exports){
7921
8147
  "use strict";
7922
8148
  Object.defineProperty(exports, "__esModule", { value: true });
7923
8149
  exports.ReferenciaFuncao = void 0;
@@ -7938,7 +8164,7 @@ class ReferenciaFuncao {
7938
8164
  }
7939
8165
  exports.ReferenciaFuncao = ReferenciaFuncao;
7940
8166
 
7941
- },{}],59:[function(require,module,exports){
8167
+ },{}],60:[function(require,module,exports){
7942
8168
  "use strict";
7943
8169
  Object.defineProperty(exports, "__esModule", { value: true });
7944
8170
  exports.Separador = void 0;
@@ -7957,7 +8183,7 @@ class Separador {
7957
8183
  }
7958
8184
  exports.Separador = Separador;
7959
8185
 
7960
- },{}],60:[function(require,module,exports){
8186
+ },{}],61:[function(require,module,exports){
7961
8187
  "use strict";
7962
8188
  Object.defineProperty(exports, "__esModule", { value: true });
7963
8189
  exports.Super = void 0;
@@ -7977,7 +8203,7 @@ class Super {
7977
8203
  }
7978
8204
  exports.Super = Super;
7979
8205
 
7980
- },{}],61:[function(require,module,exports){
8206
+ },{}],62:[function(require,module,exports){
7981
8207
  "use strict";
7982
8208
  Object.defineProperty(exports, "__esModule", { value: true });
7983
8209
  exports.TipoDe = void 0;
@@ -8001,7 +8227,7 @@ class TipoDe {
8001
8227
  }
8002
8228
  exports.TipoDe = TipoDe;
8003
8229
 
8004
- },{}],62:[function(require,module,exports){
8230
+ },{}],63:[function(require,module,exports){
8005
8231
  "use strict";
8006
8232
  Object.defineProperty(exports, "__esModule", { value: true });
8007
8233
  exports.Tupla = void 0;
@@ -8012,7 +8238,7 @@ class Tupla {
8012
8238
  }
8013
8239
  exports.Tupla = Tupla;
8014
8240
 
8015
- },{}],63:[function(require,module,exports){
8241
+ },{}],64:[function(require,module,exports){
8016
8242
  "use strict";
8017
8243
  Object.defineProperty(exports, "__esModule", { value: true });
8018
8244
  exports.Deceto = void 0;
@@ -8060,7 +8286,7 @@ class Deceto extends tupla_1.Tupla {
8060
8286
  }
8061
8287
  exports.Deceto = Deceto;
8062
8288
 
8063
- },{"../tupla":62}],64:[function(require,module,exports){
8289
+ },{"../tupla":63}],65:[function(require,module,exports){
8064
8290
  "use strict";
8065
8291
  Object.defineProperty(exports, "__esModule", { value: true });
8066
8292
  exports.Dupla = void 0;
@@ -8079,7 +8305,7 @@ class Dupla extends tupla_1.Tupla {
8079
8305
  }
8080
8306
  exports.Dupla = Dupla;
8081
8307
 
8082
- },{"../tupla":62}],65:[function(require,module,exports){
8308
+ },{"../tupla":63}],66:[function(require,module,exports){
8083
8309
  "use strict";
8084
8310
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8085
8311
  if (k2 === undefined) k2 = k;
@@ -8147,7 +8373,7 @@ class SeletorTuplas {
8147
8373
  }
8148
8374
  exports.SeletorTuplas = SeletorTuplas;
8149
8375
 
8150
- },{"./deceto":63,"./dupla":64,"./noneto":66,"./octeto":67,"./quarteto":68,"./quinteto":69,"./septeto":70,"./sexteto":71,"./trio":72}],66:[function(require,module,exports){
8376
+ },{"./deceto":64,"./dupla":65,"./noneto":67,"./octeto":68,"./quarteto":69,"./quinteto":70,"./septeto":71,"./sexteto":72,"./trio":73}],67:[function(require,module,exports){
8151
8377
  "use strict";
8152
8378
  Object.defineProperty(exports, "__esModule", { value: true });
8153
8379
  exports.Noneto = void 0;
@@ -8186,7 +8412,7 @@ class Noneto extends tupla_1.Tupla {
8186
8412
  }
8187
8413
  exports.Noneto = Noneto;
8188
8414
 
8189
- },{"../tupla":62}],67:[function(require,module,exports){
8415
+ },{"../tupla":63}],68:[function(require,module,exports){
8190
8416
  "use strict";
8191
8417
  Object.defineProperty(exports, "__esModule", { value: true });
8192
8418
  exports.Octeto = void 0;
@@ -8223,7 +8449,7 @@ class Octeto extends tupla_1.Tupla {
8223
8449
  }
8224
8450
  exports.Octeto = Octeto;
8225
8451
 
8226
- },{"../tupla":62}],68:[function(require,module,exports){
8452
+ },{"../tupla":63}],69:[function(require,module,exports){
8227
8453
  "use strict";
8228
8454
  Object.defineProperty(exports, "__esModule", { value: true });
8229
8455
  exports.Quarteto = void 0;
@@ -8246,7 +8472,7 @@ class Quarteto extends tupla_1.Tupla {
8246
8472
  }
8247
8473
  exports.Quarteto = Quarteto;
8248
8474
 
8249
- },{"../tupla":62}],69:[function(require,module,exports){
8475
+ },{"../tupla":63}],70:[function(require,module,exports){
8250
8476
  "use strict";
8251
8477
  Object.defineProperty(exports, "__esModule", { value: true });
8252
8478
  exports.Quinteto = void 0;
@@ -8271,7 +8497,7 @@ class Quinteto extends tupla_1.Tupla {
8271
8497
  }
8272
8498
  exports.Quinteto = Quinteto;
8273
8499
 
8274
- },{"../tupla":62}],70:[function(require,module,exports){
8500
+ },{"../tupla":63}],71:[function(require,module,exports){
8275
8501
  "use strict";
8276
8502
  Object.defineProperty(exports, "__esModule", { value: true });
8277
8503
  exports.Septeto = void 0;
@@ -8306,7 +8532,7 @@ class Septeto extends tupla_1.Tupla {
8306
8532
  }
8307
8533
  exports.Septeto = Septeto;
8308
8534
 
8309
- },{"../tupla":62}],71:[function(require,module,exports){
8535
+ },{"../tupla":63}],72:[function(require,module,exports){
8310
8536
  "use strict";
8311
8537
  Object.defineProperty(exports, "__esModule", { value: true });
8312
8538
  exports.Sexteto = void 0;
@@ -8333,7 +8559,7 @@ class Sexteto extends tupla_1.Tupla {
8333
8559
  }
8334
8560
  exports.Sexteto = Sexteto;
8335
8561
 
8336
- },{"../tupla":62}],72:[function(require,module,exports){
8562
+ },{"../tupla":63}],73:[function(require,module,exports){
8337
8563
  "use strict";
8338
8564
  Object.defineProperty(exports, "__esModule", { value: true });
8339
8565
  exports.Trio = void 0;
@@ -8354,7 +8580,7 @@ class Trio extends tupla_1.Tupla {
8354
8580
  }
8355
8581
  exports.Trio = Trio;
8356
8582
 
8357
- },{"../tupla":62}],73:[function(require,module,exports){
8583
+ },{"../tupla":63}],74:[function(require,module,exports){
8358
8584
  "use strict";
8359
8585
  Object.defineProperty(exports, "__esModule", { value: true });
8360
8586
  exports.Unario = void 0;
@@ -8375,7 +8601,7 @@ class Unario {
8375
8601
  }
8376
8602
  exports.Unario = Unario;
8377
8603
 
8378
- },{}],74:[function(require,module,exports){
8604
+ },{}],75:[function(require,module,exports){
8379
8605
  "use strict";
8380
8606
  Object.defineProperty(exports, "__esModule", { value: true });
8381
8607
  exports.Variavel = void 0;
@@ -8395,7 +8621,7 @@ class Variavel {
8395
8621
  }
8396
8622
  exports.Variavel = Variavel;
8397
8623
 
8398
- },{}],75:[function(require,module,exports){
8624
+ },{}],76:[function(require,module,exports){
8399
8625
  "use strict";
8400
8626
  Object.defineProperty(exports, "__esModule", { value: true });
8401
8627
  exports.Vetor = void 0;
@@ -8421,28 +8647,7 @@ class Vetor {
8421
8647
  }
8422
8648
  exports.Vetor = Vetor;
8423
8649
 
8424
- },{}],76:[function(require,module,exports){
8425
- "use strict";
8426
- Object.defineProperty(exports, "__esModule", { value: true });
8427
- exports.Aleatorio = void 0;
8428
- const declaracao_1 = require("./declaracao");
8429
- // TODO: Mover para VisuAlg e depreciar.
8430
- class Aleatorio extends declaracao_1.Declaracao {
8431
- constructor(linha, hashArquivo, corpo, argumentos) {
8432
- super(linha, hashArquivo);
8433
- this.corpo = corpo;
8434
- this.argumentos = argumentos;
8435
- }
8436
- async aceitar(visitante) {
8437
- return await visitante.visitarDeclaracaoAleatorio(this);
8438
- }
8439
- paraTexto() {
8440
- return `<aleatório />`;
8441
- }
8442
- }
8443
- exports.Aleatorio = Aleatorio;
8444
-
8445
- },{"./declaracao":84}],77:[function(require,module,exports){
8650
+ },{}],77:[function(require,module,exports){
8446
8651
  "use strict";
8447
8652
  Object.defineProperty(exports, "__esModule", { value: true });
8448
8653
  exports.Bloco = void 0;
@@ -8809,7 +9014,7 @@ class FuncaoDeclaracao extends declaracao_1.Declaracao {
8809
9014
  this.decoradores = decoradores;
8810
9015
  }
8811
9016
  async aceitar(visitante) {
8812
- return Promise.resolve(visitante.visitarDeclaracaoDefinicaoFuncao(this));
9017
+ return await visitante.visitarDeclaracaoDefinicaoFuncao(this);
8813
9018
  }
8814
9019
  paraTexto() {
8815
9020
  // TODO: Corpo.
@@ -8859,7 +9064,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
8859
9064
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
8860
9065
  };
8861
9066
  Object.defineProperty(exports, "__esModule", { value: true });
8862
- __exportStar(require("./aleatorio"), exports);
8863
9067
  __exportStar(require("./bloco"), exports);
8864
9068
  __exportStar(require("./cabecalho-programa"), exports);
8865
9069
  __exportStar(require("./classe"), exports);
@@ -8890,7 +9094,7 @@ __exportStar(require("./tente"), exports);
8890
9094
  __exportStar(require("./var"), exports);
8891
9095
  __exportStar(require("./var-multiplo"), exports);
8892
9096
 
8893
- },{"./aleatorio":76,"./bloco":77,"./cabecalho-programa":78,"./classe":79,"./comentario":80,"./const":82,"./const-multiplo":81,"./continua":83,"./declaracao":84,"./enquanto":85,"./escolha":86,"./escreva":88,"./escreva-mesma-linha":87,"./expressao":89,"./falhar":90,"./fazer":91,"./funcao":92,"./importar":93,"./inicio-algoritmo":95,"./para":97,"./para-cada":96,"./propriedade-classe":98,"./retorna":99,"./se":100,"./sustar":101,"./tendo-como":102,"./tente":103,"./var":105,"./var-multiplo":104}],95:[function(require,module,exports){
9097
+ },{"./bloco":77,"./cabecalho-programa":78,"./classe":79,"./comentario":80,"./const":82,"./const-multiplo":81,"./continua":83,"./declaracao":84,"./enquanto":85,"./escolha":86,"./escreva":88,"./escreva-mesma-linha":87,"./expressao":89,"./falhar":90,"./fazer":91,"./funcao":92,"./importar":93,"./inicio-algoritmo":95,"./para":97,"./para-cada":96,"./propriedade-classe":98,"./retorna":99,"./se":100,"./sustar":101,"./tendo-como":102,"./tente":103,"./var":105,"./var-multiplo":104}],95:[function(require,module,exports){
8894
9098
  "use strict";
8895
9099
  Object.defineProperty(exports, "__esModule", { value: true });
8896
9100
  exports.InicioAlgoritmo = void 0;
@@ -9621,9 +9825,6 @@ class FormatadorDelegua {
9621
9825
  }
9622
9826
  this.codigoFormatado += ')';
9623
9827
  }
9624
- visitarDeclaracaoAleatorio(declaracao) {
9625
- throw new Error('Método não implementado.');
9626
- }
9627
9828
  visitarExpressaoDefinirValor(expressao) {
9628
9829
  this.formatarDeclaracaoOuConstruto(expressao.objeto);
9629
9830
  this.codigoFormatado += `.${expressao.nome.lexema} = `;
@@ -9697,7 +9898,13 @@ class FormatadorDelegua {
9697
9898
  }
9698
9899
  visitarExpressaoLiteral(expressao) {
9699
9900
  if (typeof expressao.valor === 'string') {
9700
- this.codigoFormatado += `'${expressao.valor}'`;
9901
+ const valorStr = expressao.valor
9902
+ .replace(/\\/g, '\\\\')
9903
+ .replace(/\r/g, '\\r')
9904
+ .replace(/\n/g, '\\n')
9905
+ .replace(/\t/g, '\\t')
9906
+ .replace(/'/g, "\\'");
9907
+ this.codigoFormatado += `'${valorStr}'`;
9701
9908
  return;
9702
9909
  }
9703
9910
  if (['logico', 'lógico'].includes(expressao.tipo)) {
@@ -9932,182 +10139,236 @@ class FormatadorDelegua {
9932
10139
  }
9933
10140
  exports.FormatadorDelegua = FormatadorDelegua;
9934
10141
 
9935
- },{"../construtos":49,"../tipos-de-simbolos/delegua":183}],109:[function(require,module,exports){
10142
+ },{"../construtos":50,"../tipos-de-simbolos/delegua":183}],109:[function(require,module,exports){
9936
10143
  "use strict";
9937
10144
  Object.defineProperty(exports, "__esModule", { value: true });
9938
10145
  exports.FormatadorPitugues = void 0;
9939
10146
  class FormatadorPitugues {
10147
+ /* istanbul ignore next */
9940
10148
  visitarExpressaoSeparador(expressao) {
9941
10149
  throw new Error('Método não implementado.');
9942
10150
  }
10151
+ /* istanbul ignore next */
9943
10152
  visitarExpressaoComentario(expressao) {
9944
10153
  throw new Error('Método não implementado.');
9945
10154
  }
10155
+ /* istanbul ignore next */
9946
10156
  visitarExpressaoArgumentoReferenciaFuncao(expressao) {
9947
10157
  throw new Error('Método não implementado.');
9948
10158
  }
10159
+ /* istanbul ignore next */
9949
10160
  visitarExpressaoReferenciaFuncao(expressao) {
9950
10161
  throw new Error('Método não implementado.');
9951
10162
  }
9952
- visitarDeclaracaoAleatorio(declaracao) {
9953
- throw new Error('Método não implementado.');
9954
- }
10163
+ /* istanbul ignore next */
9955
10164
  visitarDeclaracaoCabecalhoPrograma(declaracao) {
9956
10165
  throw new Error('Método não implementado.');
9957
10166
  }
10167
+ /* istanbul ignore next */
9958
10168
  visitarDeclaracaoClasse(declaracao) {
9959
10169
  throw new Error('Método não implementado.');
9960
10170
  }
10171
+ /* istanbul ignore next */
9961
10172
  visitarDeclaracaoComentario(declaracao) {
9962
10173
  throw new Error('Método não implementado.');
9963
10174
  }
10175
+ /* istanbul ignore next */
9964
10176
  visitarDeclaracaoConst(declaracao) {
9965
10177
  throw new Error('Método não implementado.');
9966
10178
  }
10179
+ /* istanbul ignore next */
9967
10180
  visitarDeclaracaoConstMultiplo(declaracao) {
9968
10181
  throw new Error('Método não implementado.');
9969
10182
  }
10183
+ /* istanbul ignore next */
9970
10184
  visitarDeclaracaoDeExpressao(declaracao) {
9971
10185
  throw new Error('Método não implementado.');
9972
10186
  }
10187
+ /* istanbul ignore next */
9973
10188
  visitarDeclaracaoDefinicaoFuncao(declaracao) {
9974
10189
  throw new Error('Método não implementado.');
9975
10190
  }
10191
+ /* istanbul ignore next */
9976
10192
  visitarDeclaracaoEnquanto(declaracao) {
9977
10193
  throw new Error('Método não implementado.');
9978
10194
  }
10195
+ /* istanbul ignore next */
9979
10196
  visitarDeclaracaoEscolha(declaracao) {
9980
10197
  throw new Error('Método não implementado.');
9981
10198
  }
10199
+ /* istanbul ignore next */
9982
10200
  visitarDeclaracaoEscreva(declaracao) {
9983
10201
  throw new Error('Método não implementado.');
9984
10202
  }
10203
+ /* istanbul ignore next */
9985
10204
  visitarDeclaracaoEscrevaMesmaLinha(declaracao) {
9986
10205
  throw new Error('Método não implementado.');
9987
10206
  }
10207
+ /* istanbul ignore next */
9988
10208
  visitarDeclaracaoFazer(declaracao) {
9989
10209
  throw new Error('Método não implementado.');
9990
10210
  }
10211
+ /* istanbul ignore next */
9991
10212
  visitarDeclaracaoImportar(declaracao) {
9992
10213
  throw new Error('Método não implementado.');
9993
10214
  }
10215
+ /* istanbul ignore next */
9994
10216
  visitarDeclaracaoInicioAlgoritmo(declaracao) {
9995
10217
  throw new Error('Método não implementado.');
9996
10218
  }
10219
+ /* istanbul ignore next */
9997
10220
  visitarDeclaracaoPara(declaracao) {
9998
10221
  throw new Error('Método não implementado.');
9999
10222
  }
10223
+ /* istanbul ignore next */
10000
10224
  visitarDeclaracaoParaCada(declaracao) {
10001
10225
  throw new Error('Método não implementado.');
10002
10226
  }
10227
+ /* istanbul ignore next */
10003
10228
  visitarDeclaracaoSe(declaracao) {
10004
10229
  throw new Error('Método não implementado.');
10005
10230
  }
10231
+ /* istanbul ignore next */
10006
10232
  visitarDeclaracaoTendoComo(declaracao) {
10007
10233
  throw new Error('Método não implementado.');
10008
10234
  }
10235
+ /* istanbul ignore next */
10009
10236
  visitarDeclaracaoTente(declaracao) {
10010
10237
  throw new Error('Método não implementado.');
10011
10238
  }
10239
+ /* istanbul ignore next */
10012
10240
  visitarDeclaracaoVar(declaracao) {
10013
10241
  throw new Error('Método não implementado.');
10014
10242
  }
10243
+ /* istanbul ignore next */
10015
10244
  visitarDeclaracaoVarMultiplo(declaracao) {
10016
10245
  throw new Error('Método não implementado.');
10017
10246
  }
10247
+ /* istanbul ignore next */
10018
10248
  visitarExpressaoDeAtribuicao(expressao) {
10019
10249
  throw new Error('Método não implementado.');
10020
10250
  }
10251
+ /* istanbul ignore next */
10021
10252
  visitarExpressaoAcessoIndiceVariavel(expressao) {
10022
10253
  throw new Error('Método não implementado.');
10023
10254
  }
10255
+ /* istanbul ignore next */
10024
10256
  visitarExpressaoAcessoElementoMatriz(expressao) {
10025
10257
  throw new Error('Método não implementado.');
10026
10258
  }
10259
+ /* istanbul ignore next */
10027
10260
  visitarExpressaoAcessoMetodo(expressao) {
10028
10261
  throw new Error('Método não implementado.');
10029
10262
  }
10263
+ /* istanbul ignore next */
10030
10264
  visitarExpressaoAcessoMetodoOuPropriedade(expressao) {
10031
10265
  throw new Error('Método não implementado.');
10032
10266
  }
10267
+ /* istanbul ignore next */
10033
10268
  visitarExpressaoAcessoPropriedade(expressao) {
10034
10269
  throw new Error('Método não implementado.');
10035
10270
  }
10271
+ /* istanbul ignore next */
10036
10272
  visitarExpressaoAgrupamento(expressao) {
10037
10273
  throw new Error('Método não implementado.');
10038
10274
  }
10275
+ /* istanbul ignore next */
10039
10276
  visitarExpressaoAtribuicaoPorIndice(expressao) {
10040
10277
  throw new Error('Método não implementado.');
10041
10278
  }
10279
+ /* istanbul ignore next */
10042
10280
  visitarExpressaoAtribuicaoPorIndicesMatriz(expressao) {
10043
10281
  throw new Error('Método não implementado.');
10044
10282
  }
10283
+ /* istanbul ignore next */
10045
10284
  visitarExpressaoBinaria(expressao) {
10046
10285
  throw new Error('Método não implementado.');
10047
10286
  }
10287
+ /* istanbul ignore next */
10048
10288
  visitarExpressaoBloco(declaracao) {
10049
10289
  throw new Error('Método não implementado.');
10050
10290
  }
10291
+ /* istanbul ignore next */
10051
10292
  visitarExpressaoContinua(declaracao) {
10052
10293
  throw new Error('Método não implementado.');
10053
10294
  }
10295
+ /* istanbul ignore next */
10054
10296
  visitarExpressaoDeChamada(expressao) {
10055
10297
  throw new Error('Método não implementado.');
10056
10298
  }
10299
+ /* istanbul ignore next */
10057
10300
  visitarExpressaoDefinirValor(expressao) {
10058
10301
  throw new Error('Método não implementado.');
10059
10302
  }
10303
+ /* istanbul ignore next */
10060
10304
  visitarExpressaoFuncaoConstruto(expressao) {
10061
10305
  throw new Error('Método não implementado.');
10062
10306
  }
10307
+ /* istanbul ignore next */
10063
10308
  visitarExpressaoDeVariavel(expressao) {
10064
10309
  throw new Error('Método não implementado.');
10065
10310
  }
10311
+ /* istanbul ignore next */
10066
10312
  visitarExpressaoDicionario(expressao) {
10067
10313
  throw new Error('Método não implementado.');
10068
10314
  }
10315
+ /* istanbul ignore next */
10069
10316
  visitarExpressaoExpressaoRegular(expressao) {
10070
10317
  throw new Error('Método não implementado.');
10071
10318
  }
10319
+ /* istanbul ignore next */
10072
10320
  visitarExpressaoFalhar(expressao) {
10073
10321
  throw new Error('Método não implementado.');
10074
10322
  }
10323
+ /* istanbul ignore next */
10075
10324
  visitarExpressaoFimPara(declaracao) {
10076
10325
  throw new Error('Método não implementado.');
10077
10326
  }
10327
+ /* istanbul ignore next */
10078
10328
  visitarExpressaoFormatacaoEscrita(declaracao) {
10079
10329
  throw new Error('Método não implementado.');
10080
10330
  }
10331
+ /* istanbul ignore next */
10081
10332
  visitarExpressaoIsto(expressao) {
10082
10333
  throw new Error('Método não implementado.');
10083
10334
  }
10335
+ /* istanbul ignore next */
10084
10336
  visitarExpressaoLeia(expressao) {
10085
10337
  throw new Error('Método não implementado.');
10086
10338
  }
10339
+ /* istanbul ignore next */
10087
10340
  visitarExpressaoLiteral(expressao) {
10088
10341
  throw new Error('Método não implementado.');
10089
10342
  }
10343
+ /* istanbul ignore next */
10090
10344
  visitarExpressaoLogica(expressao) {
10091
10345
  throw new Error('Método não implementado.');
10092
10346
  }
10347
+ /* istanbul ignore next */
10093
10348
  visitarExpressaoRetornar(declaracao) {
10094
10349
  throw new Error('Método não implementado.');
10095
10350
  }
10351
+ /* istanbul ignore next */
10096
10352
  visitarExpressaoSuper(expressao) {
10097
10353
  throw new Error('Método não implementado.');
10098
10354
  }
10355
+ /* istanbul ignore next */
10099
10356
  visitarExpressaoSustar(declaracao) {
10100
10357
  throw new Error('Método não implementado.');
10101
10358
  }
10359
+ /* istanbul ignore next */
10102
10360
  visitarExpressaoTupla(expressao) {
10103
10361
  throw new Error('Método não implementado.');
10104
10362
  }
10363
+ /* istanbul ignore next */
10105
10364
  visitarExpressaoTipoDe(expressao) {
10106
10365
  throw new Error('Método não implementado.');
10107
10366
  }
10367
+ /* istanbul ignore next */
10108
10368
  visitarExpressaoUnaria(expressao) {
10109
10369
  throw new Error('Método não implementado.');
10110
10370
  }
10371
+ /* istanbul ignore next */
10111
10372
  visitarExpressaoVetor(expressao) {
10112
10373
  throw new Error('Método não implementado.');
10113
10374
  }
@@ -10205,7 +10466,7 @@ __exportStar(require("./interpretador"), exports);
10205
10466
  __exportStar(require("./lexador"), exports);
10206
10467
  __exportStar(require("./tradutores"), exports);
10207
10468
 
10208
- },{"./avaliador-sintatico":11,"./construtos":49,"./declaracoes":94,"./formatadores":110,"./geracao-identificadores":111,"./interfaces":120,"./interpretador":152,"./lexador":170,"./tradutores":190}],113:[function(require,module,exports){
10469
+ },{"./avaliador-sintatico":12,"./construtos":50,"./declaracoes":94,"./formatadores":110,"./geracao-identificadores":111,"./interfaces":120,"./interpretador":152,"./lexador":170,"./tradutores":190}],113:[function(require,module,exports){
10209
10470
  "use strict";
10210
10471
  var __importDefault = (this && this.__importDefault) || function (mod) {
10211
10472
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -10586,7 +10847,7 @@ function carregarBibliotecasGlobais(pilhaEscoposExecucao) {
10586
10847
  pilhaEscoposExecucao.definirVariavel('tupla', new funcao_padrao_1.FuncaoPadrao(1, bibliotecaGlobal.tupla));
10587
10848
  }
10588
10849
 
10589
- },{"../bibliotecas/biblioteca-global":19,"./estruturas/funcao-padrao":145}],140:[function(require,module,exports){
10850
+ },{"../bibliotecas/biblioteca-global":20,"./estruturas/funcao-padrao":145}],140:[function(require,module,exports){
10590
10851
  "use strict";
10591
10852
  Object.defineProperty(exports, "__esModule", { value: true });
10592
10853
  exports.EspacoMemoria = void 0;
@@ -12353,9 +12614,9 @@ class InterpretadorBase {
12353
12614
  visitarDeclaracaoDefinicaoFuncao(declaracao) {
12354
12615
  const funcao = new estruturas_1.DeleguaFuncao(declaracao.simbolo.lexema, declaracao.funcao);
12355
12616
  this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, funcao);
12356
- return {
12617
+ return Promise.resolve({
12357
12618
  declaracao: funcao
12358
- };
12619
+ });
12359
12620
  }
12360
12621
  /**
12361
12622
  * Executa uma declaração de classe.
@@ -12449,9 +12710,6 @@ class InterpretadorBase {
12449
12710
  visitarExpressaoIsto(expressao) {
12450
12711
  return this.procurarVariavel(expressao.palavraChave);
12451
12712
  }
12452
- visitarDeclaracaoAleatorio(declaracao) {
12453
- return Promise.resolve();
12454
- }
12455
12713
  async visitarExpressaoDicionario(expressao) {
12456
12714
  const dicionario = {};
12457
12715
  for (let i = 0; i < expressao.chaves.length; i++) {
@@ -12709,7 +12967,7 @@ class InterpretadorBase {
12709
12967
  exports.InterpretadorBase = InterpretadorBase;
12710
12968
 
12711
12969
  }).call(this)}).call(this,require('_process'))
12712
- },{"../avaliador-sintatico":11,"../bibliotecas/primitivas-dicionario":20,"../construtos":49,"../excecoes":107,"../inferenciador":113,"../lexador":170,"../quebras":177,"../tipos-de-dados/delegua":178,"../tipos-de-dados/primitivos":180,"../tipos-de-simbolos/delegua":183,"./comum":139,"./espaco-memoria":140,"./estruturas":146,"./estruturas/metodo-primitiva":147,"./pilha-escopos-execucao":156,"_process":417,"browser-process-hrtime":363}],154:[function(require,module,exports){
12970
+ },{"../avaliador-sintatico":12,"../bibliotecas/primitivas-dicionario":21,"../construtos":50,"../excecoes":107,"../inferenciador":113,"../lexador":170,"../quebras":177,"../tipos-de-dados/delegua":178,"../tipos-de-dados/primitivos":180,"../tipos-de-simbolos/delegua":183,"./comum":139,"./espaco-memoria":140,"./estruturas":146,"./estruturas/metodo-primitiva":147,"./pilha-escopos-execucao":156,"_process":417,"browser-process-hrtime":363}],154:[function(require,module,exports){
12713
12971
  "use strict";
12714
12972
  var __importDefault = (this && this.__importDefault) || function (mod) {
12715
12973
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -12862,11 +13120,11 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
12862
13120
  // TODO: Depreciar essa abordagem a favor do uso por referências?
12863
13121
  this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, funcao);
12864
13122
  this.pilhaEscoposExecucao.registrarReferenciaFuncao(declaracao.id, funcao);
12865
- return {
13123
+ return Promise.resolve({
12866
13124
  tipo: `função<${funcao.declaracao.tipo || 'qualquer'}>`,
12867
13125
  tipoExplicito: funcao.declaracao.tipoExplicito,
12868
13126
  declaracao: funcao
12869
- };
13127
+ });
12870
13128
  }
12871
13129
  async logicaComumExecucaoEnquanto(enquanto, acumularRetornos) {
12872
13130
  let retornoExecucao;
@@ -13231,6 +13489,14 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
13231
13489
  }
13232
13490
  return objeto[expressao.simbolo.lexema];
13233
13491
  }
13492
+ // String do JavaScript, ou seja, primitiva de texto.
13493
+ if (objeto.constructor === String) {
13494
+ if (!(expressao.simbolo.lexema in primitivas_texto_1.default)) {
13495
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simbolo, `Método de primitiva '${expressao.simbolo.lexema}' não existe para o tipo texto.`);
13496
+ }
13497
+ const metodoDePrimitivaTexto = primitivas_texto_1.default[expressao.simbolo.lexema].implementacao;
13498
+ return new estruturas_1.MetodoPrimitiva(nomeObjeto, objeto, metodoDePrimitivaTexto);
13499
+ }
13234
13500
  // A partir daqui, presume-se que o objeto é uma das estruturas
13235
13501
  // de Delégua.
13236
13502
  if (objeto instanceof estruturas_1.DeleguaModulo) {
@@ -13653,7 +13919,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
13653
13919
  }
13654
13920
  exports.Interpretador = Interpretador;
13655
13921
 
13656
- },{"../bibliotecas/primitivas-dicionario":20,"../bibliotecas/primitivas-numero":21,"../bibliotecas/primitivas-texto":22,"../bibliotecas/primitivas-vetor":23,"../construtos":49,"../declaracoes":94,"../excecoes":107,"../inferenciador":113,"../quebras":177,"../tipos-de-dados/delegua":178,"../tipos-de-dados/primitivos":180,"./estruturas":146,"./interpretador-base":153,"./montao":155}],155:[function(require,module,exports){
13922
+ },{"../bibliotecas/primitivas-dicionario":21,"../bibliotecas/primitivas-numero":22,"../bibliotecas/primitivas-texto":23,"../bibliotecas/primitivas-vetor":24,"../construtos":50,"../declaracoes":94,"../excecoes":107,"../inferenciador":113,"../quebras":177,"../tipos-de-dados/delegua":178,"../tipos-de-dados/primitivos":180,"./estruturas":146,"./interpretador-base":153,"./montao":155}],155:[function(require,module,exports){
13657
13923
  "use strict";
13658
13924
  Object.defineProperty(exports, "__esModule", { value: true });
13659
13925
  exports.Montao = void 0;
@@ -16303,7 +16569,7 @@ class Lexador {
16303
16569
  const caractere = this.simboloAtual();
16304
16570
  if (caractere === delimitador) {
16305
16571
  this.avancar();
16306
- this.adicionarSimbolo(delegua_1.default.TEXTO, textoCompleto);
16572
+ this.adicionarSimbolo(delegua_1.default.TEXTO, textoCompleto.replace(/\\n/g, '\n'));
16307
16573
  return;
16308
16574
  }
16309
16575
  if (caractere === '\0' && this.eUltimaLinha()) {
@@ -30708,10 +30974,11 @@ class TradutorAssemblyScript {
30708
30974
  }
30709
30975
  exports.TradutorAssemblyScript = TradutorAssemblyScript;
30710
30976
 
30711
- },{"../construtos":49,"../declaracoes":94,"../tipos-de-simbolos/delegua":183}],194:[function(require,module,exports){
30977
+ },{"../construtos":50,"../declaracoes":94,"../tipos-de-simbolos/delegua":183}],194:[function(require,module,exports){
30712
30978
  "use strict";
30713
30979
  Object.defineProperty(exports, "__esModule", { value: true });
30714
30980
  exports.TradutorCalango = void 0;
30981
+ const avaliador_sintatico_calango_1 = require("../avaliador-sintatico/dialetos/avaliador-sintatico-calango");
30715
30982
  const dialetos_1 = require("../lexador/dialetos");
30716
30983
  class TradutorCalango {
30717
30984
  constructor() {
@@ -30758,19 +31025,18 @@ class TradutorCalango {
30758
31025
  traduzir(codigo) {
30759
31026
  let resultado = '';
30760
31027
  this.lexador = new dialetos_1.LexadorCalango();
30761
- // TODO: Implementar quando houver avaliador sintático pronto.
30762
- // this.avaliadorSintatico = new AvaliadorSintaticoCalango();
30763
- // const retornoLexador = this.lexador.mapear(codigo.split('\n'), -1);
30764
- // const retornoAvaliadorSintatico = this.avaliadorSintatico.analisar(retornoLexador, -1);
30765
- // for (const declaracao of retornoAvaliadorSintatico.declaracoes) {
30766
- // resultado += `${this.dicionarioDeclaracoes[declaracao.constructor.name](declaracao)} \n`;
30767
- // }
31028
+ this.avaliadorSintatico = new avaliador_sintatico_calango_1.AvaliadorSintaticoCalango();
31029
+ const retornoLexador = this.lexador.mapear(codigo.split('\n'), -1);
31030
+ const retornoAvaliadorSintatico = this.avaliadorSintatico.analisar(retornoLexador, -1);
31031
+ for (const declaracao of retornoAvaliadorSintatico.declaracoes) {
31032
+ resultado += `${this.dicionarioDeclaracoes[declaracao.constructor.name](declaracao)} \n`;
31033
+ }
30768
31034
  return resultado;
30769
31035
  }
30770
31036
  }
30771
31037
  exports.TradutorCalango = TradutorCalango;
30772
31038
 
30773
- },{"../lexador/dialetos":157}],195:[function(require,module,exports){
31039
+ },{"../avaliador-sintatico/dialetos/avaliador-sintatico-calango":4,"../lexador/dialetos":157}],195:[function(require,module,exports){
30774
31040
  "use strict";
30775
31041
  var __importDefault = (this && this.__importDefault) || function (mod) {
30776
31042
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -31514,7 +31780,7 @@ class TradutorJavaScript {
31514
31780
  }
31515
31781
  exports.TradutorJavaScript = TradutorJavaScript;
31516
31782
 
31517
- },{"../construtos":49,"../declaracoes":94,"../tipos-de-simbolos/delegua":183}],196:[function(require,module,exports){
31783
+ },{"../construtos":50,"../declaracoes":94,"../tipos-de-simbolos/delegua":183}],196:[function(require,module,exports){
31518
31784
  "use strict";
31519
31785
  var __importDefault = (this && this.__importDefault) || function (mod) {
31520
31786
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -32030,7 +32296,7 @@ class TradutorPortugolIpt {
32030
32296
  }
32031
32297
  exports.TradutorPortugolIpt = TradutorPortugolIpt;
32032
32298
 
32033
- },{"../avaliador-sintatico/dialetos":8,"../lexador/dialetos":157}],198:[function(require,module,exports){
32299
+ },{"../avaliador-sintatico/dialetos":9,"../lexador/dialetos":157}],198:[function(require,module,exports){
32034
32300
  "use strict";
32035
32301
  var __importDefault = (this && this.__importDefault) || function (mod) {
32036
32302
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -32672,7 +32938,7 @@ class TradutorPython {
32672
32938
  }
32673
32939
  exports.TradutorPython = TradutorPython;
32674
32940
 
32675
- },{"../construtos":49,"../declaracoes":94,"../tipos-de-simbolos/delegua":183}],199:[function(require,module,exports){
32941
+ },{"../construtos":50,"../declaracoes":94,"../tipos-de-simbolos/delegua":183}],199:[function(require,module,exports){
32676
32942
  "use strict";
32677
32943
  Object.defineProperty(exports, "__esModule", { value: true });
32678
32944
  exports.TradutorReversoJavaScript = void 0;
@@ -33736,7 +34002,7 @@ class TradutorReversoTenda {
33736
34002
  }
33737
34003
  exports.TradutorReversoTenda = TradutorReversoTenda;
33738
34004
 
33739
- },{"../construtos":49,"../tipos-de-simbolos/tenda":189}],202:[function(require,module,exports){
34005
+ },{"../construtos":50,"../tipos-de-simbolos/tenda":189}],202:[function(require,module,exports){
33740
34006
  "use strict";
33741
34007
  /*!
33742
34008
  * Copyright 2016 The ANTLR Project. All rights reserved.