@designliquido/delegua 0.40.0 → 0.41.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.
Files changed (121) hide show
  1. package/analisador-semantico/analisador-semantico-base.d.ts +3 -1
  2. package/analisador-semantico/analisador-semantico-base.d.ts.map +1 -1
  3. package/analisador-semantico/analisador-semantico-base.js +8 -2
  4. package/analisador-semantico/analisador-semantico-base.js.map +1 -1
  5. package/analisador-semantico/analisador-semantico.d.ts +7 -3
  6. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  7. package/analisador-semantico/analisador-semantico.js +90 -49
  8. package/analisador-semantico/analisador-semantico.js.map +1 -1
  9. package/avaliador-sintatico/avaliador-sintatico.d.ts +2 -0
  10. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  11. package/avaliador-sintatico/avaliador-sintatico.js +52 -18
  12. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  13. package/avaliador-sintatico/informacao-escopo.d.ts +4 -0
  14. package/avaliador-sintatico/informacao-escopo.d.ts.map +1 -1
  15. package/avaliador-sintatico/informacao-escopo.js +1 -0
  16. package/avaliador-sintatico/informacao-escopo.js.map +1 -1
  17. package/avaliador-sintatico/pilha-escopos.d.ts +3 -0
  18. package/avaliador-sintatico/pilha-escopos.d.ts.map +1 -1
  19. package/avaliador-sintatico/pilha-escopos.js +13 -0
  20. package/avaliador-sintatico/pilha-escopos.js.map +1 -1
  21. package/bin/package.json +1 -1
  22. package/construtos/argumento-referencia-funcao.d.ts +16 -0
  23. package/construtos/argumento-referencia-funcao.d.ts.map +1 -0
  24. package/construtos/argumento-referencia-funcao.js +20 -0
  25. package/construtos/argumento-referencia-funcao.js.map +1 -0
  26. package/construtos/chamada.d.ts +1 -0
  27. package/construtos/chamada.d.ts.map +1 -1
  28. package/construtos/chamada.js.map +1 -1
  29. package/construtos/constante.d.ts +1 -0
  30. package/construtos/constante.d.ts.map +1 -1
  31. package/construtos/constante.js.map +1 -1
  32. package/construtos/funcao.d.ts +1 -1
  33. package/construtos/funcao.d.ts.map +1 -1
  34. package/construtos/funcao.js +1 -1
  35. package/construtos/funcao.js.map +1 -1
  36. package/construtos/index.d.ts +2 -0
  37. package/construtos/index.d.ts.map +1 -1
  38. package/construtos/index.js +2 -0
  39. package/construtos/index.js.map +1 -1
  40. package/construtos/referencia-funcao.d.ts +12 -0
  41. package/construtos/referencia-funcao.d.ts.map +1 -0
  42. package/construtos/referencia-funcao.js +17 -0
  43. package/construtos/referencia-funcao.js.map +1 -0
  44. package/construtos/variavel.d.ts +1 -0
  45. package/construtos/variavel.d.ts.map +1 -1
  46. package/construtos/variavel.js.map +1 -1
  47. package/declaracoes/funcao.d.ts +2 -1
  48. package/declaracoes/funcao.d.ts.map +1 -1
  49. package/declaracoes/funcao.js +3 -1
  50. package/declaracoes/funcao.js.map +1 -1
  51. package/declaracoes/index.d.ts +2 -2
  52. package/declaracoes/index.d.ts.map +1 -1
  53. package/declaracoes/index.js +2 -2
  54. package/declaracoes/index.js.map +1 -1
  55. package/espaco-variaveis.d.ts +4 -0
  56. package/espaco-variaveis.d.ts.map +1 -1
  57. package/espaco-variaveis.js +1 -0
  58. package/espaco-variaveis.js.map +1 -1
  59. package/estruturas/delegua-funcao.d.ts.map +1 -1
  60. package/estruturas/delegua-funcao.js +17 -4
  61. package/estruturas/delegua-funcao.js.map +1 -1
  62. package/formatadores/formatador-delegua.d.ts +6 -4
  63. package/formatadores/formatador-delegua.d.ts.map +1 -1
  64. package/formatadores/formatador-delegua.js +22 -0
  65. package/formatadores/formatador-delegua.js.map +1 -1
  66. package/formatadores/formatador-pitugues.d.ts +3 -1
  67. package/formatadores/formatador-pitugues.d.ts.map +1 -1
  68. package/formatadores/formatador-pitugues.js +6 -0
  69. package/formatadores/formatador-pitugues.js.map +1 -1
  70. package/formatadores/index.d.ts +1 -0
  71. package/formatadores/index.d.ts.map +1 -1
  72. package/formatadores/index.js +1 -0
  73. package/formatadores/index.js.map +1 -1
  74. package/inferenciador.d.ts.map +1 -1
  75. package/inferenciador.js.map +1 -1
  76. package/interfaces/pilha-escopos-execucao-interface.d.ts +6 -4
  77. package/interfaces/pilha-escopos-execucao-interface.d.ts.map +1 -1
  78. package/interfaces/visitante-comum-interface.d.ts +3 -1
  79. package/interfaces/visitante-comum-interface.d.ts.map +1 -1
  80. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +3 -1
  81. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts.map +1 -1
  82. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +6 -0
  83. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  84. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +3 -1
  85. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts.map +1 -1
  86. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +6 -0
  87. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
  88. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +3 -1
  89. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts.map +1 -1
  90. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +7 -1
  91. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  92. package/interpretador/interpretador-base.d.ts +3 -1
  93. package/interpretador/interpretador-base.d.ts.map +1 -1
  94. package/interpretador/interpretador-base.js +14 -7
  95. package/interpretador/interpretador-base.js.map +1 -1
  96. package/interpretador/interpretador.d.ts +7 -1
  97. package/interpretador/interpretador.d.ts.map +1 -1
  98. package/interpretador/interpretador.js +31 -2
  99. package/interpretador/interpretador.js.map +1 -1
  100. package/interpretador/pilha-escopos-execucao.d.ts +3 -1
  101. package/interpretador/pilha-escopos-execucao.d.ts.map +1 -1
  102. package/interpretador/pilha-escopos-execucao.js +14 -1
  103. package/interpretador/pilha-escopos-execucao.js.map +1 -1
  104. package/package.json +1 -1
  105. package/quebras/index.d.ts +2 -0
  106. package/quebras/index.d.ts.map +1 -1
  107. package/quebras/index.js +3 -0
  108. package/quebras/index.js.map +1 -1
  109. package/tradutores/tradutor-assemblyscript.d.ts +7 -3
  110. package/tradutores/tradutor-assemblyscript.d.ts.map +1 -1
  111. package/tradutores/tradutor-assemblyscript.js +30 -8
  112. package/tradutores/tradutor-assemblyscript.js.map +1 -1
  113. package/tradutores/tradutor-javascript.d.ts +8 -4
  114. package/tradutores/tradutor-javascript.d.ts.map +1 -1
  115. package/tradutores/tradutor-javascript.js +38 -16
  116. package/tradutores/tradutor-javascript.js.map +1 -1
  117. package/tradutores/tradutor-python.d.ts +5 -1
  118. package/tradutores/tradutor-python.d.ts.map +1 -1
  119. package/tradutores/tradutor-python.js +24 -0
  120. package/tradutores/tradutor-python.js.map +1 -1
  121. package/umd/delegua.js +863 -439
package/umd/delegua.js CHANGED
@@ -231,7 +231,7 @@ class AvaliadorSintaticoBase {
231
231
  }
232
232
  exports.AvaliadorSintaticoBase = AvaliadorSintaticoBase;
233
233
 
234
- },{"../construtos":44,"../declaracoes":81,"../tipos-de-simbolos/comum":161,"./erro-avaliador-sintatico":7}],2:[function(require,module,exports){
234
+ },{"../construtos":45,"../declaracoes":83,"../tipos-de-simbolos/comum":164,"./erro-avaliador-sintatico":7}],2:[function(require,module,exports){
235
235
  "use strict";
236
236
  var __importDefault = (this && this.__importDefault) || function (mod) {
237
237
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -274,6 +274,14 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
274
274
  this.performance = performance;
275
275
  this.tiposDefinidosEmCodigo = {};
276
276
  this.tiposDeFerramentasExternas = {};
277
+ this.primitivasConhecidas = [
278
+ ...Object.keys(primitivas_dicionario_1.default),
279
+ ...Object.keys(primitivas_numero_1.default),
280
+ ...Object.keys(primitivas_texto_1.default),
281
+ ...Object.keys(primitivas_vetor_1.default),
282
+ 'inteiro',
283
+ 'texto'
284
+ ];
277
285
  this.pilhaEscopos = new pilha_escopos_1.PilhaEscopos();
278
286
  }
279
287
  verificarDefinicaoTipoAtual() {
@@ -388,7 +396,9 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
388
396
  case delegua_2.default.FUNCAO:
389
397
  case delegua_2.default.FUNÇÃO:
390
398
  const simboloFuncao = this.avancarEDevolverAnterior();
391
- return this.corpoDaFuncao(simboloFuncao.lexema);
399
+ const corpoDaFuncao = this.corpoDaFuncao(simboloFuncao.lexema);
400
+ this.pilhaEscopos.definirTipoVariavel(simboloFuncao.lexema, 'função');
401
+ return corpoDaFuncao;
392
402
  case delegua_2.default.IDENTIFICADOR:
393
403
  const simboloIdentificador = this.avancarEDevolverAnterior();
394
404
  let tipoOperando;
@@ -488,7 +498,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
488
498
  const tipoCorrespondente = this.tiposDefinidosEmCodigo[construtoTipado.tipo];
489
499
  const possivelMetodo = tipoCorrespondente.metodos.filter(m => m.simbolo.lexema === construtoTipado.simbolo.lexema);
490
500
  if (possivelMetodo.length > 0) {
491
- construto = new construtos_1.AcessoMetodo(construtoTipado.hashArquivo, construtoTipado.objeto, construtoTipado.simbolo.lexema, possivelMetodo[0].tipoRetorno);
501
+ construto = new construtos_1.AcessoMetodo(construtoTipado.hashArquivo, construtoTipado.objeto, construtoTipado.simbolo.lexema, possivelMetodo[0].tipo);
492
502
  break;
493
503
  }
494
504
  const possivelPropriedade = tipoCorrespondente.propriedades.filter(p => p.nome.lexema === construtoTipado.simbolo.lexema);
@@ -590,6 +600,26 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
590
600
  }
591
601
  return entidadeChamadaResolvida;
592
602
  }
603
+ resolverEntidadeChamada(entidadeChamada) {
604
+ if (entidadeChamada.constructor.name === 'Variavel') {
605
+ const entidadeChamadaResolvidaVariavel = entidadeChamada;
606
+ if (this.primitivasConhecidas.includes(entidadeChamadaResolvidaVariavel.simbolo.lexema)) {
607
+ return entidadeChamadaResolvidaVariavel;
608
+ }
609
+ if (entidadeChamadaResolvidaVariavel.simbolo.lexema in this.tiposDefinidosEmCodigo) {
610
+ return entidadeChamadaResolvidaVariavel;
611
+ }
612
+ const possivelReferencia = this.pilhaEscopos.obterReferenciaFuncao(entidadeChamadaResolvidaVariavel.simbolo.lexema);
613
+ if (possivelReferencia !== null) {
614
+ return new construtos_1.ReferenciaFuncao(entidadeChamada.hashArquivo, entidadeChamada.linha, entidadeChamadaResolvidaVariavel.simbolo, entidadeChamadaResolvidaVariavel.tipo, possivelReferencia.id);
615
+ }
616
+ return new construtos_1.ArgumentoReferenciaFuncao(entidadeChamada.hashArquivo, entidadeChamada.linha, entidadeChamadaResolvidaVariavel.simbolo);
617
+ }
618
+ if (entidadeChamada.constructor.name === 'AcessoMetodoOuPropriedade') {
619
+ return this.resolverEntidadeChamadaAcessoMetodoOuPropriedade(entidadeChamada);
620
+ }
621
+ return entidadeChamada;
622
+ }
593
623
  finalizarChamada(entidadeChamada) {
594
624
  const argumentos = [];
595
625
  if (!this.verificarTipoSimboloAtual(delegua_2.default.PARENTESE_DIREITO)) {
@@ -603,12 +633,11 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
603
633
  }
604
634
  this.consumir(delegua_2.default.PARENTESE_DIREITO, "Esperado ')' após os argumentos.");
605
635
  // Toda chamada precisa saber de antemão qual o tipo resolvido.
606
- let entidadeChamadaResolvida = entidadeChamada;
607
- if (entidadeChamadaResolvida.constructor.name === 'AcessoMetodoOuPropriedade') {
608
- entidadeChamadaResolvida = this.resolverEntidadeChamadaAcessoMetodoOuPropriedade(entidadeChamadaResolvida);
609
- }
636
+ const entidadeChamadaResolvida = this.resolverEntidadeChamada(entidadeChamada);
610
637
  // TODO: Criar forma de validar tipos dos argumentos da entidade chamada.
611
- return new construtos_1.Chamada(this.hashArquivo, entidadeChamadaResolvida, argumentos);
638
+ const construtoChamada = new construtos_1.Chamada(this.hashArquivo, entidadeChamadaResolvida, argumentos);
639
+ construtoChamada.tipo = 'qualquer';
640
+ return construtoChamada;
612
641
  }
613
642
  unario() {
614
643
  if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.NEGACAO, delegua_2.default.SUBTRACAO, delegua_2.default.BIT_NOT, delegua_2.default.INCREMENTAR, delegua_2.default.DECREMENTAR)) {
@@ -637,6 +666,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
637
666
  while (this.verificarSeSimboloAtualEIgualA(delegua_2.default.SUBTRACAO, delegua_2.default.ADICAO, delegua_2.default.MENOS_IGUAL)) {
638
667
  const operador = this.simbolos[this.atual - 1];
639
668
  const direito = this.multiplicar();
669
+ // const tipoInferido = inferirTipoParaBinario(expressao, operador, direito);
640
670
  expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
641
671
  }
642
672
  if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.MAIS_IGUAL)) {
@@ -739,13 +769,6 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
739
769
  case 'AcessoMetodoOuPropriedade':
740
770
  const expressaoAcessoMetodoOuPropriedade = expressao;
741
771
  return new construtos_1.DefinirValor(this.hashArquivo, igual.linha, expressaoAcessoMetodoOuPropriedade.objeto, expressaoAcessoMetodoOuPropriedade.simbolo, valor);
742
- /* case 'Super':
743
- const expressaoSuper = expressao as Super;
744
- return new DefinirValor(
745
- this.hashArquivo,
746
- igual.linha,
747
- expressaoSuper.
748
- ); */
749
772
  case 'AcessoIndiceVariavel':
750
773
  const expressaoAcessoIndiceVariavel = expressao;
751
774
  return new construtos_1.AtribuicaoPorIndice(this.hashArquivo, expressaoAcessoIndiceVariavel.linha, expressaoAcessoIndiceVariavel.entidadeChamada, expressaoAcessoIndiceVariavel.indice, valor);
@@ -1002,6 +1025,8 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1002
1025
  delegua_2.default.CHAVE_ESQUERDA,
1003
1026
  delegua_2.default.COLCHETE_ESQUERDO,
1004
1027
  delegua_2.default.FALSO,
1028
+ delegua_2.default.FUNCAO,
1029
+ delegua_2.default.FUNÇÃO,
1005
1030
  delegua_2.default.IDENTIFICADOR,
1006
1031
  delegua_2.default.ISTO,
1007
1032
  delegua_2.default.NEGACAO,
@@ -1233,6 +1258,12 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1233
1258
  case 'AcessoPropriedade':
1234
1259
  const entidadeChamadaAcessoPropriedade = entidadeChamadaChamada;
1235
1260
  return entidadeChamadaAcessoPropriedade.tipoRetornoPropriedade;
1261
+ case 'ArgumentoReferenciaFuncao':
1262
+ // TODO: Voltar aqui se necessário.
1263
+ return 'qualquer';
1264
+ case 'ReferenciaFuncao':
1265
+ const entidadeChamadaReferenciaFuncao = entidadeChamadaChamada;
1266
+ return entidadeChamadaReferenciaFuncao.tipo;
1236
1267
  case 'Variavel':
1237
1268
  const entidadeChamadaVariavel = entidadeChamadaChamada;
1238
1269
  return entidadeChamadaVariavel.tipo;
@@ -1240,7 +1271,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1240
1271
  break;
1241
1272
  case 'FuncaoConstruto':
1242
1273
  const funcaoConstruto = inicializador;
1243
- return `função<${funcaoConstruto.tipoRetorno}>`;
1274
+ return `função<${funcaoConstruto.tipo}>`;
1244
1275
  case 'Leia':
1245
1276
  return 'texto';
1246
1277
  case 'Dupla':
@@ -1372,8 +1403,10 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1372
1403
  // para ela. Vai ser atualizado após avaliação do corpo da função.
1373
1404
  this.pilhaEscopos.definirTipoVariavel(simbolo.lexema, 'qualquer');
1374
1405
  const corpoDaFuncao = this.corpoDaFuncao(tipo);
1375
- this.pilhaEscopos.definirTipoVariavel(simbolo.lexema, corpoDaFuncao.tipoRetorno);
1376
- return new declaracoes_1.FuncaoDeclaracao(simbolo, corpoDaFuncao, corpoDaFuncao.tipoRetorno, decoradores);
1406
+ this.pilhaEscopos.definirTipoVariavel(simbolo.lexema, corpoDaFuncao.tipo);
1407
+ const funcaoDeclaracao = new declaracoes_1.FuncaoDeclaracao(simbolo, corpoDaFuncao, corpoDaFuncao.tipo, decoradores);
1408
+ this.pilhaEscopos.registrarReferenciaFuncao(simbolo.lexema, funcaoDeclaracao);
1409
+ return funcaoDeclaracao;
1377
1410
  }
1378
1411
  logicaComumParametros() {
1379
1412
  const parametros = [];
@@ -1471,6 +1504,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1471
1504
  }
1472
1505
  }
1473
1506
  const tiposRetornos = new Set(expressoesRetorna.map(e => e.tipo));
1507
+ let retornaChamadoExplicitamente = tiposRetornos.size > 0;
1474
1508
  if (tiposRetornos.size > 1 && tipoRetorno !== 'qualquer') {
1475
1509
  let tiposEncontrados = Array.from(tiposRetornos).reduce((acumulador, valor) => acumulador += valor + ', ', '');
1476
1510
  tiposEncontrados = tiposEncontrados.slice(0, -2);
@@ -1485,7 +1519,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1485
1519
  const tipoRetornoDeduzido = tiposRetornos.values().next().value;
1486
1520
  tipoRetorno = tipoRetornoDeduzido;
1487
1521
  }
1488
- else if (!definicaoExplicitaDeTipo) {
1522
+ else if (!retornaChamadoExplicitamente && !definicaoExplicitaDeTipo) {
1489
1523
  // Ou, se esses retornos sequer existem, e o tipo explícito não é
1490
1524
  // 'qualquer', o tipo inferido é 'vazio'.
1491
1525
  tipoRetorno = 'vazio';
@@ -1654,7 +1688,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1654
1688
  }
1655
1689
  exports.AvaliadorSintatico = AvaliadorSintatico;
1656
1690
 
1657
- },{"../bibliotecas/primitivas-dicionario":18,"../bibliotecas/primitivas-numero":19,"../bibliotecas/primitivas-texto":20,"../bibliotecas/primitivas-vetor":21,"../construtos":44,"../construtos/tuplas":52,"../declaracoes":81,"../inferenciador":114,"../tipos-de-dados/delegua":159,"../tipos-de-simbolos/delegua":162,"./avaliador-sintatico-base":1,"./erro-avaliador-sintatico":7,"./informacao-escopo":9,"./pilha-escopos":12,"browser-process-hrtime":338}],3:[function(require,module,exports){
1691
+ },{"../bibliotecas/primitivas-dicionario":18,"../bibliotecas/primitivas-numero":19,"../bibliotecas/primitivas-texto":20,"../bibliotecas/primitivas-vetor":21,"../construtos":45,"../construtos/tuplas":54,"../declaracoes":83,"../inferenciador":117,"../tipos-de-dados/delegua":162,"../tipos-de-simbolos/delegua":165,"./avaliador-sintatico-base":1,"./erro-avaliador-sintatico":7,"./informacao-escopo":9,"./pilha-escopos":12,"browser-process-hrtime":341}],3:[function(require,module,exports){
1658
1692
  "use strict";
1659
1693
  var __importDefault = (this && this.__importDefault) || function (mod) {
1660
1694
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -2306,7 +2340,7 @@ class AvaliadorSintaticoEguaClassico {
2306
2340
  }
2307
2341
  exports.AvaliadorSintaticoEguaClassico = AvaliadorSintaticoEguaClassico;
2308
2342
 
2309
- },{"../../construtos":44,"../../declaracoes":81,"../../tipos-de-simbolos/egua-classico":163,"../erro-avaliador-sintatico":7}],4:[function(require,module,exports){
2343
+ },{"../../construtos":45,"../../declaracoes":83,"../../tipos-de-simbolos/egua-classico":166,"../erro-avaliador-sintatico":7}],4:[function(require,module,exports){
2310
2344
  "use strict";
2311
2345
  var __importDefault = (this && this.__importDefault) || function (mod) {
2312
2346
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -3078,7 +3112,7 @@ class AvaliadorSintaticoPitugues {
3078
3112
  }
3079
3113
  exports.AvaliadorSintaticoPitugues = AvaliadorSintaticoPitugues;
3080
3114
 
3081
- },{"../../construtos":44,"../../declaracoes":81,"../../lexador":151,"../../tipos-de-simbolos/pitugues":166,"../erro-avaliador-sintatico":7,"browser-process-hrtime":338}],5:[function(require,module,exports){
3115
+ },{"../../construtos":45,"../../declaracoes":83,"../../lexador":154,"../../tipos-de-simbolos/pitugues":169,"../erro-avaliador-sintatico":7,"browser-process-hrtime":341}],5:[function(require,module,exports){
3082
3116
  "use strict";
3083
3117
  var __importDefault = (this && this.__importDefault) || function (mod) {
3084
3118
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -3247,7 +3281,7 @@ class AvaliadorSintaticoPortugolIpt extends avaliador_sintatico_base_1.Avaliador
3247
3281
  }
3248
3282
  exports.AvaliadorSintaticoPortugolIpt = AvaliadorSintaticoPortugolIpt;
3249
3283
 
3250
- },{"../../construtos":44,"../../declaracoes":81,"../../tipos-de-simbolos/portugol-ipt":167,"../avaliador-sintatico-base":1}],6:[function(require,module,exports){
3284
+ },{"../../construtos":45,"../../declaracoes":83,"../../tipos-de-simbolos/portugol-ipt":170,"../avaliador-sintatico-base":1}],6:[function(require,module,exports){
3251
3285
  "use strict";
3252
3286
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3253
3287
  if (k2 === undefined) k2 = k;
@@ -3313,6 +3347,7 @@ exports.InformacaoEscopo = void 0;
3313
3347
  class InformacaoEscopo {
3314
3348
  constructor() {
3315
3349
  this.variaveisEConstantes = {};
3350
+ this.referenciasFuncoes = {};
3316
3351
  }
3317
3352
  }
3318
3353
  exports.InformacaoEscopo = InformacaoEscopo;
@@ -3435,7 +3470,7 @@ class MicroAvaliadorSintaticoBase {
3435
3470
  }
3436
3471
  exports.MicroAvaliadorSintaticoBase = MicroAvaliadorSintaticoBase;
3437
3472
 
3438
- },{"../construtos":44,"../tipos-de-simbolos/comum":161,"./erro-avaliador-sintatico":7}],11:[function(require,module,exports){
3473
+ },{"../construtos":45,"../tipos-de-simbolos/comum":164,"./erro-avaliador-sintatico":7}],11:[function(require,module,exports){
3439
3474
  "use strict";
3440
3475
  var __importDefault = (this && this.__importDefault) || function (mod) {
3441
3476
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -3641,7 +3676,7 @@ class MicroAvaliadorSintatico extends micro_avaliador_sintatico_base_1.MicroAval
3641
3676
  }
3642
3677
  exports.MicroAvaliadorSintatico = MicroAvaliadorSintatico;
3643
3678
 
3644
- },{"../construtos":44,"../tipos-de-simbolos/microgramaticas/delegua":165,"./micro-avaliador-sintatico-base":10}],12:[function(require,module,exports){
3679
+ },{"../construtos":45,"../tipos-de-simbolos/microgramaticas/delegua":168,"./micro-avaliador-sintatico-base":10}],12:[function(require,module,exports){
3645
3680
  "use strict";
3646
3681
  Object.defineProperty(exports, "__esModule", { value: true });
3647
3682
  exports.PilhaEscopos = void 0;
@@ -3678,6 +3713,19 @@ class PilhaEscopos {
3678
3713
  const topoDaPilha = this.topoDaPilha();
3679
3714
  topoDaPilha.variaveisEConstantes[nomeVariavel] = tipo;
3680
3715
  }
3716
+ registrarReferenciaFuncao(nome, definicao) {
3717
+ const topoDaPilha = this.topoDaPilha();
3718
+ topoDaPilha.referenciasFuncoes[nome] = definicao;
3719
+ }
3720
+ obterReferenciaFuncao(nome) {
3721
+ for (let i = 1; i <= this.pilha.length; i++) {
3722
+ const informacaoEscopo = this.pilha[this.pilha.length - i];
3723
+ if (informacaoEscopo.referenciasFuncoes[nome] !== undefined) {
3724
+ return informacaoEscopo.referenciasFuncoes[nome];
3725
+ }
3726
+ }
3727
+ return null;
3728
+ }
3681
3729
  }
3682
3730
  exports.PilhaEscopos = PilhaEscopos;
3683
3731
 
@@ -4203,7 +4251,7 @@ async function tupla(interpretador, vetor) {
4203
4251
  }
4204
4252
  }
4205
4253
 
4206
- },{"../construtos":44,"../estruturas":103,"../estruturas/descritor-tipo-classe":101,"../estruturas/funcao-padrao":102,"../estruturas/objeto-delegua-classe":106,"../excecoes":109}],18:[function(require,module,exports){
4254
+ },{"../construtos":45,"../estruturas":105,"../estruturas/descritor-tipo-classe":103,"../estruturas/funcao-padrao":104,"../estruturas/objeto-delegua-classe":108,"../excecoes":111}],18:[function(require,module,exports){
4207
4255
  "use strict";
4208
4256
  Object.defineProperty(exports, "__esModule", { value: true });
4209
4257
  exports.default = {
@@ -4569,6 +4617,27 @@ exports.Agrupamento = Agrupamento;
4569
4617
  },{}],28:[function(require,module,exports){
4570
4618
  "use strict";
4571
4619
  Object.defineProperty(exports, "__esModule", { value: true });
4620
+ exports.ArgumentoReferenciaFuncao = void 0;
4621
+ /**
4622
+ * Este construto é emitido pelo Avaliador Sintático, e indica para as
4623
+ * próximas etapas que este elemento é uma referência de função, mas
4624
+ * que não pode ser resolvido em tempo de avaliação sintática.
4625
+ */
4626
+ class ArgumentoReferenciaFuncao {
4627
+ constructor(hashArquivo, linha, simboloFuncao) {
4628
+ this.linha = linha;
4629
+ this.hashArquivo = hashArquivo;
4630
+ this.simboloFuncao = simboloFuncao;
4631
+ }
4632
+ async aceitar(visitante) {
4633
+ return visitante.visitarExpressaoArgumentoReferenciaFuncao(this);
4634
+ }
4635
+ }
4636
+ exports.ArgumentoReferenciaFuncao = ArgumentoReferenciaFuncao;
4637
+
4638
+ },{}],29:[function(require,module,exports){
4639
+ "use strict";
4640
+ Object.defineProperty(exports, "__esModule", { value: true });
4572
4641
  exports.AtribuicaoPorIndice = void 0;
4573
4642
  class AtribuicaoPorIndice {
4574
4643
  constructor(hashArquivo, linha, objeto, indice, valor) {
@@ -4584,7 +4653,7 @@ class AtribuicaoPorIndice {
4584
4653
  }
4585
4654
  exports.AtribuicaoPorIndice = AtribuicaoPorIndice;
4586
4655
 
4587
- },{}],29:[function(require,module,exports){
4656
+ },{}],30:[function(require,module,exports){
4588
4657
  "use strict";
4589
4658
  Object.defineProperty(exports, "__esModule", { value: true });
4590
4659
  exports.AtribuicaoPorIndicesMatriz = void 0;
@@ -4603,7 +4672,7 @@ class AtribuicaoPorIndicesMatriz {
4603
4672
  }
4604
4673
  exports.AtribuicaoPorIndicesMatriz = AtribuicaoPorIndicesMatriz;
4605
4674
 
4606
- },{}],30:[function(require,module,exports){
4675
+ },{}],31:[function(require,module,exports){
4607
4676
  "use strict";
4608
4677
  Object.defineProperty(exports, "__esModule", { value: true });
4609
4678
  exports.Atribuir = void 0;
@@ -4632,7 +4701,7 @@ class Atribuir {
4632
4701
  }
4633
4702
  exports.Atribuir = Atribuir;
4634
4703
 
4635
- },{}],31:[function(require,module,exports){
4704
+ },{}],32:[function(require,module,exports){
4636
4705
  "use strict";
4637
4706
  Object.defineProperty(exports, "__esModule", { value: true });
4638
4707
  exports.Binario = void 0;
@@ -4689,7 +4758,7 @@ class Binario {
4689
4758
  }
4690
4759
  exports.Binario = Binario;
4691
4760
 
4692
- },{}],32:[function(require,module,exports){
4761
+ },{}],33:[function(require,module,exports){
4693
4762
  "use strict";
4694
4763
  Object.defineProperty(exports, "__esModule", { value: true });
4695
4764
  exports.Chamada = void 0;
@@ -4711,7 +4780,7 @@ class Chamada {
4711
4780
  }
4712
4781
  exports.Chamada = Chamada;
4713
4782
 
4714
- },{"../geracao-identificadores":112}],33:[function(require,module,exports){
4783
+ },{"../geracao-identificadores":115}],34:[function(require,module,exports){
4715
4784
  "use strict";
4716
4785
  Object.defineProperty(exports, "__esModule", { value: true });
4717
4786
  exports.Comentario = void 0;
@@ -4733,7 +4802,7 @@ class Comentario {
4733
4802
  }
4734
4803
  exports.Comentario = Comentario;
4735
4804
 
4736
- },{}],34:[function(require,module,exports){
4805
+ },{}],35:[function(require,module,exports){
4737
4806
  "use strict";
4738
4807
  Object.defineProperty(exports, "__esModule", { value: true });
4739
4808
  exports.ComponenteLinguagem = void 0;
@@ -4753,7 +4822,7 @@ class ComponenteLinguagem {
4753
4822
  }
4754
4823
  exports.ComponenteLinguagem = ComponenteLinguagem;
4755
4824
 
4756
- },{}],35:[function(require,module,exports){
4825
+ },{}],36:[function(require,module,exports){
4757
4826
  "use strict";
4758
4827
  Object.defineProperty(exports, "__esModule", { value: true });
4759
4828
  exports.Constante = void 0;
@@ -4772,11 +4841,11 @@ class Constante {
4772
4841
  }
4773
4842
  exports.Constante = Constante;
4774
4843
 
4775
- },{}],36:[function(require,module,exports){
4844
+ },{}],37:[function(require,module,exports){
4776
4845
  "use strict";
4777
4846
  Object.defineProperty(exports, "__esModule", { value: true });
4778
4847
 
4779
- },{}],37:[function(require,module,exports){
4848
+ },{}],38:[function(require,module,exports){
4780
4849
  "use strict";
4781
4850
  Object.defineProperty(exports, "__esModule", { value: true });
4782
4851
  exports.Decorador = void 0;
@@ -4797,7 +4866,7 @@ class Decorador {
4797
4866
  }
4798
4867
  exports.Decorador = Decorador;
4799
4868
 
4800
- },{}],38:[function(require,module,exports){
4869
+ },{}],39:[function(require,module,exports){
4801
4870
  "use strict";
4802
4871
  Object.defineProperty(exports, "__esModule", { value: true });
4803
4872
  exports.DefinirValor = void 0;
@@ -4815,7 +4884,7 @@ class DefinirValor {
4815
4884
  }
4816
4885
  exports.DefinirValor = DefinirValor;
4817
4886
 
4818
- },{}],39:[function(require,module,exports){
4887
+ },{}],40:[function(require,module,exports){
4819
4888
  "use strict";
4820
4889
  Object.defineProperty(exports, "__esModule", { value: true });
4821
4890
  exports.Dicionario = void 0;
@@ -4833,7 +4902,7 @@ class Dicionario {
4833
4902
  }
4834
4903
  exports.Dicionario = Dicionario;
4835
4904
 
4836
- },{}],40:[function(require,module,exports){
4905
+ },{}],41:[function(require,module,exports){
4837
4906
  "use strict";
4838
4907
  Object.defineProperty(exports, "__esModule", { value: true });
4839
4908
  exports.ExpressaoRegular = void 0;
@@ -4850,7 +4919,7 @@ class ExpressaoRegular {
4850
4919
  }
4851
4920
  exports.ExpressaoRegular = ExpressaoRegular;
4852
4921
 
4853
- },{}],41:[function(require,module,exports){
4922
+ },{}],42:[function(require,module,exports){
4854
4923
  "use strict";
4855
4924
  Object.defineProperty(exports, "__esModule", { value: true });
4856
4925
  exports.FimPara = void 0;
@@ -4877,7 +4946,7 @@ class FimPara {
4877
4946
  }
4878
4947
  exports.FimPara = FimPara;
4879
4948
 
4880
- },{}],42:[function(require,module,exports){
4949
+ },{}],43:[function(require,module,exports){
4881
4950
  "use strict";
4882
4951
  Object.defineProperty(exports, "__esModule", { value: true });
4883
4952
  exports.FormatacaoEscrita = void 0;
@@ -4900,7 +4969,7 @@ class FormatacaoEscrita {
4900
4969
  }
4901
4970
  exports.FormatacaoEscrita = FormatacaoEscrita;
4902
4971
 
4903
- },{}],43:[function(require,module,exports){
4972
+ },{}],44:[function(require,module,exports){
4904
4973
  "use strict";
4905
4974
  Object.defineProperty(exports, "__esModule", { value: true });
4906
4975
  exports.FuncaoConstruto = void 0;
@@ -4909,7 +4978,7 @@ class FuncaoConstruto {
4909
4978
  this.linha = linha;
4910
4979
  this.hashArquivo = hashArquivo;
4911
4980
  this.parametros = parametros;
4912
- this.tipoRetorno = tipoRetorno;
4981
+ this.tipo = tipoRetorno;
4913
4982
  this.corpo = corpo;
4914
4983
  }
4915
4984
  async aceitar(visitante) {
@@ -4918,7 +4987,7 @@ class FuncaoConstruto {
4918
4987
  }
4919
4988
  exports.FuncaoConstruto = FuncaoConstruto;
4920
4989
 
4921
- },{}],44:[function(require,module,exports){
4990
+ },{}],45:[function(require,module,exports){
4922
4991
  "use strict";
4923
4992
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4924
4993
  if (k2 === undefined) k2 = k;
@@ -4941,6 +5010,7 @@ __exportStar(require("./acesso-metodo"), exports);
4941
5010
  __exportStar(require("./acesso-metodo-ou-propriedade"), exports);
4942
5011
  __exportStar(require("./acesso-propriedade"), exports);
4943
5012
  __exportStar(require("./agrupamento"), exports);
5013
+ __exportStar(require("./argumento-referencia-funcao"), exports);
4944
5014
  __exportStar(require("./atribuicao-por-indice"), exports);
4945
5015
  __exportStar(require("./atribuicao-por-indices-matriz"), exports);
4946
5016
  __exportStar(require("./atribuir"), exports);
@@ -4960,6 +5030,7 @@ __exportStar(require("./funcao"), exports);
4960
5030
  __exportStar(require("./isto"), exports);
4961
5031
  __exportStar(require("./literal"), exports);
4962
5032
  __exportStar(require("./logico"), exports);
5033
+ __exportStar(require("./referencia-funcao"), exports);
4963
5034
  __exportStar(require("./super"), exports);
4964
5035
  __exportStar(require("./tipo-de"), exports);
4965
5036
  __exportStar(require("./tuplas"), exports);
@@ -4967,7 +5038,7 @@ __exportStar(require("./unario"), exports);
4967
5038
  __exportStar(require("./variavel"), exports);
4968
5039
  __exportStar(require("./vetor"), exports);
4969
5040
 
4970
- },{"./acesso-elemento-matriz":22,"./acesso-indice-variavel":23,"./acesso-metodo":25,"./acesso-metodo-ou-propriedade":24,"./acesso-propriedade":26,"./agrupamento":27,"./atribuicao-por-indice":28,"./atribuicao-por-indices-matriz":29,"./atribuir":30,"./binario":31,"./chamada":32,"./comentario":33,"./componente-linguagem":34,"./constante":35,"./construto":36,"./decorador":37,"./definir-valor":38,"./dicionario":39,"./expressao-regular":40,"./fim-para":41,"./formatacao-escrita":42,"./funcao":43,"./isto":45,"./literal":46,"./logico":47,"./super":48,"./tipo-de":49,"./tuplas":52,"./unario":61,"./variavel":62,"./vetor":63}],45:[function(require,module,exports){
5041
+ },{"./acesso-elemento-matriz":22,"./acesso-indice-variavel":23,"./acesso-metodo":25,"./acesso-metodo-ou-propriedade":24,"./acesso-propriedade":26,"./agrupamento":27,"./argumento-referencia-funcao":28,"./atribuicao-por-indice":29,"./atribuicao-por-indices-matriz":30,"./atribuir":31,"./binario":32,"./chamada":33,"./comentario":34,"./componente-linguagem":35,"./constante":36,"./construto":37,"./decorador":38,"./definir-valor":39,"./dicionario":40,"./expressao-regular":41,"./fim-para":42,"./formatacao-escrita":43,"./funcao":44,"./isto":46,"./literal":47,"./logico":48,"./referencia-funcao":49,"./super":50,"./tipo-de":51,"./tuplas":54,"./unario":63,"./variavel":64,"./vetor":65}],46:[function(require,module,exports){
4971
5042
  "use strict";
4972
5043
  Object.defineProperty(exports, "__esModule", { value: true });
4973
5044
  exports.Isto = void 0;
@@ -4983,7 +5054,7 @@ class Isto {
4983
5054
  }
4984
5055
  exports.Isto = Isto;
4985
5056
 
4986
- },{}],46:[function(require,module,exports){
5057
+ },{}],47:[function(require,module,exports){
4987
5058
  "use strict";
4988
5059
  Object.defineProperty(exports, "__esModule", { value: true });
4989
5060
  exports.Literal = void 0;
@@ -5000,7 +5071,7 @@ class Literal {
5000
5071
  }
5001
5072
  exports.Literal = Literal;
5002
5073
 
5003
- },{}],47:[function(require,module,exports){
5074
+ },{}],48:[function(require,module,exports){
5004
5075
  "use strict";
5005
5076
  Object.defineProperty(exports, "__esModule", { value: true });
5006
5077
  exports.Logico = void 0;
@@ -5018,7 +5089,25 @@ class Logico {
5018
5089
  }
5019
5090
  exports.Logico = Logico;
5020
5091
 
5021
- },{}],48:[function(require,module,exports){
5092
+ },{}],49:[function(require,module,exports){
5093
+ "use strict";
5094
+ Object.defineProperty(exports, "__esModule", { value: true });
5095
+ exports.ReferenciaFuncao = void 0;
5096
+ class ReferenciaFuncao {
5097
+ constructor(hashArquivo, linha, simboloFuncao, tipo, idfuncao) {
5098
+ this.linha = linha;
5099
+ this.hashArquivo = hashArquivo;
5100
+ this.simboloFuncao = simboloFuncao;
5101
+ this.tipo = tipo;
5102
+ this.idFuncao = idfuncao;
5103
+ }
5104
+ async aceitar(visitante) {
5105
+ return visitante.visitarExpressaoReferenciaFuncao(this);
5106
+ }
5107
+ }
5108
+ exports.ReferenciaFuncao = ReferenciaFuncao;
5109
+
5110
+ },{}],50:[function(require,module,exports){
5022
5111
  "use strict";
5023
5112
  Object.defineProperty(exports, "__esModule", { value: true });
5024
5113
  exports.Super = void 0;
@@ -5035,7 +5124,7 @@ class Super {
5035
5124
  }
5036
5125
  exports.Super = Super;
5037
5126
 
5038
- },{}],49:[function(require,module,exports){
5127
+ },{}],51:[function(require,module,exports){
5039
5128
  "use strict";
5040
5129
  Object.defineProperty(exports, "__esModule", { value: true });
5041
5130
  exports.TipoDe = void 0;
@@ -5056,7 +5145,7 @@ class TipoDe {
5056
5145
  }
5057
5146
  exports.TipoDe = TipoDe;
5058
5147
 
5059
- },{}],50:[function(require,module,exports){
5148
+ },{}],52:[function(require,module,exports){
5060
5149
  "use strict";
5061
5150
  Object.defineProperty(exports, "__esModule", { value: true });
5062
5151
  exports.Deceto = void 0;
@@ -5090,7 +5179,7 @@ class Deceto extends tupla_1.Tupla {
5090
5179
  }
5091
5180
  exports.Deceto = Deceto;
5092
5181
 
5093
- },{"./tupla":60}],51:[function(require,module,exports){
5182
+ },{"./tupla":62}],53:[function(require,module,exports){
5094
5183
  "use strict";
5095
5184
  Object.defineProperty(exports, "__esModule", { value: true });
5096
5185
  exports.Dupla = void 0;
@@ -5104,7 +5193,7 @@ class Dupla extends tupla_1.Tupla {
5104
5193
  }
5105
5194
  exports.Dupla = Dupla;
5106
5195
 
5107
- },{"./tupla":60}],52:[function(require,module,exports){
5196
+ },{"./tupla":62}],54:[function(require,module,exports){
5108
5197
  "use strict";
5109
5198
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5110
5199
  if (k2 === undefined) k2 = k;
@@ -5173,7 +5262,7 @@ class SeletorTuplas {
5173
5262
  }
5174
5263
  exports.SeletorTuplas = SeletorTuplas;
5175
5264
 
5176
- },{"./deceto":50,"./dupla":51,"./noneto":53,"./octeto":54,"./quarteto":55,"./quinteto":56,"./septeto":57,"./sexteto":58,"./trio":59,"./tupla":60}],53:[function(require,module,exports){
5265
+ },{"./deceto":52,"./dupla":53,"./noneto":55,"./octeto":56,"./quarteto":57,"./quinteto":58,"./septeto":59,"./sexteto":60,"./trio":61,"./tupla":62}],55:[function(require,module,exports){
5177
5266
  "use strict";
5178
5267
  Object.defineProperty(exports, "__esModule", { value: true });
5179
5268
  exports.Noneto = void 0;
@@ -5200,7 +5289,7 @@ class Noneto extends tupla_1.Tupla {
5200
5289
  }
5201
5290
  exports.Noneto = Noneto;
5202
5291
 
5203
- },{"./tupla":60}],54:[function(require,module,exports){
5292
+ },{"./tupla":62}],56:[function(require,module,exports){
5204
5293
  "use strict";
5205
5294
  Object.defineProperty(exports, "__esModule", { value: true });
5206
5295
  exports.Octeto = void 0;
@@ -5226,7 +5315,7 @@ class Octeto extends tupla_1.Tupla {
5226
5315
  }
5227
5316
  exports.Octeto = Octeto;
5228
5317
 
5229
- },{"./tupla":60}],55:[function(require,module,exports){
5318
+ },{"./tupla":62}],57:[function(require,module,exports){
5230
5319
  "use strict";
5231
5320
  Object.defineProperty(exports, "__esModule", { value: true });
5232
5321
  exports.Quarteto = void 0;
@@ -5242,7 +5331,7 @@ class Quarteto extends tupla_1.Tupla {
5242
5331
  }
5243
5332
  exports.Quarteto = Quarteto;
5244
5333
 
5245
- },{"./tupla":60}],56:[function(require,module,exports){
5334
+ },{"./tupla":62}],58:[function(require,module,exports){
5246
5335
  "use strict";
5247
5336
  Object.defineProperty(exports, "__esModule", { value: true });
5248
5337
  exports.Quinteto = void 0;
@@ -5259,7 +5348,7 @@ class Quinteto extends tupla_1.Tupla {
5259
5348
  }
5260
5349
  exports.Quinteto = Quinteto;
5261
5350
 
5262
- },{"./tupla":60}],57:[function(require,module,exports){
5351
+ },{"./tupla":62}],59:[function(require,module,exports){
5263
5352
  "use strict";
5264
5353
  Object.defineProperty(exports, "__esModule", { value: true });
5265
5354
  exports.Septeto = void 0;
@@ -5284,7 +5373,7 @@ class Septeto extends tupla_1.Tupla {
5284
5373
  }
5285
5374
  exports.Septeto = Septeto;
5286
5375
 
5287
- },{"./tupla":60}],58:[function(require,module,exports){
5376
+ },{"./tupla":62}],60:[function(require,module,exports){
5288
5377
  "use strict";
5289
5378
  Object.defineProperty(exports, "__esModule", { value: true });
5290
5379
  exports.Sexteto = void 0;
@@ -5302,7 +5391,7 @@ class Sexteto extends tupla_1.Tupla {
5302
5391
  }
5303
5392
  exports.Sexteto = Sexteto;
5304
5393
 
5305
- },{"./tupla":60}],59:[function(require,module,exports){
5394
+ },{"./tupla":62}],61:[function(require,module,exports){
5306
5395
  "use strict";
5307
5396
  Object.defineProperty(exports, "__esModule", { value: true });
5308
5397
  exports.Trio = void 0;
@@ -5317,7 +5406,7 @@ class Trio extends tupla_1.Tupla {
5317
5406
  }
5318
5407
  exports.Trio = Trio;
5319
5408
 
5320
- },{"./tupla":60}],60:[function(require,module,exports){
5409
+ },{"./tupla":62}],62:[function(require,module,exports){
5321
5410
  "use strict";
5322
5411
  Object.defineProperty(exports, "__esModule", { value: true });
5323
5412
  exports.Tupla = void 0;
@@ -5328,7 +5417,7 @@ class Tupla {
5328
5417
  }
5329
5418
  exports.Tupla = Tupla;
5330
5419
 
5331
- },{}],61:[function(require,module,exports){
5420
+ },{}],63:[function(require,module,exports){
5332
5421
  "use strict";
5333
5422
  Object.defineProperty(exports, "__esModule", { value: true });
5334
5423
  exports.Unario = void 0;
@@ -5346,7 +5435,7 @@ class Unario {
5346
5435
  }
5347
5436
  exports.Unario = Unario;
5348
5437
 
5349
- },{}],62:[function(require,module,exports){
5438
+ },{}],64:[function(require,module,exports){
5350
5439
  "use strict";
5351
5440
  Object.defineProperty(exports, "__esModule", { value: true });
5352
5441
  exports.Variavel = void 0;
@@ -5363,7 +5452,7 @@ class Variavel {
5363
5452
  }
5364
5453
  exports.Variavel = Variavel;
5365
5454
 
5366
- },{}],63:[function(require,module,exports){
5455
+ },{}],65:[function(require,module,exports){
5367
5456
  "use strict";
5368
5457
  Object.defineProperty(exports, "__esModule", { value: true });
5369
5458
  exports.Vetor = void 0;
@@ -5386,7 +5475,7 @@ class Vetor {
5386
5475
  }
5387
5476
  exports.Vetor = Vetor;
5388
5477
 
5389
- },{}],64:[function(require,module,exports){
5478
+ },{}],66:[function(require,module,exports){
5390
5479
  "use strict";
5391
5480
  Object.defineProperty(exports, "__esModule", { value: true });
5392
5481
  exports.Aleatorio = void 0;
@@ -5403,7 +5492,7 @@ class Aleatorio extends declaracao_1.Declaracao {
5403
5492
  }
5404
5493
  exports.Aleatorio = Aleatorio;
5405
5494
 
5406
- },{"./declaracao":71}],65:[function(require,module,exports){
5495
+ },{"./declaracao":73}],67:[function(require,module,exports){
5407
5496
  "use strict";
5408
5497
  Object.defineProperty(exports, "__esModule", { value: true });
5409
5498
  exports.Bloco = void 0;
@@ -5419,7 +5508,7 @@ class Bloco extends declaracao_1.Declaracao {
5419
5508
  }
5420
5509
  exports.Bloco = Bloco;
5421
5510
 
5422
- },{"./declaracao":71}],66:[function(require,module,exports){
5511
+ },{"./declaracao":73}],68:[function(require,module,exports){
5423
5512
  "use strict";
5424
5513
  Object.defineProperty(exports, "__esModule", { value: true });
5425
5514
  exports.CabecalhoPrograma = void 0;
@@ -5435,7 +5524,7 @@ class CabecalhoPrograma extends declaracao_1.Declaracao {
5435
5524
  }
5436
5525
  exports.CabecalhoPrograma = CabecalhoPrograma;
5437
5526
 
5438
- },{"./declaracao":71}],67:[function(require,module,exports){
5527
+ },{"./declaracao":73}],69:[function(require,module,exports){
5439
5528
  "use strict";
5440
5529
  Object.defineProperty(exports, "__esModule", { value: true });
5441
5530
  exports.Classe = void 0;
@@ -5455,7 +5544,7 @@ class Classe extends declaracao_1.Declaracao {
5455
5544
  }
5456
5545
  exports.Classe = Classe;
5457
5546
 
5458
- },{"./declaracao":71}],68:[function(require,module,exports){
5547
+ },{"./declaracao":73}],70:[function(require,module,exports){
5459
5548
  "use strict";
5460
5549
  Object.defineProperty(exports, "__esModule", { value: true });
5461
5550
  exports.ConstMultiplo = void 0;
@@ -5476,7 +5565,7 @@ class ConstMultiplo extends declaracao_1.Declaracao {
5476
5565
  }
5477
5566
  exports.ConstMultiplo = ConstMultiplo;
5478
5567
 
5479
- },{"./declaracao":71}],69:[function(require,module,exports){
5568
+ },{"./declaracao":73}],71:[function(require,module,exports){
5480
5569
  "use strict";
5481
5570
  Object.defineProperty(exports, "__esModule", { value: true });
5482
5571
  exports.Const = void 0;
@@ -5504,7 +5593,7 @@ class Const extends declaracao_1.Declaracao {
5504
5593
  }
5505
5594
  exports.Const = Const;
5506
5595
 
5507
- },{"./declaracao":71}],70:[function(require,module,exports){
5596
+ },{"./declaracao":73}],72:[function(require,module,exports){
5508
5597
  "use strict";
5509
5598
  Object.defineProperty(exports, "__esModule", { value: true });
5510
5599
  exports.Continua = void 0;
@@ -5519,7 +5608,7 @@ class Continua extends declaracao_1.Declaracao {
5519
5608
  }
5520
5609
  exports.Continua = Continua;
5521
5610
 
5522
- },{"./declaracao":71}],71:[function(require,module,exports){
5611
+ },{"./declaracao":73}],73:[function(require,module,exports){
5523
5612
  "use strict";
5524
5613
  Object.defineProperty(exports, "__esModule", { value: true });
5525
5614
  exports.Declaracao = void 0;
@@ -5539,7 +5628,7 @@ class Declaracao {
5539
5628
  }
5540
5629
  exports.Declaracao = Declaracao;
5541
5630
 
5542
- },{}],72:[function(require,module,exports){
5631
+ },{}],74:[function(require,module,exports){
5543
5632
  "use strict";
5544
5633
  Object.defineProperty(exports, "__esModule", { value: true });
5545
5634
  exports.Enquanto = void 0;
@@ -5556,7 +5645,7 @@ class Enquanto extends declaracao_1.Declaracao {
5556
5645
  }
5557
5646
  exports.Enquanto = Enquanto;
5558
5647
 
5559
- },{"./declaracao":71}],73:[function(require,module,exports){
5648
+ },{"./declaracao":73}],75:[function(require,module,exports){
5560
5649
  "use strict";
5561
5650
  Object.defineProperty(exports, "__esModule", { value: true });
5562
5651
  exports.Escolha = void 0;
@@ -5577,7 +5666,7 @@ class Escolha extends declaracao_1.Declaracao {
5577
5666
  }
5578
5667
  exports.Escolha = Escolha;
5579
5668
 
5580
- },{"./declaracao":71}],74:[function(require,module,exports){
5669
+ },{"./declaracao":73}],76:[function(require,module,exports){
5581
5670
  "use strict";
5582
5671
  Object.defineProperty(exports, "__esModule", { value: true });
5583
5672
  exports.EscrevaMesmaLinha = void 0;
@@ -5593,7 +5682,7 @@ class EscrevaMesmaLinha extends declaracao_1.Declaracao {
5593
5682
  }
5594
5683
  exports.EscrevaMesmaLinha = EscrevaMesmaLinha;
5595
5684
 
5596
- },{"./declaracao":71}],75:[function(require,module,exports){
5685
+ },{"./declaracao":73}],77:[function(require,module,exports){
5597
5686
  "use strict";
5598
5687
  Object.defineProperty(exports, "__esModule", { value: true });
5599
5688
  exports.Escreva = void 0;
@@ -5609,7 +5698,7 @@ class Escreva extends declaracao_1.Declaracao {
5609
5698
  }
5610
5699
  exports.Escreva = Escreva;
5611
5700
 
5612
- },{"./declaracao":71}],76:[function(require,module,exports){
5701
+ },{"./declaracao":73}],78:[function(require,module,exports){
5613
5702
  "use strict";
5614
5703
  Object.defineProperty(exports, "__esModule", { value: true });
5615
5704
  exports.Expressao = void 0;
@@ -5625,7 +5714,7 @@ class Expressao extends declaracao_1.Declaracao {
5625
5714
  }
5626
5715
  exports.Expressao = Expressao;
5627
5716
 
5628
- },{"./declaracao":71}],77:[function(require,module,exports){
5717
+ },{"./declaracao":73}],79:[function(require,module,exports){
5629
5718
  "use strict";
5630
5719
  Object.defineProperty(exports, "__esModule", { value: true });
5631
5720
  exports.Falhar = void 0;
@@ -5642,7 +5731,7 @@ class Falhar extends declaracao_1.Declaracao {
5642
5731
  }
5643
5732
  exports.Falhar = Falhar;
5644
5733
 
5645
- },{"./declaracao":71}],78:[function(require,module,exports){
5734
+ },{"./declaracao":73}],80:[function(require,module,exports){
5646
5735
  "use strict";
5647
5736
  Object.defineProperty(exports, "__esModule", { value: true });
5648
5737
  exports.Fazer = void 0;
@@ -5659,20 +5748,22 @@ class Fazer extends declaracao_1.Declaracao {
5659
5748
  }
5660
5749
  exports.Fazer = Fazer;
5661
5750
 
5662
- },{"./declaracao":71}],79:[function(require,module,exports){
5751
+ },{"./declaracao":73}],81:[function(require,module,exports){
5663
5752
  "use strict";
5664
5753
  Object.defineProperty(exports, "__esModule", { value: true });
5665
5754
  exports.FuncaoDeclaracao = void 0;
5666
5755
  const declaracao_1 = require("./declaracao");
5756
+ const geracao_identificadores_1 = require("../geracao-identificadores");
5667
5757
  /**
5668
5758
  * Uma declaração de função.
5669
5759
  */
5670
5760
  class FuncaoDeclaracao extends declaracao_1.Declaracao {
5671
5761
  constructor(simbolo, funcao, tipoRetorno = 'qualquer', decoradores = []) {
5672
5762
  super(Number(simbolo.linha), simbolo.hashArquivo);
5763
+ this.id = (0, geracao_identificadores_1.uuidv4)();
5673
5764
  this.simbolo = simbolo;
5674
5765
  this.funcao = funcao;
5675
- this.tipoRetorno = tipoRetorno;
5766
+ this.tipo = tipoRetorno;
5676
5767
  this.decoradores = decoradores;
5677
5768
  }
5678
5769
  async aceitar(visitante) {
@@ -5681,7 +5772,7 @@ class FuncaoDeclaracao extends declaracao_1.Declaracao {
5681
5772
  }
5682
5773
  exports.FuncaoDeclaracao = FuncaoDeclaracao;
5683
5774
 
5684
- },{"./declaracao":71}],80:[function(require,module,exports){
5775
+ },{"../geracao-identificadores":115,"./declaracao":73}],82:[function(require,module,exports){
5685
5776
  "use strict";
5686
5777
  Object.defineProperty(exports, "__esModule", { value: true });
5687
5778
  exports.Importar = void 0;
@@ -5702,7 +5793,7 @@ class Importar extends declaracao_1.Declaracao {
5702
5793
  }
5703
5794
  exports.Importar = Importar;
5704
5795
 
5705
- },{"./declaracao":71}],81:[function(require,module,exports){
5796
+ },{"./declaracao":73}],83:[function(require,module,exports){
5706
5797
  "use strict";
5707
5798
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5708
5799
  if (k2 === undefined) k2 = k;
@@ -5719,6 +5810,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
5719
5810
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
5720
5811
  };
5721
5812
  Object.defineProperty(exports, "__esModule", { value: true });
5813
+ __exportStar(require("./aleatorio"), exports);
5722
5814
  __exportStar(require("./bloco"), exports);
5723
5815
  __exportStar(require("./cabecalho-programa"), exports);
5724
5816
  __exportStar(require("./classe"), exports);
@@ -5741,16 +5833,15 @@ __exportStar(require("./leia"), exports);
5741
5833
  __exportStar(require("./para"), exports);
5742
5834
  __exportStar(require("./para-cada"), exports);
5743
5835
  __exportStar(require("./propriedade-classe"), exports);
5744
- __exportStar(require("./sustar"), exports);
5745
5836
  __exportStar(require("./retorna"), exports);
5746
5837
  __exportStar(require("./se"), exports);
5838
+ __exportStar(require("./sustar"), exports);
5747
5839
  __exportStar(require("./tendo-como"), exports);
5748
5840
  __exportStar(require("./tente"), exports);
5749
5841
  __exportStar(require("./var"), exports);
5750
5842
  __exportStar(require("./var-multiplo"), exports);
5751
- __exportStar(require("./aleatorio"), exports);
5752
5843
 
5753
- },{"./aleatorio":64,"./bloco":65,"./cabecalho-programa":66,"./classe":67,"./const":69,"./const-multiplo":68,"./continua":70,"./declaracao":71,"./enquanto":72,"./escolha":73,"./escreva":75,"./escreva-mesma-linha":74,"./expressao":76,"./falhar":77,"./fazer":78,"./funcao":79,"./importar":80,"./inicio-algoritmo":82,"./leia":83,"./para":85,"./para-cada":84,"./propriedade-classe":86,"./retorna":87,"./se":88,"./sustar":89,"./tendo-como":90,"./tente":91,"./var":93,"./var-multiplo":92}],82:[function(require,module,exports){
5844
+ },{"./aleatorio":66,"./bloco":67,"./cabecalho-programa":68,"./classe":69,"./const":71,"./const-multiplo":70,"./continua":72,"./declaracao":73,"./enquanto":74,"./escolha":75,"./escreva":77,"./escreva-mesma-linha":76,"./expressao":78,"./falhar":79,"./fazer":80,"./funcao":81,"./importar":82,"./inicio-algoritmo":84,"./leia":85,"./para":87,"./para-cada":86,"./propriedade-classe":88,"./retorna":89,"./se":90,"./sustar":91,"./tendo-como":92,"./tente":93,"./var":95,"./var-multiplo":94}],84:[function(require,module,exports){
5754
5845
  "use strict";
5755
5846
  Object.defineProperty(exports, "__esModule", { value: true });
5756
5847
  exports.InicioAlgoritmo = void 0;
@@ -5765,7 +5856,7 @@ class InicioAlgoritmo extends declaracao_1.Declaracao {
5765
5856
  }
5766
5857
  exports.InicioAlgoritmo = InicioAlgoritmo;
5767
5858
 
5768
- },{"./declaracao":71}],83:[function(require,module,exports){
5859
+ },{"./declaracao":73}],85:[function(require,module,exports){
5769
5860
  "use strict";
5770
5861
  Object.defineProperty(exports, "__esModule", { value: true });
5771
5862
  exports.Leia = void 0;
@@ -5788,7 +5879,7 @@ class Leia extends declaracao_1.Declaracao {
5788
5879
  }
5789
5880
  exports.Leia = Leia;
5790
5881
 
5791
- },{"../geracao-identificadores":112,"./declaracao":71}],84:[function(require,module,exports){
5882
+ },{"../geracao-identificadores":115,"./declaracao":73}],86:[function(require,module,exports){
5792
5883
  "use strict";
5793
5884
  Object.defineProperty(exports, "__esModule", { value: true });
5794
5885
  exports.ParaCada = void 0;
@@ -5807,7 +5898,7 @@ class ParaCada extends declaracao_1.Declaracao {
5807
5898
  }
5808
5899
  exports.ParaCada = ParaCada;
5809
5900
 
5810
- },{"./declaracao":71}],85:[function(require,module,exports){
5901
+ },{"./declaracao":73}],87:[function(require,module,exports){
5811
5902
  "use strict";
5812
5903
  Object.defineProperty(exports, "__esModule", { value: true });
5813
5904
  exports.Para = void 0;
@@ -5833,7 +5924,7 @@ class Para extends declaracao_1.Declaracao {
5833
5924
  }
5834
5925
  exports.Para = Para;
5835
5926
 
5836
- },{"./declaracao":71}],86:[function(require,module,exports){
5927
+ },{"./declaracao":73}],88:[function(require,module,exports){
5837
5928
  "use strict";
5838
5929
  Object.defineProperty(exports, "__esModule", { value: true });
5839
5930
  exports.PropriedadeClasse = void 0;
@@ -5851,7 +5942,7 @@ class PropriedadeClasse extends declaracao_1.Declaracao {
5851
5942
  }
5852
5943
  exports.PropriedadeClasse = PropriedadeClasse;
5853
5944
 
5854
- },{"./declaracao":71}],87:[function(require,module,exports){
5945
+ },{"./declaracao":73}],89:[function(require,module,exports){
5855
5946
  "use strict";
5856
5947
  Object.defineProperty(exports, "__esModule", { value: true });
5857
5948
  exports.Retorna = void 0;
@@ -5874,7 +5965,7 @@ class Retorna extends declaracao_1.Declaracao {
5874
5965
  }
5875
5966
  exports.Retorna = Retorna;
5876
5967
 
5877
- },{"./declaracao":71}],88:[function(require,module,exports){
5968
+ },{"./declaracao":73}],90:[function(require,module,exports){
5878
5969
  "use strict";
5879
5970
  Object.defineProperty(exports, "__esModule", { value: true });
5880
5971
  exports.Se = void 0;
@@ -5893,7 +5984,7 @@ class Se extends declaracao_1.Declaracao {
5893
5984
  }
5894
5985
  exports.Se = Se;
5895
5986
 
5896
- },{"./declaracao":71}],89:[function(require,module,exports){
5987
+ },{"./declaracao":73}],91:[function(require,module,exports){
5897
5988
  "use strict";
5898
5989
  Object.defineProperty(exports, "__esModule", { value: true });
5899
5990
  exports.Sustar = void 0;
@@ -5908,7 +5999,7 @@ class Sustar extends declaracao_1.Declaracao {
5908
5999
  }
5909
6000
  exports.Sustar = Sustar;
5910
6001
 
5911
- },{"./declaracao":71}],90:[function(require,module,exports){
6002
+ },{"./declaracao":73}],92:[function(require,module,exports){
5912
6003
  "use strict";
5913
6004
  Object.defineProperty(exports, "__esModule", { value: true });
5914
6005
  exports.TendoComo = void 0;
@@ -5931,7 +6022,7 @@ class TendoComo extends declaracao_1.Declaracao {
5931
6022
  }
5932
6023
  exports.TendoComo = TendoComo;
5933
6024
 
5934
- },{"./declaracao":71}],91:[function(require,module,exports){
6025
+ },{"./declaracao":73}],93:[function(require,module,exports){
5935
6026
  "use strict";
5936
6027
  Object.defineProperty(exports, "__esModule", { value: true });
5937
6028
  exports.Tente = void 0;
@@ -5953,7 +6044,7 @@ class Tente extends declaracao_1.Declaracao {
5953
6044
  }
5954
6045
  exports.Tente = Tente;
5955
6046
 
5956
- },{"./declaracao":71}],92:[function(require,module,exports){
6047
+ },{"./declaracao":73}],94:[function(require,module,exports){
5957
6048
  "use strict";
5958
6049
  Object.defineProperty(exports, "__esModule", { value: true });
5959
6050
  exports.VarMultiplo = void 0;
@@ -5975,7 +6066,7 @@ class VarMultiplo extends declaracao_1.Declaracao {
5975
6066
  }
5976
6067
  exports.VarMultiplo = VarMultiplo;
5977
6068
 
5978
- },{"./declaracao":71}],93:[function(require,module,exports){
6069
+ },{"./declaracao":73}],95:[function(require,module,exports){
5979
6070
  "use strict";
5980
6071
  Object.defineProperty(exports, "__esModule", { value: true });
5981
6072
  exports.Var = void 0;
@@ -6005,7 +6096,7 @@ class Var extends declaracao_1.Declaracao {
6005
6096
  }
6006
6097
  exports.Var = Var;
6007
6098
 
6008
- },{"./declaracao":71}],94:[function(require,module,exports){
6099
+ },{"./declaracao":73}],96:[function(require,module,exports){
6009
6100
  "use strict";
6010
6101
  Object.defineProperty(exports, "__esModule", { value: true });
6011
6102
  exports.default = cyrb53;
@@ -6029,7 +6120,7 @@ function cyrb53(nomeArquivo, semente = 0) {
6029
6120
  return 4294967296 * (2097151 & h2) + (h1 >>> 0);
6030
6121
  }
6031
6122
 
6032
- },{}],95:[function(require,module,exports){
6123
+ },{}],97:[function(require,module,exports){
6033
6124
  "use strict";
6034
6125
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6035
6126
  if (k2 === undefined) k2 = k;
@@ -6054,11 +6145,11 @@ var cyrb53_1 = require("./cyrb53");
6054
6145
  Object.defineProperty(exports, "cyrb53", { enumerable: true, get: function () { return __importDefault(cyrb53_1).default; } });
6055
6146
  __exportStar(require("./ponto-parada"), exports);
6056
6147
 
6057
- },{"./cyrb53":94,"./ponto-parada":96}],96:[function(require,module,exports){
6148
+ },{"./cyrb53":96,"./ponto-parada":98}],98:[function(require,module,exports){
6058
6149
  "use strict";
6059
6150
  Object.defineProperty(exports, "__esModule", { value: true });
6060
6151
 
6061
- },{}],97:[function(require,module,exports){
6152
+ },{}],99:[function(require,module,exports){
6062
6153
  "use strict";
6063
6154
  Object.defineProperty(exports, "__esModule", { value: true });
6064
6155
  exports.EspacoVariaveis = void 0;
@@ -6075,11 +6166,12 @@ class EspacoVariaveis {
6075
6166
  constructor() {
6076
6167
  this.valores = {};
6077
6168
  this.resolucoesChamadas = {};
6169
+ this.referencias = {};
6078
6170
  }
6079
6171
  }
6080
6172
  exports.EspacoVariaveis = EspacoVariaveis;
6081
6173
 
6082
- },{}],98:[function(require,module,exports){
6174
+ },{}],100:[function(require,module,exports){
6083
6175
  "use strict";
6084
6176
  Object.defineProperty(exports, "__esModule", { value: true });
6085
6177
  exports.Chamavel = void 0;
@@ -6093,7 +6185,7 @@ class Chamavel {
6093
6185
  }
6094
6186
  exports.Chamavel = Chamavel;
6095
6187
 
6096
- },{}],99:[function(require,module,exports){
6188
+ },{}],101:[function(require,module,exports){
6097
6189
  "use strict";
6098
6190
  Object.defineProperty(exports, "__esModule", { value: true });
6099
6191
  exports.ClassePadrao = void 0;
@@ -6134,7 +6226,7 @@ class ClassePadrao extends chamavel_1.Chamavel {
6134
6226
  }
6135
6227
  exports.ClassePadrao = ClassePadrao;
6136
6228
 
6137
- },{"./chamavel":98}],100:[function(require,module,exports){
6229
+ },{"./chamavel":100}],102:[function(require,module,exports){
6138
6230
  "use strict";
6139
6231
  Object.defineProperty(exports, "__esModule", { value: true });
6140
6232
  exports.DeleguaFuncao = void 0;
@@ -6221,6 +6313,11 @@ class DeleguaFuncao extends chamavel_1.Chamavel {
6221
6313
  argumento = parametro['padrao'] ? parametro['padrao'].valor : null;
6222
6314
  }
6223
6315
  ambiente.valores[nome] = argumento && argumento.hasOwnProperty('valor') ? argumento.valor : argumento;
6316
+ // Se o argumento é `DeleguaFuncao`, para habilitar o recurso de _currying_,
6317
+ // copiamos seu valor para o escopo atual. Nem sempre podemos contar com a tipagem explícita aqui.
6318
+ if (argumento.valor && ['funcao', 'função'].includes(argumento.valor.tipo)) {
6319
+ parametro.referencia = true;
6320
+ }
6224
6321
  }
6225
6322
  }
6226
6323
  return ambiente;
@@ -6245,7 +6342,8 @@ class DeleguaFuncao extends chamavel_1.Chamavel {
6245
6342
  }
6246
6343
  }
6247
6344
  }
6248
- // TODO: Repensar essa dinâmica para análise semântica.
6345
+ // TODO: Repensar essa dinâmica para análise semântica (levar toda a lógica abaixo para
6346
+ // o interpretador).
6249
6347
  const interpretador = visitante;
6250
6348
  interpretador.proximoEscopo = 'funcao';
6251
6349
  const retornoBloco = await interpretador.executarBloco(this.declaracao.corpo, ambiente);
@@ -6262,9 +6360,16 @@ class DeleguaFuncao extends chamavel_1.Chamavel {
6262
6360
  const pilha = interpretador.pilhaEscoposExecucao;
6263
6361
  for (let referencia of referencias) {
6264
6362
  let argumentoReferencia = ambiente.valores[referencia.parametro.nome.lexema];
6265
- pilha.atribuirVariavel({
6266
- lexema: argumentos[referencia.indice].nome,
6267
- }, argumentoReferencia.valor);
6363
+ // TODO: Aparentemente, esta lógica foi implementada para algum dialeto que
6364
+ // trabalha con referência, mas até então não encontrei este dialeto.
6365
+ /* pilha.atribuirVariavel(
6366
+ {
6367
+
6368
+ lexema: argumentos[referencia.indice].nome
6369
+ } as any,
6370
+ argumentoReferencia.valor
6371
+ ); */
6372
+ pilha.definirVariavel(referencia.parametro.nome.lexema, argumentoReferencia.valor);
6268
6373
  }
6269
6374
  if (retornoBloco instanceof quebras_1.RetornoQuebra) {
6270
6375
  return retornoBloco.valor;
@@ -6280,7 +6385,7 @@ class DeleguaFuncao extends chamavel_1.Chamavel {
6280
6385
  }
6281
6386
  exports.DeleguaFuncao = DeleguaFuncao;
6282
6387
 
6283
- },{"../declaracoes":81,"../espaco-variaveis":97,"../inferenciador":114,"../quebras":158,"./chamavel":98}],101:[function(require,module,exports){
6388
+ },{"../declaracoes":83,"../espaco-variaveis":99,"../inferenciador":117,"../quebras":161,"./chamavel":100}],103:[function(require,module,exports){
6284
6389
  "use strict";
6285
6390
  Object.defineProperty(exports, "__esModule", { value: true });
6286
6391
  exports.DescritorTipoClasse = void 0;
@@ -6361,7 +6466,7 @@ class DescritorTipoClasse extends chamavel_1.Chamavel {
6361
6466
  }
6362
6467
  exports.DescritorTipoClasse = DescritorTipoClasse;
6363
6468
 
6364
- },{"../excecoes":109,"./chamavel":98,"./objeto-delegua-classe":106}],102:[function(require,module,exports){
6469
+ },{"../excecoes":111,"./chamavel":100,"./objeto-delegua-classe":108}],104:[function(require,module,exports){
6365
6470
  "use strict";
6366
6471
  Object.defineProperty(exports, "__esModule", { value: true });
6367
6472
  exports.FuncaoPadrao = void 0;
@@ -6397,7 +6502,7 @@ class FuncaoPadrao extends chamavel_1.Chamavel {
6397
6502
  }
6398
6503
  exports.FuncaoPadrao = FuncaoPadrao;
6399
6504
 
6400
- },{"./chamavel":98}],103:[function(require,module,exports){
6505
+ },{"./chamavel":100}],105:[function(require,module,exports){
6401
6506
  "use strict";
6402
6507
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6403
6508
  if (k2 === undefined) k2 = k;
@@ -6424,7 +6529,7 @@ __exportStar(require("./modulo"), exports);
6424
6529
  __exportStar(require("./objeto-delegua-classe"), exports);
6425
6530
  __exportStar(require("./objeto-padrao"), exports);
6426
6531
 
6427
- },{"./chamavel":98,"./classe-padrao":99,"./delegua-funcao":100,"./descritor-tipo-classe":101,"./funcao-padrao":102,"./metodo-primitiva":104,"./modulo":105,"./objeto-delegua-classe":106,"./objeto-padrao":107}],104:[function(require,module,exports){
6532
+ },{"./chamavel":100,"./classe-padrao":101,"./delegua-funcao":102,"./descritor-tipo-classe":103,"./funcao-padrao":104,"./metodo-primitiva":106,"./modulo":107,"./objeto-delegua-classe":108,"./objeto-padrao":109}],106:[function(require,module,exports){
6428
6533
  "use strict";
6429
6534
  Object.defineProperty(exports, "__esModule", { value: true });
6430
6535
  exports.MetodoPrimitiva = void 0;
@@ -6466,7 +6571,7 @@ class MetodoPrimitiva extends chamavel_1.Chamavel {
6466
6571
  }
6467
6572
  exports.MetodoPrimitiva = MetodoPrimitiva;
6468
6573
 
6469
- },{"./chamavel":98}],105:[function(require,module,exports){
6574
+ },{"./chamavel":100}],107:[function(require,module,exports){
6470
6575
  "use strict";
6471
6576
  Object.defineProperty(exports, "__esModule", { value: true });
6472
6577
  exports.DeleguaModulo = void 0;
@@ -6492,7 +6597,7 @@ class DeleguaModulo {
6492
6597
  }
6493
6598
  exports.DeleguaModulo = DeleguaModulo;
6494
6599
 
6495
- },{}],106:[function(require,module,exports){
6600
+ },{}],108:[function(require,module,exports){
6496
6601
  "use strict";
6497
6602
  Object.defineProperty(exports, "__esModule", { value: true });
6498
6603
  exports.ObjetoDeleguaClasse = void 0;
@@ -6559,7 +6664,7 @@ class ObjetoDeleguaClasse {
6559
6664
  }
6560
6665
  exports.ObjetoDeleguaClasse = ObjetoDeleguaClasse;
6561
6666
 
6562
- },{"../excecoes":109}],107:[function(require,module,exports){
6667
+ },{"../excecoes":111}],109:[function(require,module,exports){
6563
6668
  "use strict";
6564
6669
  Object.defineProperty(exports, "__esModule", { value: true });
6565
6670
  exports.ObjetoPadrao = void 0;
@@ -6593,7 +6698,7 @@ class ObjetoPadrao {
6593
6698
  }
6594
6699
  exports.ObjetoPadrao = ObjetoPadrao;
6595
6700
 
6596
- },{}],108:[function(require,module,exports){
6701
+ },{}],110:[function(require,module,exports){
6597
6702
  "use strict";
6598
6703
  Object.defineProperty(exports, "__esModule", { value: true });
6599
6704
  exports.ErroEmTempoDeExecucao = void 0;
@@ -6608,7 +6713,7 @@ class ErroEmTempoDeExecucao extends Error {
6608
6713
  }
6609
6714
  exports.ErroEmTempoDeExecucao = ErroEmTempoDeExecucao;
6610
6715
 
6611
- },{}],109:[function(require,module,exports){
6716
+ },{}],111:[function(require,module,exports){
6612
6717
  "use strict";
6613
6718
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6614
6719
  if (k2 === undefined) k2 = k;
@@ -6627,7 +6732,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
6627
6732
  Object.defineProperty(exports, "__esModule", { value: true });
6628
6733
  __exportStar(require("./erro-em-tempo-de-execucao"), exports);
6629
6734
 
6630
- },{"./erro-em-tempo-de-execucao":108}],110:[function(require,module,exports){
6735
+ },{"./erro-em-tempo-de-execucao":110}],112:[function(require,module,exports){
6631
6736
  "use strict";
6632
6737
  var __importDefault = (this && this.__importDefault) || function (mod) {
6633
6738
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -6649,6 +6754,12 @@ class FormatadorDelegua {
6649
6754
  this.devePularLinha = true;
6650
6755
  this.deveIndentar = true;
6651
6756
  }
6757
+ visitarExpressaoArgumentoReferenciaFuncao(expressao) {
6758
+ this.codigoFormatado += expressao.simboloFuncao.lexema;
6759
+ }
6760
+ visitarExpressaoReferenciaFuncao(expressao) {
6761
+ this.codigoFormatado += expressao.simboloFuncao.lexema;
6762
+ }
6652
6763
  visitarExpressaoAcessoMetodo(expressao) {
6653
6764
  this.formatarDeclaracaoOuConstruto(expressao.objeto);
6654
6765
  this.codigoFormatado += '.';
@@ -6938,6 +7049,9 @@ class FormatadorDelegua {
6938
7049
  case delegua_1.default.ADICAO:
6939
7050
  this.codigoFormatado += ` + `;
6940
7051
  break;
7052
+ case delegua_1.default.DIFERENTE:
7053
+ this.codigoFormatado += ` != `;
7054
+ break;
6941
7055
  case delegua_1.default.DIVISAO:
6942
7056
  this.codigoFormatado += ` / `;
6943
7057
  break;
@@ -7097,6 +7211,10 @@ class FormatadorDelegua {
7097
7211
  this.codigoFormatado += `'${expressao.valor}'`;
7098
7212
  return;
7099
7213
  }
7214
+ if (['logico', 'lógico'].includes(expressao.tipo)) {
7215
+ this.codigoFormatado += `${expressao.valor ? 'verdadeiro' : 'falso'}`;
7216
+ return;
7217
+ }
7100
7218
  this.codigoFormatado += expressao.valor;
7101
7219
  }
7102
7220
  visitarExpressaoLogica(expressao) {
@@ -7118,6 +7236,9 @@ class FormatadorDelegua {
7118
7236
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}retorna`;
7119
7237
  if (declaracao.valor) {
7120
7238
  this.codigoFormatado += ` `;
7239
+ if (declaracao.valor.constructor.name === 'FuncaoConstruto') {
7240
+ this.codigoFormatado += `função`;
7241
+ }
7121
7242
  this.formatarDeclaracaoOuConstruto(declaracao.valor);
7122
7243
  }
7123
7244
  this.codigoFormatado += `${this.quebraLinha}`;
@@ -7178,6 +7299,9 @@ class FormatadorDelegua {
7178
7299
  case 'Agrupamento':
7179
7300
  this.visitarExpressaoAgrupamento(declaracaoOuConstruto);
7180
7301
  break;
7302
+ case 'ArgumentoReferenciaFuncao':
7303
+ this.visitarExpressaoArgumentoReferenciaFuncao(declaracaoOuConstruto);
7304
+ break;
7181
7305
  case 'AtribuicaoPorIndice':
7182
7306
  this.visitarExpressaoAtribuicaoPorIndice(declaracaoOuConstruto);
7183
7307
  break;
@@ -7253,6 +7377,9 @@ class FormatadorDelegua {
7253
7377
  case 'ParaCada':
7254
7378
  this.visitarDeclaracaoParaCada(declaracaoOuConstruto);
7255
7379
  break;
7380
+ case 'ReferenciaFuncao':
7381
+ this.visitarExpressaoReferenciaFuncao(declaracaoOuConstruto);
7382
+ break;
7256
7383
  case 'Retorna':
7257
7384
  this.visitarExpressaoRetornar(declaracaoOuConstruto);
7258
7385
  break;
@@ -7310,7 +7437,183 @@ class FormatadorDelegua {
7310
7437
  }
7311
7438
  exports.FormatadorDelegua = FormatadorDelegua;
7312
7439
 
7313
- },{"../construtos":44,"../tipos-de-simbolos/delegua":162}],111:[function(require,module,exports){
7440
+ },{"../construtos":45,"../tipos-de-simbolos/delegua":165}],113:[function(require,module,exports){
7441
+ "use strict";
7442
+ Object.defineProperty(exports, "__esModule", { value: true });
7443
+ exports.FormatadorPitugues = void 0;
7444
+ class FormatadorPitugues {
7445
+ visitarExpressaoArgumentoReferenciaFuncao(expressao) {
7446
+ throw new Error('Método não implementado.');
7447
+ }
7448
+ visitarExpressaoReferenciaFuncao(expressao) {
7449
+ throw new Error('Método não implementado.');
7450
+ }
7451
+ visitarDeclaracaoAleatorio(declaracao) {
7452
+ throw new Error('Método não implementado.');
7453
+ }
7454
+ visitarDeclaracaoCabecalhoPrograma(declaracao) {
7455
+ throw new Error('Método não implementado.');
7456
+ }
7457
+ visitarDeclaracaoClasse(declaracao) {
7458
+ throw new Error('Método não implementado.');
7459
+ }
7460
+ visitarDeclaracaoComentario(declaracao) {
7461
+ throw new Error('Método não implementado.');
7462
+ }
7463
+ visitarDeclaracaoConst(declaracao) {
7464
+ throw new Error('Método não implementado.');
7465
+ }
7466
+ visitarDeclaracaoConstMultiplo(declaracao) {
7467
+ throw new Error('Método não implementado.');
7468
+ }
7469
+ visitarDeclaracaoDeExpressao(declaracao) {
7470
+ throw new Error('Método não implementado.');
7471
+ }
7472
+ visitarDeclaracaoDefinicaoFuncao(declaracao) {
7473
+ throw new Error('Método não implementado.');
7474
+ }
7475
+ visitarDeclaracaoEnquanto(declaracao) {
7476
+ throw new Error('Método não implementado.');
7477
+ }
7478
+ visitarDeclaracaoEscolha(declaracao) {
7479
+ throw new Error('Método não implementado.');
7480
+ }
7481
+ visitarDeclaracaoEscreva(declaracao) {
7482
+ throw new Error('Método não implementado.');
7483
+ }
7484
+ visitarDeclaracaoEscrevaMesmaLinha(declaracao) {
7485
+ throw new Error('Método não implementado.');
7486
+ }
7487
+ visitarDeclaracaoFazer(declaracao) {
7488
+ throw new Error('Método não implementado.');
7489
+ }
7490
+ visitarDeclaracaoImportar(declaracao) {
7491
+ throw new Error('Método não implementado.');
7492
+ }
7493
+ visitarDeclaracaoInicioAlgoritmo(declaracao) {
7494
+ throw new Error('Método não implementado.');
7495
+ }
7496
+ visitarDeclaracaoPara(declaracao) {
7497
+ throw new Error('Método não implementado.');
7498
+ }
7499
+ visitarDeclaracaoParaCada(declaracao) {
7500
+ throw new Error('Método não implementado.');
7501
+ }
7502
+ visitarDeclaracaoSe(declaracao) {
7503
+ throw new Error('Método não implementado.');
7504
+ }
7505
+ visitarDeclaracaoTendoComo(declaracao) {
7506
+ throw new Error('Método não implementado.');
7507
+ }
7508
+ visitarDeclaracaoTente(declaracao) {
7509
+ throw new Error('Método não implementado.');
7510
+ }
7511
+ visitarDeclaracaoVar(declaracao) {
7512
+ throw new Error('Método não implementado.');
7513
+ }
7514
+ visitarDeclaracaoVarMultiplo(declaracao) {
7515
+ throw new Error('Método não implementado.');
7516
+ }
7517
+ visitarExpressaoDeAtribuicao(expressao) {
7518
+ throw new Error('Método não implementado.');
7519
+ }
7520
+ visitarExpressaoAcessoIndiceVariavel(expressao) {
7521
+ throw new Error('Método não implementado.');
7522
+ }
7523
+ visitarExpressaoAcessoElementoMatriz(expressao) {
7524
+ throw new Error('Método não implementado.');
7525
+ }
7526
+ visitarExpressaoAcessoMetodo(expressao) {
7527
+ throw new Error('Método não implementado.');
7528
+ }
7529
+ visitarExpressaoAcessoMetodoOuPropriedade(expressao) {
7530
+ throw new Error('Método não implementado.');
7531
+ }
7532
+ visitarExpressaoAcessoPropriedade(expressao) {
7533
+ throw new Error('Método não implementado.');
7534
+ }
7535
+ visitarExpressaoAgrupamento(expressao) {
7536
+ throw new Error('Método não implementado.');
7537
+ }
7538
+ visitarExpressaoAtribuicaoPorIndice(expressao) {
7539
+ throw new Error('Método não implementado.');
7540
+ }
7541
+ visitarExpressaoAtribuicaoPorIndicesMatriz(expressao) {
7542
+ throw new Error('Método não implementado.');
7543
+ }
7544
+ visitarExpressaoBinaria(expressao) {
7545
+ throw new Error('Método não implementado.');
7546
+ }
7547
+ visitarExpressaoBloco(declaracao) {
7548
+ throw new Error('Método não implementado.');
7549
+ }
7550
+ visitarExpressaoContinua(declaracao) {
7551
+ throw new Error('Método não implementado.');
7552
+ }
7553
+ visitarExpressaoDeChamada(expressao) {
7554
+ throw new Error('Método não implementado.');
7555
+ }
7556
+ visitarExpressaoDefinirValor(expressao) {
7557
+ throw new Error('Método não implementado.');
7558
+ }
7559
+ visitarExpressaoDeleguaFuncao(expressao) {
7560
+ throw new Error('Método não implementado.');
7561
+ }
7562
+ visitarExpressaoDeVariavel(expressao) {
7563
+ throw new Error('Método não implementado.');
7564
+ }
7565
+ visitarExpressaoDicionario(expressao) {
7566
+ throw new Error('Método não implementado.');
7567
+ }
7568
+ visitarExpressaoExpressaoRegular(expressao) {
7569
+ throw new Error('Método não implementado.');
7570
+ }
7571
+ visitarExpressaoFalhar(expressao) {
7572
+ throw new Error('Método não implementado.');
7573
+ }
7574
+ visitarExpressaoFimPara(declaracao) {
7575
+ throw new Error('Método não implementado.');
7576
+ }
7577
+ visitarExpressaoFormatacaoEscrita(declaracao) {
7578
+ throw new Error('Método não implementado.');
7579
+ }
7580
+ visitarExpressaoIsto(expressao) {
7581
+ throw new Error('Método não implementado.');
7582
+ }
7583
+ visitarExpressaoLeia(expressao) {
7584
+ throw new Error('Método não implementado.');
7585
+ }
7586
+ visitarExpressaoLiteral(expressao) {
7587
+ throw new Error('Método não implementado.');
7588
+ }
7589
+ visitarExpressaoLogica(expressao) {
7590
+ throw new Error('Método não implementado.');
7591
+ }
7592
+ visitarExpressaoRetornar(declaracao) {
7593
+ throw new Error('Método não implementado.');
7594
+ }
7595
+ visitarExpressaoSuper(expressao) {
7596
+ throw new Error('Método não implementado.');
7597
+ }
7598
+ visitarExpressaoSustar(declaracao) {
7599
+ throw new Error('Método não implementado.');
7600
+ }
7601
+ visitarExpressaoTupla(expressao) {
7602
+ throw new Error('Método não implementado.');
7603
+ }
7604
+ visitarExpressaoTipoDe(expressao) {
7605
+ throw new Error('Método não implementado.');
7606
+ }
7607
+ visitarExpressaoUnaria(expressao) {
7608
+ throw new Error('Método não implementado.');
7609
+ }
7610
+ visitarExpressaoVetor(expressao) {
7611
+ throw new Error('Método não implementado.');
7612
+ }
7613
+ }
7614
+ exports.FormatadorPitugues = FormatadorPitugues;
7615
+
7616
+ },{}],114:[function(require,module,exports){
7314
7617
  "use strict";
7315
7618
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7316
7619
  if (k2 === undefined) k2 = k;
@@ -7328,8 +7631,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
7328
7631
  };
7329
7632
  Object.defineProperty(exports, "__esModule", { value: true });
7330
7633
  __exportStar(require("./formatador-delegua"), exports);
7634
+ __exportStar(require("./formatador-pitugues"), exports);
7331
7635
 
7332
- },{"./formatador-delegua":110}],112:[function(require,module,exports){
7636
+ },{"./formatador-delegua":112,"./formatador-pitugues":113}],115:[function(require,module,exports){
7333
7637
  "use strict";
7334
7638
  Object.defineProperty(exports, "__esModule", { value: true });
7335
7639
  exports.uuidv4 = uuidv4;
@@ -7353,7 +7657,7 @@ function uuidv4() {
7353
7657
  });
7354
7658
  }
7355
7659
 
7356
- },{}],113:[function(require,module,exports){
7660
+ },{}],116:[function(require,module,exports){
7357
7661
  "use strict";
7358
7662
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7359
7663
  if (k2 === undefined) k2 = k;
@@ -7382,7 +7686,7 @@ __exportStar(require("./interpretador"), exports);
7382
7686
  __exportStar(require("./lexador"), exports);
7383
7687
  __exportStar(require("./tradutores"), exports);
7384
7688
 
7385
- },{"./avaliador-sintatico":8,"./construtos":44,"./declaracoes":81,"./depuracao":95,"./formatadores":111,"./interfaces":120,"./interpretador":138,"./lexador":151,"./tradutores":168}],114:[function(require,module,exports){
7689
+ },{"./avaliador-sintatico":8,"./construtos":45,"./declaracoes":83,"./depuracao":97,"./formatadores":114,"./interfaces":123,"./interpretador":141,"./lexador":154,"./tradutores":171}],117:[function(require,module,exports){
7386
7690
  "use strict";
7387
7691
  var __importDefault = (this && this.__importDefault) || function (mod) {
7388
7692
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -7509,15 +7813,15 @@ function tipoInferenciaParaTipoDadosElementar(tipoInferencia) {
7509
7813
  }
7510
7814
  }
7511
7815
 
7512
- },{"./tipos-de-dados/delegua":159,"./tipos-de-dados/primitivos":160,"./tipos-de-simbolos/delegua":162}],115:[function(require,module,exports){
7816
+ },{"./tipos-de-dados/delegua":162,"./tipos-de-dados/primitivos":163,"./tipos-de-simbolos/delegua":165}],118:[function(require,module,exports){
7513
7817
  "use strict";
7514
7818
  Object.defineProperty(exports, "__esModule", { value: true });
7515
7819
 
7516
- },{}],116:[function(require,module,exports){
7820
+ },{}],119:[function(require,module,exports){
7517
7821
  "use strict";
7518
7822
  Object.defineProperty(exports, "__esModule", { value: true });
7519
7823
 
7520
- },{}],117:[function(require,module,exports){
7824
+ },{}],120:[function(require,module,exports){
7521
7825
  "use strict";
7522
7826
  Object.defineProperty(exports, "__esModule", { value: true });
7523
7827
  exports.DiagnosticoSeveridade = void 0;
@@ -7529,7 +7833,7 @@ var DiagnosticoSeveridade;
7529
7833
  DiagnosticoSeveridade[DiagnosticoSeveridade["SUGESTAO"] = 3] = "SUGESTAO";
7530
7834
  })(DiagnosticoSeveridade || (exports.DiagnosticoSeveridade = DiagnosticoSeveridade = {}));
7531
7835
 
7532
- },{}],118:[function(require,module,exports){
7836
+ },{}],121:[function(require,module,exports){
7533
7837
  "use strict";
7534
7838
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7535
7839
  if (k2 === undefined) k2 = k;
@@ -7548,11 +7852,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
7548
7852
  Object.defineProperty(exports, "__esModule", { value: true });
7549
7853
  __exportStar(require("./diagnostico-analisador-semantico"), exports);
7550
7854
 
7551
- },{"./diagnostico-analisador-semantico":117}],119:[function(require,module,exports){
7855
+ },{"./diagnostico-analisador-semantico":120}],122:[function(require,module,exports){
7552
7856
  "use strict";
7553
7857
  Object.defineProperty(exports, "__esModule", { value: true });
7554
7858
 
7555
- },{}],120:[function(require,module,exports){
7859
+ },{}],123:[function(require,module,exports){
7556
7860
  "use strict";
7557
7861
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7558
7862
  if (k2 === undefined) k2 = k;
@@ -7587,35 +7891,35 @@ __exportStar(require("./construtos"), exports);
7587
7891
  __exportStar(require("./erros"), exports);
7588
7892
  __exportStar(require("./retornos"), exports);
7589
7893
 
7590
- },{"./avaliador-sintatico-interface":115,"./construtos":116,"./erros":118,"./formatador-comum-interface":119,"./interpretador-com-depuracao-interface":121,"./interpretador-interface":122,"./lexador-interface":123,"./parametro-interface":124,"./pilha-interface":125,"./primitiva-interface":126,"./resolvedor-interface":127,"./retornos":128,"./retornos/retorno-execucao-interface":130,"./simbolo-interface":133,"./tradutor-interface":134,"./variavel-interface":135,"./visitante-comum-interface":136}],121:[function(require,module,exports){
7894
+ },{"./avaliador-sintatico-interface":118,"./construtos":119,"./erros":121,"./formatador-comum-interface":122,"./interpretador-com-depuracao-interface":124,"./interpretador-interface":125,"./lexador-interface":126,"./parametro-interface":127,"./pilha-interface":128,"./primitiva-interface":129,"./resolvedor-interface":130,"./retornos":131,"./retornos/retorno-execucao-interface":133,"./simbolo-interface":136,"./tradutor-interface":137,"./variavel-interface":138,"./visitante-comum-interface":139}],124:[function(require,module,exports){
7591
7895
  "use strict";
7592
7896
  Object.defineProperty(exports, "__esModule", { value: true });
7593
7897
 
7594
- },{}],122:[function(require,module,exports){
7898
+ },{}],125:[function(require,module,exports){
7595
7899
  "use strict";
7596
7900
  Object.defineProperty(exports, "__esModule", { value: true });
7597
7901
 
7598
- },{}],123:[function(require,module,exports){
7902
+ },{}],126:[function(require,module,exports){
7599
7903
  "use strict";
7600
7904
  Object.defineProperty(exports, "__esModule", { value: true });
7601
7905
 
7602
- },{}],124:[function(require,module,exports){
7906
+ },{}],127:[function(require,module,exports){
7603
7907
  "use strict";
7604
7908
  Object.defineProperty(exports, "__esModule", { value: true });
7605
7909
 
7606
- },{}],125:[function(require,module,exports){
7910
+ },{}],128:[function(require,module,exports){
7607
7911
  "use strict";
7608
7912
  Object.defineProperty(exports, "__esModule", { value: true });
7609
7913
 
7610
- },{}],126:[function(require,module,exports){
7914
+ },{}],129:[function(require,module,exports){
7611
7915
  "use strict";
7612
7916
  Object.defineProperty(exports, "__esModule", { value: true });
7613
7917
 
7614
- },{}],127:[function(require,module,exports){
7918
+ },{}],130:[function(require,module,exports){
7615
7919
  "use strict";
7616
7920
  Object.defineProperty(exports, "__esModule", { value: true });
7617
7921
 
7618
- },{}],128:[function(require,module,exports){
7922
+ },{}],131:[function(require,module,exports){
7619
7923
  "use strict";
7620
7924
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7621
7925
  if (k2 === undefined) k2 = k;
@@ -7637,39 +7941,39 @@ __exportStar(require("./retorno-execucao-interface"), exports);
7637
7941
  __exportStar(require("./retorno-interpretador"), exports);
7638
7942
  __exportStar(require("./retorno-lexador"), exports);
7639
7943
 
7640
- },{"./retorno-avaliador-sintatico":129,"./retorno-execucao-interface":130,"./retorno-interpretador":131,"./retorno-lexador":132}],129:[function(require,module,exports){
7944
+ },{"./retorno-avaliador-sintatico":132,"./retorno-execucao-interface":133,"./retorno-interpretador":134,"./retorno-lexador":135}],132:[function(require,module,exports){
7641
7945
  "use strict";
7642
7946
  Object.defineProperty(exports, "__esModule", { value: true });
7643
7947
 
7644
- },{}],130:[function(require,module,exports){
7948
+ },{}],133:[function(require,module,exports){
7645
7949
  "use strict";
7646
7950
  Object.defineProperty(exports, "__esModule", { value: true });
7647
7951
 
7648
- },{}],131:[function(require,module,exports){
7952
+ },{}],134:[function(require,module,exports){
7649
7953
  "use strict";
7650
7954
  Object.defineProperty(exports, "__esModule", { value: true });
7651
7955
 
7652
- },{}],132:[function(require,module,exports){
7956
+ },{}],135:[function(require,module,exports){
7653
7957
  "use strict";
7654
7958
  Object.defineProperty(exports, "__esModule", { value: true });
7655
7959
 
7656
- },{}],133:[function(require,module,exports){
7960
+ },{}],136:[function(require,module,exports){
7657
7961
  "use strict";
7658
7962
  Object.defineProperty(exports, "__esModule", { value: true });
7659
7963
 
7660
- },{}],134:[function(require,module,exports){
7964
+ },{}],137:[function(require,module,exports){
7661
7965
  "use strict";
7662
7966
  Object.defineProperty(exports, "__esModule", { value: true });
7663
7967
 
7664
- },{}],135:[function(require,module,exports){
7968
+ },{}],138:[function(require,module,exports){
7665
7969
  "use strict";
7666
7970
  Object.defineProperty(exports, "__esModule", { value: true });
7667
7971
 
7668
- },{}],136:[function(require,module,exports){
7972
+ },{}],139:[function(require,module,exports){
7669
7973
  "use strict";
7670
7974
  Object.defineProperty(exports, "__esModule", { value: true });
7671
7975
 
7672
- },{}],137:[function(require,module,exports){
7976
+ },{}],140:[function(require,module,exports){
7673
7977
  "use strict";
7674
7978
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7675
7979
  if (k2 === undefined) k2 = k;
@@ -7732,7 +8036,7 @@ function carregarBibliotecasGlobais(pilhaEscoposExecucao) {
7732
8036
  pilhaEscoposExecucao.definirVariavel('tupla', new funcao_padrao_1.FuncaoPadrao(1, bibliotecaGlobal.tupla));
7733
8037
  }
7734
8038
 
7735
- },{"../bibliotecas/biblioteca-global":17,"../estruturas/funcao-padrao":102}],138:[function(require,module,exports){
8039
+ },{"../bibliotecas/biblioteca-global":17,"../estruturas/funcao-padrao":104}],141:[function(require,module,exports){
7736
8040
  "use strict";
7737
8041
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7738
8042
  if (k2 === undefined) k2 = k;
@@ -7753,7 +8057,7 @@ __exportStar(require("./interpretador"), exports);
7753
8057
  __exportStar(require("./interpretador-base"), exports);
7754
8058
  __exportStar(require("./interpretador-com-depuracao"), exports);
7755
8059
 
7756
- },{"./interpretador":141,"./interpretador-base":139,"./interpretador-com-depuracao":140}],139:[function(require,module,exports){
8060
+ },{"./interpretador":144,"./interpretador-base":142,"./interpretador-com-depuracao":143}],142:[function(require,module,exports){
7757
8061
  (function (process){(function (){
7758
8062
  "use strict";
7759
8063
  var __importDefault = (this && this.__importDefault) || function (mod) {
@@ -7829,6 +8133,12 @@ class InterpretadorBase {
7829
8133
  this.pilhaEscoposExecucao.empilhar(escopoExecucao);
7830
8134
  (0, comum_1.carregarBibliotecasGlobais)(this.pilhaEscoposExecucao);
7831
8135
  }
8136
+ visitarExpressaoArgumentoReferenciaFuncao(expressao) {
8137
+ throw new Error('Método não implementado.');
8138
+ }
8139
+ visitarExpressaoReferenciaFuncao(expressao) {
8140
+ throw new Error('Método não implementado.');
8141
+ }
7832
8142
  visitarExpressaoAcessoMetodo(expressao) {
7833
8143
  throw new Error('Método não implementado.');
7834
8144
  }
@@ -8268,7 +8578,7 @@ class InterpretadorBase {
8268
8578
  }
8269
8579
  // A função chamada pode ser de uma biblioteca JavaScript.
8270
8580
  // Neste caso apenas testamos se o tipo é uma função.
8271
- // TODO: Descobrir qual caso exatamente passa aqui.
8581
+ // Casos que passam aqui: chamadas a métodos de bibliotecas de Delégua.
8272
8582
  if (typeof entidadeChamada === primitivos_1.default.FUNCAO) {
8273
8583
  let objeto = null;
8274
8584
  if (expressao.entidadeChamada.objeto) {
@@ -9020,14 +9330,15 @@ class InterpretadorBase {
9020
9330
  }
9021
9331
  }
9022
9332
  if (typeof objeto === primitivos_1.default.OBJETO) {
9023
- for (const obj in objeto) {
9024
- let valor = objeto[obj];
9333
+ const objetoEscrita = {};
9334
+ for (const propriedade in objeto) {
9335
+ let valor = objeto[propriedade];
9025
9336
  if (typeof valor === primitivos_1.default.BOOLEANO) {
9026
9337
  valor = valor ? 'verdadeiro' : 'falso';
9027
- objeto[obj] = valor;
9028
9338
  }
9339
+ objetoEscrita[propriedade] = valor;
9029
9340
  }
9030
- return JSON.stringify(objeto);
9341
+ return JSON.stringify(objetoEscrita);
9031
9342
  }
9032
9343
  return objeto.toString();
9033
9344
  }
@@ -9060,8 +9371,8 @@ class InterpretadorBase {
9060
9371
  */
9061
9372
  async executarUltimoEscopo(manterAmbiente = false) {
9062
9373
  const ultimoEscopo = this.pilhaEscoposExecucao.topoDaPilha();
9374
+ let retornoExecucao;
9063
9375
  try {
9064
- let retornoExecucao;
9065
9376
  for (; !(retornoExecucao instanceof quebras_1.Quebra) && ultimoEscopo.declaracaoAtual < ultimoEscopo.declaracoes.length; ultimoEscopo.declaracaoAtual++) {
9066
9377
  retornoExecucao = await this.executar(ultimoEscopo.declaracoes[ultimoEscopo.declaracaoAtual]);
9067
9378
  }
@@ -9083,7 +9394,7 @@ class InterpretadorBase {
9083
9394
  finally {
9084
9395
  this.pilhaEscoposExecucao.removerUltimo();
9085
9396
  const escopoAnterior = this.pilhaEscoposExecucao.topoDaPilha();
9086
- if (manterAmbiente) {
9397
+ if (manterAmbiente || (retornoExecucao && retornoExecucao.preservarEscopo === true)) {
9087
9398
  escopoAnterior.ambiente.valores = Object.assign(escopoAnterior.ambiente.valores, ultimoEscopo.ambiente.valores);
9088
9399
  }
9089
9400
  }
@@ -9135,7 +9446,7 @@ class InterpretadorBase {
9135
9446
  exports.InterpretadorBase = InterpretadorBase;
9136
9447
 
9137
9448
  }).call(this)}).call(this,require('_process'))
9138
- },{"../avaliador-sintatico":8,"../bibliotecas/primitivas-dicionario":18,"../bibliotecas/primitivas-numero":19,"../bibliotecas/primitivas-texto":20,"../bibliotecas/primitivas-vetor":21,"../construtos":44,"../espaco-variaveis":97,"../estruturas":103,"../estruturas/metodo-primitiva":104,"../excecoes":109,"../inferenciador":114,"../lexador":151,"../quebras":158,"../tipos-de-dados/delegua":159,"../tipos-de-dados/primitivos":160,"../tipos-de-simbolos/delegua":162,"./comum":137,"./pilha-escopos-execucao":142,"_process":381,"browser-process-hrtime":338}],140:[function(require,module,exports){
9449
+ },{"../avaliador-sintatico":8,"../bibliotecas/primitivas-dicionario":18,"../bibliotecas/primitivas-numero":19,"../bibliotecas/primitivas-texto":20,"../bibliotecas/primitivas-vetor":21,"../construtos":45,"../espaco-variaveis":99,"../estruturas":105,"../estruturas/metodo-primitiva":106,"../excecoes":111,"../inferenciador":117,"../lexador":154,"../quebras":161,"../tipos-de-dados/delegua":162,"../tipos-de-dados/primitivos":163,"../tipos-de-simbolos/delegua":165,"./comum":140,"./pilha-escopos-execucao":145,"_process":384,"browser-process-hrtime":341}],143:[function(require,module,exports){
9139
9450
  "use strict";
9140
9451
  var __importDefault = (this && this.__importDefault) || function (mod) {
9141
9452
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -9707,7 +10018,7 @@ class InterpretadorComDepuracao extends interpretador_base_1.InterpretadorBase {
9707
10018
  }
9708
10019
  exports.InterpretadorComDepuracao = InterpretadorComDepuracao;
9709
10020
 
9710
- },{"../declaracoes":81,"../espaco-variaveis":97,"../inferenciador":114,"../quebras":158,"./interpretador-base":139,"lodash":374}],141:[function(require,module,exports){
10021
+ },{"../declaracoes":83,"../espaco-variaveis":99,"../inferenciador":117,"../quebras":161,"./interpretador-base":142,"lodash":377}],144:[function(require,module,exports){
9711
10022
  "use strict";
9712
10023
  var __importDefault = (this && this.__importDefault) || function (mod) {
9713
10024
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -9716,18 +10027,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
9716
10027
  exports.Interpretador = void 0;
9717
10028
  const estruturas_1 = require("../estruturas");
9718
10029
  const interpretador_base_1 = require("./interpretador-base");
10030
+ const inferenciador_1 = require("../inferenciador");
10031
+ const excecoes_1 = require("../excecoes");
9719
10032
  const primitivas_dicionario_1 = __importDefault(require("../bibliotecas/primitivas-dicionario"));
9720
10033
  const primitivas_numero_1 = __importDefault(require("../bibliotecas/primitivas-numero"));
9721
10034
  const primitivas_texto_1 = __importDefault(require("../bibliotecas/primitivas-texto"));
9722
10035
  const primitivas_vetor_1 = __importDefault(require("../bibliotecas/primitivas-vetor"));
9723
10036
  const primitivos_1 = __importDefault(require("../tipos-de-dados/primitivos"));
9724
10037
  const delegua_1 = __importDefault(require("../tipos-de-dados/delegua"));
9725
- const inferenciador_1 = require("../inferenciador");
9726
- const excecoes_1 = require("../excecoes");
10038
+ const quebras_1 = require("../quebras");
9727
10039
  /**
9728
10040
  * O interpretador de Delégua.
9729
10041
  */
9730
10042
  class Interpretador extends interpretador_base_1.InterpretadorBase {
10043
+ visitarDeclaracaoDefinicaoFuncao(declaracao) {
10044
+ const funcao = new estruturas_1.DeleguaFuncao(declaracao.simbolo.lexema, declaracao.funcao);
10045
+ // TODO: Depreciar essa abordagem a favor do uso por referências.
10046
+ this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, funcao);
10047
+ this.pilhaEscoposExecucao.registrarReferenciaFuncao(declaracao.id, funcao);
10048
+ }
9731
10049
  async visitarExpressaoAcessoMetodo(expressao) {
9732
10050
  let variavelObjeto = await this.avaliar(expressao.objeto);
9733
10051
  // Este caso acontece quando há encadeamento de métodos.
@@ -9874,6 +10192,28 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
9874
10192
  }
9875
10193
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(null, `Método para objeto ou primitiva não encontrado: ${expressao.nomePropriedade}.`, expressao.linha));
9876
10194
  }
10195
+ async visitarExpressaoArgumentoReferenciaFuncao(expressao) {
10196
+ const deleguaFuncao = this.pilhaEscoposExecucao.obterVariavelPorNome(expressao.simboloFuncao.lexema);
10197
+ return deleguaFuncao;
10198
+ }
10199
+ async visitarExpressaoReferenciaFuncao(expressao) {
10200
+ const deleguaFuncao = this.pilhaEscoposExecucao.obterReferenciaFuncao(expressao.idFuncao);
10201
+ return deleguaFuncao;
10202
+ }
10203
+ async visitarExpressaoRetornar(declaracao) {
10204
+ let valor = null;
10205
+ if (declaracao.valor !== null) {
10206
+ valor = await this.avaliar(declaracao.valor);
10207
+ }
10208
+ const retornoQuebra = new quebras_1.RetornoQuebra(valor);
10209
+ // Se o retorno for uma função anônima, o escopo precisa ser preservado.
10210
+ // Como quebras matam o topo da pilha de escopos, precisamos dizer
10211
+ // para a finalização para copiar as variáveis para o escopo de baixo.
10212
+ if (retornoQuebra.valor.constructor.name === 'DeleguaFuncao') {
10213
+ retornoQuebra.preservarEscopo = true;
10214
+ }
10215
+ return retornoQuebra;
10216
+ }
9877
10217
  async visitarExpressaoTipoDe(expressao) {
9878
10218
  let valorTipoDe = expressao.valor;
9879
10219
  switch (valorTipoDe.constructor.name) {
@@ -9916,7 +10256,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
9916
10256
  }
9917
10257
  exports.Interpretador = Interpretador;
9918
10258
 
9919
- },{"../bibliotecas/primitivas-dicionario":18,"../bibliotecas/primitivas-numero":19,"../bibliotecas/primitivas-texto":20,"../bibliotecas/primitivas-vetor":21,"../estruturas":103,"../excecoes":109,"../inferenciador":114,"../tipos-de-dados/delegua":159,"../tipos-de-dados/primitivos":160,"./interpretador-base":139}],142:[function(require,module,exports){
10259
+ },{"../bibliotecas/primitivas-dicionario":18,"../bibliotecas/primitivas-numero":19,"../bibliotecas/primitivas-texto":20,"../bibliotecas/primitivas-vetor":21,"../estruturas":105,"../excecoes":111,"../inferenciador":117,"../quebras":161,"../tipos-de-dados/delegua":162,"../tipos-de-dados/primitivos":163,"./interpretador-base":142}],145:[function(require,module,exports){
9920
10260
  "use strict";
9921
10261
  var __importDefault = (this && this.__importDefault) || function (mod) {
9922
10262
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -10153,7 +10493,7 @@ class PilhaEscoposExecucao {
10153
10493
  * Obtém todas as declarações de classe do último escopo.
10154
10494
  * @returns
10155
10495
  */
10156
- obterTodasDeclaracaoClasse() {
10496
+ obterTodasDeclaracoesClasse() {
10157
10497
  const retorno = {};
10158
10498
  const ambiente = this.pilha[this.pilha.length - 1].ambiente;
10159
10499
  for (const [nome, corpo] of Object.entries(ambiente.valores)) {
@@ -10164,10 +10504,23 @@ class PilhaEscoposExecucao {
10164
10504
  }
10165
10505
  return retorno;
10166
10506
  }
10507
+ registrarReferenciaFuncao(idFuncao, funcao) {
10508
+ const ambiente = this.pilha[this.pilha.length - 1].ambiente;
10509
+ ambiente.referencias[idFuncao] = funcao;
10510
+ }
10511
+ obterReferenciaFuncao(idFuncao) {
10512
+ for (let i = 1; i <= this.pilha.length; i++) {
10513
+ const ambiente = this.pilha[this.pilha.length - i].ambiente;
10514
+ if (ambiente.referencias[idFuncao] !== undefined) {
10515
+ return ambiente.referencias[idFuncao];
10516
+ }
10517
+ }
10518
+ throw new excecoes_1.ErroEmTempoDeExecucao(new lexador_1.Simbolo('especial', idFuncao, idFuncao, -1, -1), "Referência para função não encontrada: '" + idFuncao + "'.");
10519
+ }
10167
10520
  }
10168
10521
  exports.PilhaEscoposExecucao = PilhaEscoposExecucao;
10169
10522
 
10170
- },{"../estruturas":103,"../excecoes":109,"../inferenciador":114,"../lexador":151,"../tipos-de-dados/delegua":159}],143:[function(require,module,exports){
10523
+ },{"../estruturas":105,"../excecoes":111,"../inferenciador":117,"../lexador":154,"../tipos-de-dados/delegua":162}],146:[function(require,module,exports){
10171
10524
  "use strict";
10172
10525
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10173
10526
  if (k2 === undefined) k2 = k;
@@ -10189,7 +10542,7 @@ __exportStar(require("./lexador-pitugues"), exports);
10189
10542
  __exportStar(require("./lexador-guarani"), exports);
10190
10543
  __exportStar(require("./lexador-portugol-ipt"), exports);
10191
10544
 
10192
- },{"./lexador-egua-classico":144,"./lexador-guarani":145,"./lexador-pitugues":146,"./lexador-portugol-ipt":147}],144:[function(require,module,exports){
10545
+ },{"./lexador-egua-classico":147,"./lexador-guarani":148,"./lexador-pitugues":149,"./lexador-portugol-ipt":150}],147:[function(require,module,exports){
10193
10546
  "use strict";
10194
10547
  var __importDefault = (this && this.__importDefault) || function (mod) {
10195
10548
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -10477,7 +10830,7 @@ class LexadorEguaClassico {
10477
10830
  }
10478
10831
  exports.LexadorEguaClassico = LexadorEguaClassico;
10479
10832
 
10480
- },{"../../tipos-de-simbolos/egua-classico":163,"../simbolo":157,"./palavras-reservadas/egua-classico":148}],145:[function(require,module,exports){
10833
+ },{"../../tipos-de-simbolos/egua-classico":166,"../simbolo":160,"./palavras-reservadas/egua-classico":151}],148:[function(require,module,exports){
10481
10834
  "use strict";
10482
10835
  var __importDefault = (this && this.__importDefault) || function (mod) {
10483
10836
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -10592,7 +10945,7 @@ class LexadorGuarani extends lexador_base_1.LexadorBase {
10592
10945
  }
10593
10946
  exports.LexadorGuarani = LexadorGuarani;
10594
10947
 
10595
- },{"../../tipos-de-simbolos/guarani":164,"../lexador-base":153,"./palavras-reservadas/guarani":149}],146:[function(require,module,exports){
10948
+ },{"../../tipos-de-simbolos/guarani":167,"../lexador-base":156,"./palavras-reservadas/guarani":152}],149:[function(require,module,exports){
10596
10949
  "use strict";
10597
10950
  var __importDefault = (this && this.__importDefault) || function (mod) {
10598
10951
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -10992,7 +11345,7 @@ class LexadorPitugues {
10992
11345
  }
10993
11346
  exports.LexadorPitugues = LexadorPitugues;
10994
11347
 
10995
- },{"../../tipos-de-simbolos/pitugues":166,"../palavras-reservadas":156,"../simbolo":157,"browser-process-hrtime":338}],147:[function(require,module,exports){
11348
+ },{"../../tipos-de-simbolos/pitugues":169,"../palavras-reservadas":159,"../simbolo":160,"browser-process-hrtime":341}],150:[function(require,module,exports){
10996
11349
  "use strict";
10997
11350
  var __importDefault = (this && this.__importDefault) || function (mod) {
10998
11351
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -11231,7 +11584,7 @@ class LexadorPortugolIpt {
11231
11584
  }
11232
11585
  exports.LexadorPortugolIpt = LexadorPortugolIpt;
11233
11586
 
11234
- },{"../../tipos-de-simbolos/portugol-ipt":167,"../simbolo":157,"./palavras-reservadas/portugol-ipt":150}],148:[function(require,module,exports){
11587
+ },{"../../tipos-de-simbolos/portugol-ipt":170,"../simbolo":160,"./palavras-reservadas/portugol-ipt":153}],151:[function(require,module,exports){
11235
11588
  "use strict";
11236
11589
  var __importDefault = (this && this.__importDefault) || function (mod) {
11237
11590
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -11272,7 +11625,7 @@ exports.palavrasReservadas = {
11272
11625
  verdadeiro: egua_classico_1.default.VERDADEIRO,
11273
11626
  };
11274
11627
 
11275
- },{"../../../tipos-de-simbolos/egua-classico":163}],149:[function(require,module,exports){
11628
+ },{"../../../tipos-de-simbolos/egua-classico":166}],152:[function(require,module,exports){
11276
11629
  "use strict";
11277
11630
  var __importDefault = (this && this.__importDefault) || function (mod) {
11278
11631
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -11284,7 +11637,7 @@ exports.palavrasReservadas = {
11284
11637
  hai: guarani_1.default.HAI,
11285
11638
  };
11286
11639
 
11287
- },{"../../../tipos-de-simbolos/guarani":164}],150:[function(require,module,exports){
11640
+ },{"../../../tipos-de-simbolos/guarani":167}],153:[function(require,module,exports){
11288
11641
  "use strict";
11289
11642
  var __importDefault = (this && this.__importDefault) || function (mod) {
11290
11643
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -11306,7 +11659,7 @@ exports.palavrasReservadas = {
11306
11659
  senão: portugol_ipt_1.default.SENAO,
11307
11660
  };
11308
11661
 
11309
- },{"../../../tipos-de-simbolos/portugol-ipt":167}],151:[function(require,module,exports){
11662
+ },{"../../../tipos-de-simbolos/portugol-ipt":170}],154:[function(require,module,exports){
11310
11663
  "use strict";
11311
11664
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11312
11665
  if (k2 === undefined) k2 = k;
@@ -11328,7 +11681,7 @@ __exportStar(require("./lexador-base-linha-unica"), exports);
11328
11681
  __exportStar(require("./micro-lexador"), exports);
11329
11682
  __exportStar(require("./simbolo"), exports);
11330
11683
 
11331
- },{"./lexador":154,"./lexador-base-linha-unica":152,"./micro-lexador":155,"./simbolo":157}],152:[function(require,module,exports){
11684
+ },{"./lexador":157,"./lexador-base-linha-unica":155,"./micro-lexador":158,"./simbolo":160}],155:[function(require,module,exports){
11332
11685
  "use strict";
11333
11686
  Object.defineProperty(exports, "__esModule", { value: true });
11334
11687
  exports.LexadorBaseLinhaUnica = void 0;
@@ -11412,7 +11765,7 @@ class LexadorBaseLinhaUnica {
11412
11765
  }
11413
11766
  exports.LexadorBaseLinhaUnica = LexadorBaseLinhaUnica;
11414
11767
 
11415
- },{"./simbolo":157}],153:[function(require,module,exports){
11768
+ },{"./simbolo":160}],156:[function(require,module,exports){
11416
11769
  "use strict";
11417
11770
  Object.defineProperty(exports, "__esModule", { value: true });
11418
11771
  exports.LexadorBase = void 0;
@@ -11526,7 +11879,7 @@ class LexadorBase {
11526
11879
  }
11527
11880
  exports.LexadorBase = LexadorBase;
11528
11881
 
11529
- },{"./simbolo":157}],154:[function(require,module,exports){
11882
+ },{"./simbolo":160}],157:[function(require,module,exports){
11530
11883
  "use strict";
11531
11884
  var __importDefault = (this && this.__importDefault) || function (mod) {
11532
11885
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -11971,7 +12324,7 @@ class Lexador {
11971
12324
  }
11972
12325
  exports.Lexador = Lexador;
11973
12326
 
11974
- },{"../tipos-de-simbolos/delegua":162,"./palavras-reservadas":156,"./simbolo":157,"browser-process-hrtime":338}],155:[function(require,module,exports){
12327
+ },{"../tipos-de-simbolos/delegua":165,"./palavras-reservadas":159,"./simbolo":160,"browser-process-hrtime":341}],158:[function(require,module,exports){
11975
12328
  "use strict";
11976
12329
  var __importDefault = (this && this.__importDefault) || function (mod) {
11977
12330
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -12184,7 +12537,7 @@ class MicroLexador {
12184
12537
  }
12185
12538
  exports.MicroLexador = MicroLexador;
12186
12539
 
12187
- },{"../tipos-de-simbolos/microgramaticas/delegua":165,"./palavras-reservadas":156,"./simbolo":157}],156:[function(require,module,exports){
12540
+ },{"../tipos-de-simbolos/microgramaticas/delegua":168,"./palavras-reservadas":159,"./simbolo":160}],159:[function(require,module,exports){
12188
12541
  "use strict";
12189
12542
  var __importDefault = (this && this.__importDefault) || function (mod) {
12190
12543
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -12247,7 +12600,7 @@ exports.palavrasReservadasMicroGramatica = {
12247
12600
  verdadeiro: delegua_1.default.VERDADEIRO,
12248
12601
  };
12249
12602
 
12250
- },{"../tipos-de-simbolos/delegua":162}],157:[function(require,module,exports){
12603
+ },{"../tipos-de-simbolos/delegua":165}],160:[function(require,module,exports){
12251
12604
  "use strict";
12252
12605
  Object.defineProperty(exports, "__esModule", { value: true });
12253
12606
  exports.Simbolo = void 0;
@@ -12265,11 +12618,14 @@ class Simbolo {
12265
12618
  }
12266
12619
  exports.Simbolo = Simbolo;
12267
12620
 
12268
- },{}],158:[function(require,module,exports){
12621
+ },{}],161:[function(require,module,exports){
12269
12622
  "use strict";
12270
12623
  Object.defineProperty(exports, "__esModule", { value: true });
12271
12624
  exports.ContinuarQuebra = exports.SustarQuebra = exports.RetornoQuebra = exports.Quebra = void 0;
12272
12625
  class Quebra {
12626
+ constructor() {
12627
+ this.preservarEscopo = false;
12628
+ }
12273
12629
  }
12274
12630
  exports.Quebra = Quebra;
12275
12631
  class RetornoQuebra extends Quebra {
@@ -12286,7 +12642,7 @@ class ContinuarQuebra extends Quebra {
12286
12642
  }
12287
12643
  exports.ContinuarQuebra = ContinuarQuebra;
12288
12644
 
12289
- },{}],159:[function(require,module,exports){
12645
+ },{}],162:[function(require,module,exports){
12290
12646
  "use strict";
12291
12647
  Object.defineProperty(exports, "__esModule", { value: true });
12292
12648
  exports.default = {
@@ -12312,7 +12668,7 @@ exports.default = {
12312
12668
  VETOR_TEXTO: 'texto[]',
12313
12669
  };
12314
12670
 
12315
- },{}],160:[function(require,module,exports){
12671
+ },{}],163:[function(require,module,exports){
12316
12672
  "use strict";
12317
12673
  Object.defineProperty(exports, "__esModule", { value: true });
12318
12674
  exports.default = {
@@ -12331,7 +12687,7 @@ exports.default = {
12331
12687
  TEXTO: 'string',
12332
12688
  };
12333
12689
 
12334
- },{}],161:[function(require,module,exports){
12690
+ },{}],164:[function(require,module,exports){
12335
12691
  "use strict";
12336
12692
  Object.defineProperty(exports, "__esModule", { value: true });
12337
12693
  exports.default = {
@@ -12357,7 +12713,7 @@ exports.default = {
12357
12713
  VIRGULA: 'VIRGULA',
12358
12714
  };
12359
12715
 
12360
- },{}],162:[function(require,module,exports){
12716
+ },{}],165:[function(require,module,exports){
12361
12717
  "use strict";
12362
12718
  Object.defineProperty(exports, "__esModule", { value: true });
12363
12719
  exports.default = {
@@ -12451,7 +12807,7 @@ exports.default = {
12451
12807
  VIRGULA: 'VIRGULA',
12452
12808
  };
12453
12809
 
12454
- },{}],163:[function(require,module,exports){
12810
+ },{}],166:[function(require,module,exports){
12455
12811
  "use strict";
12456
12812
  Object.defineProperty(exports, "__esModule", { value: true });
12457
12813
  exports.default = {
@@ -12529,7 +12885,7 @@ exports.default = {
12529
12885
  VIRGULA: 'VIRGULA',
12530
12886
  };
12531
12887
 
12532
- },{}],164:[function(require,module,exports){
12888
+ },{}],167:[function(require,module,exports){
12533
12889
  "use strict";
12534
12890
  Object.defineProperty(exports, "__esModule", { value: true });
12535
12891
  exports.default = {
@@ -12546,7 +12902,7 @@ exports.default = {
12546
12902
  VIRGULA: 'VIRGULA',
12547
12903
  };
12548
12904
 
12549
- },{}],165:[function(require,module,exports){
12905
+ },{}],168:[function(require,module,exports){
12550
12906
  "use strict";
12551
12907
  Object.defineProperty(exports, "__esModule", { value: true });
12552
12908
  exports.default = {
@@ -12595,7 +12951,7 @@ exports.default = {
12595
12951
  VIRGULA: 'VIRGULA',
12596
12952
  };
12597
12953
 
12598
- },{}],166:[function(require,module,exports){
12954
+ },{}],169:[function(require,module,exports){
12599
12955
  "use strict";
12600
12956
  Object.defineProperty(exports, "__esModule", { value: true });
12601
12957
  exports.default = {
@@ -12673,7 +13029,7 @@ exports.default = {
12673
13029
  VIRGULA: 'VIRGULA',
12674
13030
  };
12675
13031
 
12676
- },{}],167:[function(require,module,exports){
13032
+ },{}],170:[function(require,module,exports){
12677
13033
  "use strict";
12678
13034
  Object.defineProperty(exports, "__esModule", { value: true });
12679
13035
  exports.default = {
@@ -12712,7 +13068,7 @@ exports.default = {
12712
13068
  VIRGULA: 'VIRGULA',
12713
13069
  };
12714
13070
 
12715
- },{}],168:[function(require,module,exports){
13071
+ },{}],171:[function(require,module,exports){
12716
13072
  "use strict";
12717
13073
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12718
13074
  if (k2 === undefined) k2 = k;
@@ -12736,7 +13092,7 @@ __exportStar(require("./tradutor-python"), exports);
12736
13092
  __exportStar(require("./tradutor-reverso-javascript"), exports);
12737
13093
  __exportStar(require("./tradutor-reverso-python"), exports);
12738
13094
 
12739
- },{"./tradutor-assemblyscript":171,"./tradutor-javascript":172,"./tradutor-portugol-ipt":173,"./tradutor-python":174,"./tradutor-reverso-javascript":175,"./tradutor-reverso-python":176}],169:[function(require,module,exports){
13095
+ },{"./tradutor-assemblyscript":174,"./tradutor-javascript":175,"./tradutor-portugol-ipt":176,"./tradutor-python":177,"./tradutor-reverso-javascript":178,"./tradutor-reverso-python":179}],172:[function(require,module,exports){
12740
13096
  "use strict";
12741
13097
  // Generated from fontes\tradutores\python\Python3.g4 by ANTLR 4.9.0-SNAPSHOT
12742
13098
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -13975,7 +14331,7 @@ __decorate([
13975
14331
  Decorators_1.Override
13976
14332
  ], Python3Lexer.prototype, "nextToken", null);
13977
14333
 
13978
- },{"./python3-parser":170,"antlr4ts/CommonToken":186,"antlr4ts/Decorators":190,"antlr4ts/Lexer":198,"antlr4ts/Token":215,"antlr4ts/VocabularyImpl":221,"antlr4ts/atn/ATNDeserializer":227,"antlr4ts/atn/LexerATNSimulator":248,"antlr4ts/misc/Utils":309}],170:[function(require,module,exports){
14334
+ },{"./python3-parser":173,"antlr4ts/CommonToken":189,"antlr4ts/Decorators":193,"antlr4ts/Lexer":201,"antlr4ts/Token":218,"antlr4ts/VocabularyImpl":224,"antlr4ts/atn/ATNDeserializer":230,"antlr4ts/atn/LexerATNSimulator":251,"antlr4ts/misc/Utils":312}],173:[function(require,module,exports){
13979
14335
  "use strict";
13980
14336
  // Generated from fontes\tradutores\python\Python3.g4 by ANTLR 4.9.0-SNAPSHOT
13981
14337
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -25213,7 +25569,7 @@ class Yield_argContext extends ParserRuleContext_1.ParserRuleContext {
25213
25569
  }
25214
25570
  exports.Yield_argContext = Yield_argContext;
25215
25571
 
25216
- },{"antlr4ts/FailedPredicateException":194,"antlr4ts/NoViableAltException":202,"antlr4ts/Parser":203,"antlr4ts/ParserRuleContext":206,"antlr4ts/RecognitionException":209,"antlr4ts/Token":215,"antlr4ts/VocabularyImpl":221,"antlr4ts/atn/ATN":223,"antlr4ts/atn/ATNDeserializer":227,"antlr4ts/atn/ParserATNSimulator":264,"antlr4ts/misc/Utils":309}],171:[function(require,module,exports){
25572
+ },{"antlr4ts/FailedPredicateException":197,"antlr4ts/NoViableAltException":205,"antlr4ts/Parser":206,"antlr4ts/ParserRuleContext":209,"antlr4ts/RecognitionException":212,"antlr4ts/Token":218,"antlr4ts/VocabularyImpl":224,"antlr4ts/atn/ATN":226,"antlr4ts/atn/ATNDeserializer":230,"antlr4ts/atn/ParserATNSimulator":267,"antlr4ts/misc/Utils":312}],174:[function(require,module,exports){
25217
25573
  "use strict";
25218
25574
  var __importDefault = (this && this.__importDefault) || function (mod) {
25219
25575
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -25227,9 +25583,10 @@ class TradutorAssemblyScript {
25227
25583
  constructor() {
25228
25584
  this.indentacao = 0;
25229
25585
  this.dicionarioConstrutos = {
25230
- AcessoIndiceVariavel: this.traduzirAcessoIndiceVariavel.bind(this),
25231
- AcessoMetodoOuPropriedade: this.trazudirConstrutoAcessoMetodo.bind(this),
25586
+ AcessoIndiceVariavel: this.traduzirConstrutoAcessoIndiceVariavel.bind(this),
25587
+ AcessoMetodoOuPropriedade: this.traduzirConstrutoAcessoMetodo.bind(this),
25232
25588
  Agrupamento: this.traduzirConstrutoAgrupamento.bind(this),
25589
+ ArgumentoReferenciaFuncao: this.traduzirConstrutoArgumentoReferenciaFuncao.bind(this),
25233
25590
  AtribuicaoPorIndice: this.traduzirConstrutoAtribuicaoPorIndice.bind(this),
25234
25591
  Atribuir: this.traduzirConstrutoAtribuir.bind(this),
25235
25592
  Binario: this.traduzirConstrutoBinario.bind(this),
@@ -25240,6 +25597,7 @@ class TradutorAssemblyScript {
25240
25597
  Isto: () => 'this',
25241
25598
  Literal: this.traduzirConstrutoLiteral.bind(this),
25242
25599
  Logico: this.traduzirConstrutoLogico.bind(this),
25600
+ ReferenciaFuncao: this.traduzirConstrutoReferenciaFuncao.bind(this),
25243
25601
  TipoDe: this.traduzirConstrutoTipoDe.bind(this),
25244
25602
  Unario: this.traduzirConstrutoUnario.bind(this),
25245
25603
  Variavel: this.traduzirConstrutoVariavel.bind(this),
@@ -25344,6 +25702,26 @@ class TradutorAssemblyScript {
25344
25702
  return metodo;
25345
25703
  }
25346
25704
  }
25705
+ traduzirConstrutoArgumentoReferenciaFuncao(argumentoReferenciaFuncao, argumentos) {
25706
+ const argumentosResolvidos = [];
25707
+ for (const argumento of argumentos) {
25708
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
25709
+ argumentosResolvidos.push(argumentoResolvido);
25710
+ }
25711
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => (atual += proximo + ', '), '');
25712
+ textoArgumentos = textoArgumentos.slice(0, -2);
25713
+ return `${argumentoReferenciaFuncao.simboloFuncao.lexema}(${textoArgumentos})`;
25714
+ }
25715
+ traduzirConstrutoReferenciaFuncao(referenciaFuncao, argumentos) {
25716
+ const argumentosResolvidos = [];
25717
+ for (const argumento of argumentos) {
25718
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
25719
+ argumentosResolvidos.push(argumentoResolvido);
25720
+ }
25721
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => (atual += proximo + ', '), '');
25722
+ textoArgumentos = textoArgumentos.slice(0, -2);
25723
+ return `${referenciaFuncao.simboloFuncao.lexema}(${textoArgumentos})`;
25724
+ }
25347
25725
  traduzirDeclaracaoEscreva(declaracaoEscreva) {
25348
25726
  let resultado = 'console.log(';
25349
25727
  for (const argumento of declaracaoEscreva.argumentos) {
@@ -25714,7 +26092,7 @@ class TradutorAssemblyScript {
25714
26092
  }
25715
26093
  traduzirConstrutoChamada(chamada) {
25716
26094
  let resultado = '';
25717
- const retorno = `${this.dicionarioConstrutos[chamada.entidadeChamada.constructor.name](chamada.entidadeChamada)}`;
26095
+ const retorno = `${this.dicionarioConstrutos[chamada.entidadeChamada.constructor.name](chamada.entidadeChamada, chamada.argumentos)}`;
25718
26096
  const instanciaClasse = this.declaracoesDeClasses.some((declaracao) => { var _a; return ((_a = declaracao === null || declaracao === void 0 ? void 0 : declaracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema) === retorno; });
25719
26097
  if (instanciaClasse) {
25720
26098
  const classe = this.declaracoesDeClasses.find((declaracao) => { var _a; return ((_a = declaracao === null || declaracao === void 0 ? void 0 : declaracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema) === retorno; });
@@ -25783,22 +26161,22 @@ class TradutorAssemblyScript {
25783
26161
  }
25784
26162
  return resultado;
25785
26163
  }
25786
- traduzirConstrutoAgrupamento(agrupamento) {
25787
- return this.dicionarioConstrutos[agrupamento.constructor.name](agrupamento.expressao || agrupamento);
25788
- }
25789
- trazudirConstrutoAcessoMetodo(acessoMetodo) {
26164
+ traduzirConstrutoAcessoMetodo(acessoMetodo) {
25790
26165
  if (acessoMetodo.objeto instanceof construtos_1.Variavel) {
25791
26166
  let objetoVariavel = acessoMetodo.objeto;
25792
26167
  return `${objetoVariavel.simbolo.lexema}.${this.traduzirFuncoesNativas(acessoMetodo.simbolo.lexema)}`;
25793
26168
  }
25794
26169
  return `this.${acessoMetodo.simbolo.lexema}`;
25795
26170
  }
25796
- traduzirAcessoIndiceVariavel(acessoIndiceVariavel) {
26171
+ traduzirConstrutoAcessoIndiceVariavel(acessoIndiceVariavel) {
25797
26172
  let resultado = '';
25798
26173
  resultado += this.dicionarioConstrutos[acessoIndiceVariavel.entidadeChamada.constructor.name](acessoIndiceVariavel.entidadeChamada);
25799
26174
  resultado += `[${this.dicionarioConstrutos[acessoIndiceVariavel.indice.constructor.name](acessoIndiceVariavel.indice)}]`;
25800
26175
  return resultado;
25801
26176
  }
26177
+ traduzirConstrutoAgrupamento(agrupamento) {
26178
+ return this.dicionarioConstrutos[agrupamento.constructor.name](agrupamento.expressao || agrupamento);
26179
+ }
25802
26180
  traduzir(declaracoes) {
25803
26181
  let resultado = '';
25804
26182
  this.declaracoesDeClasses = declaracoes.filter((declaracao) => declaracao instanceof declaracoes_1.Classe);
@@ -25810,7 +26188,7 @@ class TradutorAssemblyScript {
25810
26188
  }
25811
26189
  exports.TradutorAssemblyScript = TradutorAssemblyScript;
25812
26190
 
25813
- },{"../construtos":44,"../declaracoes":81,"../tipos-de-simbolos/delegua":162}],172:[function(require,module,exports){
26191
+ },{"../construtos":45,"../declaracoes":83,"../tipos-de-simbolos/delegua":165}],175:[function(require,module,exports){
25814
26192
  "use strict";
25815
26193
  var __importDefault = (this && this.__importDefault) || function (mod) {
25816
26194
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -25829,11 +26207,12 @@ class TradutorJavaScript {
25829
26207
  constructor() {
25830
26208
  this.indentacao = 0;
25831
26209
  this.dicionarioConstrutos = {
25832
- AcessoIndiceVariavel: this.traduzirAcessoIndiceVariavel.bind(this),
26210
+ AcessoIndiceVariavel: this.traduzirConstrutoAcessoIndiceVariavel.bind(this),
25833
26211
  AcessoMetodo: this.traduzirConstrutoAcessoMetodo.bind(this),
25834
26212
  AcessoMetodoOuPropriedade: this.traduzirConstrutoAcessoMetodoOuPropriedade.bind(this),
25835
26213
  AcessoPropriedade: this.traduzirConstrutoAcessoPropriedade.bind(this),
25836
26214
  Agrupamento: this.traduzirConstrutoAgrupamento.bind(this),
26215
+ ArgumentoReferenciaFuncao: this.traduzirConstrutoArgumentoReferenciaFuncao.bind(this),
25837
26216
  AtribuicaoPorIndice: this.traduzirConstrutoAtribuicaoPorIndice.bind(this),
25838
26217
  Atribuir: this.traduzirConstrutoAtribuir.bind(this),
25839
26218
  Binario: this.traduzirConstrutoBinario.bind(this),
@@ -25845,6 +26224,7 @@ class TradutorJavaScript {
25845
26224
  Isto: () => 'this',
25846
26225
  Literal: this.traduzirConstrutoLiteral.bind(this),
25847
26226
  Logico: this.traduzirConstrutoLogico.bind(this),
26227
+ ReferenciaFuncao: this.traduzirConstrutoReferenciaFuncao.bind(this),
25848
26228
  TipoDe: this.traduzirConstrutoTipoDe.bind(this),
25849
26229
  Unario: this.traduzirConstrutoUnario.bind(this),
25850
26230
  Variavel: this.traduzirConstrutoVariavel.bind(this),
@@ -26434,25 +26814,31 @@ class TradutorJavaScript {
26434
26814
  }
26435
26815
  return resultado;
26436
26816
  }
26437
- traduzirAcessoIndiceVariavel(acessoIndiceVariavel) {
26817
+ traduzirConstrutoAcessoIndiceVariavel(acessoIndiceVariavel) {
26438
26818
  let resultado = '';
26439
26819
  resultado += this.dicionarioConstrutos[acessoIndiceVariavel.entidadeChamada.constructor.name](acessoIndiceVariavel.entidadeChamada);
26440
26820
  resultado += `[${this.dicionarioConstrutos[acessoIndiceVariavel.indice.constructor.name](acessoIndiceVariavel.indice)}]`;
26441
26821
  return resultado;
26442
26822
  }
26443
- traduzirConstrutoVetor(vetor) {
26444
- if (!vetor.valores.length) {
26445
- return '[]';
26446
- }
26447
- let resultado = '[';
26448
- for (let valor of vetor.valores) {
26449
- resultado += `${this.dicionarioConstrutos[valor.constructor.name](valor)}, `;
26823
+ traduzirConstrutoArgumentoReferenciaFuncao(argumentoReferenciaFuncao, argumentos) {
26824
+ const argumentosResolvidos = [];
26825
+ for (const argumento of argumentos) {
26826
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
26827
+ argumentosResolvidos.push(argumentoResolvido);
26450
26828
  }
26451
- if (vetor.valores.length > 0) {
26452
- resultado = resultado.slice(0, -2);
26829
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => atual += proximo + ', ', "");
26830
+ textoArgumentos = textoArgumentos.slice(0, -2);
26831
+ return `${argumentoReferenciaFuncao.simboloFuncao.lexema}(${textoArgumentos})`;
26832
+ }
26833
+ traduzirConstrutoReferenciaFuncao(referenciaFuncao, argumentos) {
26834
+ const argumentosResolvidos = [];
26835
+ for (const argumento of argumentos) {
26836
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
26837
+ argumentosResolvidos.push(argumentoResolvido);
26453
26838
  }
26454
- resultado += ']';
26455
- return resultado;
26839
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => atual += proximo + ', ', "");
26840
+ textoArgumentos = textoArgumentos.slice(0, -2);
26841
+ return `${referenciaFuncao.simboloFuncao.lexema}(${textoArgumentos})`;
26456
26842
  }
26457
26843
  traduzirConstrutoTipoDe(tipoDe) {
26458
26844
  let resultado = 'typeof ';
@@ -26473,9 +26859,19 @@ class TradutorJavaScript {
26473
26859
  }
26474
26860
  return resultado;
26475
26861
  }
26476
- traduzirDeclaracaoFalhar(falhar) {
26477
- const explicacao = this.dicionarioConstrutos[falhar.explicacao.constructor.name](falhar.explicacao);
26478
- return `throw ${explicacao}`;
26862
+ traduzirConstrutoVetor(vetor) {
26863
+ if (!vetor.valores.length) {
26864
+ return '[]';
26865
+ }
26866
+ let resultado = '[';
26867
+ for (let valor of vetor.valores) {
26868
+ resultado += `${this.dicionarioConstrutos[valor.constructor.name](valor)}, `;
26869
+ }
26870
+ if (vetor.valores.length > 0) {
26871
+ resultado = resultado.slice(0, -2);
26872
+ }
26873
+ resultado += ']';
26874
+ return resultado;
26479
26875
  }
26480
26876
  traduzirConstrutoUnario(unario) {
26481
26877
  var _a, _b;
@@ -26490,6 +26886,10 @@ class TradutorJavaScript {
26490
26886
  }
26491
26887
  return resultado;
26492
26888
  }
26889
+ traduzirDeclaracaoFalhar(falhar) {
26890
+ const explicacao = this.dicionarioConstrutos[falhar.explicacao.constructor.name](falhar.explicacao);
26891
+ return `throw ${explicacao}`;
26892
+ }
26493
26893
  traduzir(declaracoes) {
26494
26894
  let resultado = '';
26495
26895
  this.declaracoesDeClasses = declaracoes.filter((declaracao) => declaracao instanceof declaracoes_1.Classe);
@@ -26501,7 +26901,7 @@ class TradutorJavaScript {
26501
26901
  }
26502
26902
  exports.TradutorJavaScript = TradutorJavaScript;
26503
26903
 
26504
- },{"../construtos":44,"../declaracoes":81,"../tipos-de-simbolos/delegua":162}],173:[function(require,module,exports){
26904
+ },{"../construtos":45,"../declaracoes":83,"../tipos-de-simbolos/delegua":165}],176:[function(require,module,exports){
26505
26905
  "use strict";
26506
26906
  Object.defineProperty(exports, "__esModule", { value: true });
26507
26907
  exports.TradutorPortugolIpt = void 0;
@@ -26563,7 +26963,7 @@ class TradutorPortugolIpt {
26563
26963
  }
26564
26964
  exports.TradutorPortugolIpt = TradutorPortugolIpt;
26565
26965
 
26566
- },{"../avaliador-sintatico/dialetos":6,"../lexador/dialetos":143}],174:[function(require,module,exports){
26966
+ },{"../avaliador-sintatico/dialetos":6,"../lexador/dialetos":146}],177:[function(require,module,exports){
26567
26967
  "use strict";
26568
26968
  var __importDefault = (this && this.__importDefault) || function (mod) {
26569
26969
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26583,6 +26983,7 @@ class TradutorPython {
26583
26983
  AcessoPropriedade: this.traduzirConstrutoAcessoPropriedade.bind(this),
26584
26984
  AcessoIndiceVariavel: this.traduzirConstrutoAcessoIndiceVariavel.bind(this),
26585
26985
  Agrupamento: this.traduzirConstrutoAgrupamento.bind(this),
26986
+ ArgumentoReferenciaFuncao: this.traduzirConstrutoArgumentoReferenciaFuncao.bind(this),
26586
26987
  AtribuicaoPorIndice: this.traduzirConstrutoAtribuicaoPorIndice.bind(this),
26587
26988
  Atribuir: this.traduzirConstrutoAtribuir.bind(this),
26588
26989
  Binario: this.traduzirConstrutoBinario.bind(this),
@@ -26592,6 +26993,7 @@ class TradutorPython {
26592
26993
  Dicionario: this.traduzirConstrutoDicionario.bind(this),
26593
26994
  Literal: this.traduzirConstrutoLiteral.bind(this),
26594
26995
  Logico: this.traduzirConstrutoLogico.bind(this),
26996
+ ReferenciaFuncao: this.traduzirConstrutoReferenciaFuncao.bind(this),
26595
26997
  Unario: this.traduzirConstrutoUnario.bind(this),
26596
26998
  Variavel: this.traduzirConstrutoVariavel.bind(this),
26597
26999
  Vetor: this.traduzirConstrutoVetor.bind(this),
@@ -26796,6 +27198,17 @@ class TradutorPython {
26796
27198
  traduzirConstrutoAgrupamento(agrupamento) {
26797
27199
  return this.dicionarioConstrutos[agrupamento.constructor.name](agrupamento.expressao || agrupamento);
26798
27200
  }
27201
+ traduzirConstrutoArgumentoReferenciaFuncao(argumentoReferenciaFuncao, argumentos) {
27202
+ const argumentosResolvidos = [];
27203
+ const argumentosValidados = argumentos || [];
27204
+ for (const argumento of argumentosValidados) {
27205
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
27206
+ argumentosResolvidos.push(argumentoResolvido);
27207
+ }
27208
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => atual += proximo + ', ', "");
27209
+ textoArgumentos = textoArgumentos.slice(0, -2);
27210
+ return `${argumentoReferenciaFuncao.simboloFuncao.lexema}(${textoArgumentos})`;
27211
+ }
26799
27212
  traduzirConstrutoAtribuicaoPorIndice(atribuicaoPorIndice) {
26800
27213
  const objeto = this.dicionarioConstrutos[atribuicaoPorIndice.objeto.constructor.name](atribuicaoPorIndice.objeto);
26801
27214
  const indice = this.dicionarioConstrutos[atribuicaoPorIndice.indice.constructor.name](atribuicaoPorIndice.indice);
@@ -26890,6 +27303,17 @@ class TradutorPython {
26890
27303
  const esquerda = this.dicionarioConstrutos[logico.esquerda.constructor.name](logico.esquerda);
26891
27304
  return `${esquerda} ${operador} ${direita}`;
26892
27305
  }
27306
+ traduzirConstrutoReferenciaFuncao(referenciaFuncao, argumentos) {
27307
+ const argumentosResolvidos = [];
27308
+ const argumentosValidados = argumentos || [];
27309
+ for (const argumento of argumentosValidados) {
27310
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
27311
+ argumentosResolvidos.push(argumentoResolvido);
27312
+ }
27313
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => atual += proximo + ', ', "");
27314
+ textoArgumentos = textoArgumentos.slice(0, -2);
27315
+ return `${referenciaFuncao.simboloFuncao.lexema}(${textoArgumentos})`;
27316
+ }
26893
27317
  traduzirConstrutoUnario(unario) {
26894
27318
  const operador = this.traduzirSimboloOperador(unario.operador);
26895
27319
  const operando = this.dicionarioConstrutos[unario.operando.constructor.name](unario.operando);
@@ -27177,7 +27601,7 @@ class TradutorPython {
27177
27601
  }
27178
27602
  exports.TradutorPython = TradutorPython;
27179
27603
 
27180
- },{"../construtos":44,"../declaracoes":81,"../tipos-de-simbolos/delegua":162}],175:[function(require,module,exports){
27604
+ },{"../construtos":45,"../declaracoes":83,"../tipos-de-simbolos/delegua":165}],178:[function(require,module,exports){
27181
27605
  "use strict";
27182
27606
  Object.defineProperty(exports, "__esModule", { value: true });
27183
27607
  exports.TradutorReversoJavaScript = void 0;
@@ -27571,7 +27995,7 @@ class TradutorReversoJavaScript {
27571
27995
  }
27572
27996
  exports.TradutorReversoJavaScript = TradutorReversoJavaScript;
27573
27997
 
27574
- },{}],176:[function(require,module,exports){
27998
+ },{}],179:[function(require,module,exports){
27575
27999
  "use strict";
27576
28000
  Object.defineProperty(exports, "__esModule", { value: true });
27577
28001
  exports.TradutorReversoPython = void 0;
@@ -27644,7 +28068,7 @@ class TradutorReversoPython {
27644
28068
  }
27645
28069
  exports.TradutorReversoPython = TradutorReversoPython;
27646
28070
 
27647
- },{"./python/python3-lexer":169,"./python/python3-parser":170,"antlr4ts":292,"antlr4ts/tree/ParseTreeWalker":311}],177:[function(require,module,exports){
28071
+ },{"./python/python3-lexer":172,"./python/python3-parser":173,"antlr4ts":295,"antlr4ts/tree/ParseTreeWalker":314}],180:[function(require,module,exports){
27648
28072
  "use strict";
27649
28073
  /*!
27650
28074
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -27652,7 +28076,7 @@ exports.TradutorReversoPython = TradutorReversoPython;
27652
28076
  */
27653
28077
  Object.defineProperty(exports, "__esModule", { value: true });
27654
28078
 
27655
- },{}],178:[function(require,module,exports){
28079
+ },{}],181:[function(require,module,exports){
27656
28080
  "use strict";
27657
28081
  /*!
27658
28082
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -27660,7 +28084,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
27660
28084
  */
27661
28085
  Object.defineProperty(exports, "__esModule", { value: true });
27662
28086
 
27663
- },{}],179:[function(require,module,exports){
28087
+ },{}],182:[function(require,module,exports){
27664
28088
  "use strict";
27665
28089
  /*!
27666
28090
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -27822,7 +28246,7 @@ __decorate([
27822
28246
  ], ANTLRInputStream.prototype, "toString", null);
27823
28247
  exports.ANTLRInputStream = ANTLRInputStream;
27824
28248
 
27825
- },{"./Decorators":190,"./IntStream":196,"assert":333}],180:[function(require,module,exports){
28249
+ },{"./Decorators":193,"./IntStream":199,"assert":336}],183:[function(require,module,exports){
27826
28250
  "use strict";
27827
28251
  /*!
27828
28252
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -27905,7 +28329,7 @@ __decorate([
27905
28329
  ], BailErrorStrategy.prototype, "sync", null);
27906
28330
  exports.BailErrorStrategy = BailErrorStrategy;
27907
28331
 
27908
- },{"./Decorators":190,"./DefaultErrorStrategy":191,"./InputMismatchException":195,"./misc/ParseCancellationException":307}],181:[function(require,module,exports){
28332
+ },{"./Decorators":193,"./DefaultErrorStrategy":194,"./InputMismatchException":198,"./misc/ParseCancellationException":310}],184:[function(require,module,exports){
27909
28333
  "use strict";
27910
28334
  /*!
27911
28335
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -28395,7 +28819,7 @@ BufferedTokenStream = __decorate([
28395
28819
  ], BufferedTokenStream);
28396
28820
  exports.BufferedTokenStream = BufferedTokenStream;
28397
28821
 
28398
- },{"./CommonToken":186,"./Decorators":190,"./Lexer":198,"./Token":215,"./misc/Interval":302,"assert":333}],182:[function(require,module,exports){
28822
+ },{"./CommonToken":189,"./Decorators":193,"./Lexer":201,"./Token":218,"./misc/Interval":305,"assert":336}],185:[function(require,module,exports){
28399
28823
  "use strict";
28400
28824
  /*!
28401
28825
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -28403,7 +28827,7 @@ exports.BufferedTokenStream = BufferedTokenStream;
28403
28827
  */
28404
28828
  Object.defineProperty(exports, "__esModule", { value: true });
28405
28829
 
28406
- },{}],183:[function(require,module,exports){
28830
+ },{}],186:[function(require,module,exports){
28407
28831
  "use strict";
28408
28832
  /*!
28409
28833
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -28537,7 +28961,7 @@ var CharStreams;
28537
28961
  // }
28538
28962
  })(CharStreams = exports.CharStreams || (exports.CharStreams = {}));
28539
28963
 
28540
- },{"./CodePointBuffer":184,"./CodePointCharStream":185,"./IntStream":196}],184:[function(require,module,exports){
28964
+ },{"./CodePointBuffer":187,"./CodePointCharStream":188,"./IntStream":199}],187:[function(require,module,exports){
28541
28965
  "use strict";
28542
28966
  /*!
28543
28967
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -28772,7 +29196,7 @@ exports.CodePointBuffer = CodePointBuffer;
28772
29196
  CodePointBuffer.Builder = Builder;
28773
29197
  })(CodePointBuffer = exports.CodePointBuffer || (exports.CodePointBuffer = {}));
28774
29198
 
28775
- },{"./misc/Character":298,"assert":333}],185:[function(require,module,exports){
29199
+ },{"./misc/Character":301,"assert":336}],188:[function(require,module,exports){
28776
29200
  "use strict";
28777
29201
  /*!
28778
29202
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -28922,7 +29346,7 @@ __decorate([
28922
29346
  ], CodePointCharStream.prototype, "getText", null);
28923
29347
  exports.CodePointCharStream = CodePointCharStream;
28924
29348
 
28925
- },{"./Decorators":190,"./IntStream":196,"./misc/Interval":302,"assert":333}],186:[function(require,module,exports){
29349
+ },{"./Decorators":193,"./IntStream":199,"./misc/Interval":305,"assert":336}],189:[function(require,module,exports){
28926
29350
  "use strict";
28927
29351
  /*!
28928
29352
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -29152,7 +29576,7 @@ CommonToken = __decorate([
29152
29576
  ], CommonToken);
29153
29577
  exports.CommonToken = CommonToken;
29154
29578
 
29155
- },{"./Decorators":190,"./Token":215,"./misc/Interval":302}],187:[function(require,module,exports){
29579
+ },{"./Decorators":193,"./Token":218,"./misc/Interval":305}],190:[function(require,module,exports){
29156
29580
  "use strict";
29157
29581
  /*!
29158
29582
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -29216,7 +29640,7 @@ exports.CommonTokenFactory = CommonTokenFactory;
29216
29640
  CommonTokenFactory.DEFAULT = new CommonTokenFactory();
29217
29641
  })(CommonTokenFactory = exports.CommonTokenFactory || (exports.CommonTokenFactory = {}));
29218
29642
 
29219
- },{"./CommonToken":186,"./Decorators":190,"./misc/Interval":302}],188:[function(require,module,exports){
29643
+ },{"./CommonToken":189,"./Decorators":193,"./misc/Interval":305}],191:[function(require,module,exports){
29220
29644
  "use strict";
29221
29645
  /*!
29222
29646
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -29343,7 +29767,7 @@ CommonTokenStream = __decorate([
29343
29767
  ], CommonTokenStream);
29344
29768
  exports.CommonTokenStream = CommonTokenStream;
29345
29769
 
29346
- },{"./BufferedTokenStream":181,"./Decorators":190,"./Token":215}],189:[function(require,module,exports){
29770
+ },{"./BufferedTokenStream":184,"./Decorators":193,"./Token":218}],192:[function(require,module,exports){
29347
29771
  "use strict";
29348
29772
  /*!
29349
29773
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -29377,7 +29801,7 @@ exports.ConsoleErrorListener = ConsoleErrorListener;
29377
29801
  */
29378
29802
  ConsoleErrorListener.INSTANCE = new ConsoleErrorListener();
29379
29803
 
29380
- },{}],190:[function(require,module,exports){
29804
+ },{}],193:[function(require,module,exports){
29381
29805
  "use strict";
29382
29806
  /*!
29383
29807
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -29404,7 +29828,7 @@ function SuppressWarnings(options) {
29404
29828
  }
29405
29829
  exports.SuppressWarnings = SuppressWarnings;
29406
29830
 
29407
- },{}],191:[function(require,module,exports){
29831
+ },{}],194:[function(require,module,exports){
29408
29832
  "use strict";
29409
29833
  /*!
29410
29834
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30218,7 +30642,7 @@ __decorate([
30218
30642
  ], DefaultErrorStrategy.prototype, "consumeUntil", null);
30219
30643
  exports.DefaultErrorStrategy = DefaultErrorStrategy;
30220
30644
 
30221
- },{"./Decorators":190,"./FailedPredicateException":194,"./InputMismatchException":195,"./NoViableAltException":202,"./Token":215,"./atn/ATNState":229,"./atn/ATNStateType":230,"./atn/PredictionContext":270,"./misc/IntervalSet":303}],192:[function(require,module,exports){
30645
+ },{"./Decorators":193,"./FailedPredicateException":197,"./InputMismatchException":198,"./NoViableAltException":205,"./Token":218,"./atn/ATNState":232,"./atn/ATNStateType":233,"./atn/PredictionContext":273,"./misc/IntervalSet":306}],195:[function(require,module,exports){
30222
30646
  "use strict";
30223
30647
  /*!
30224
30648
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30294,7 +30718,7 @@ var Dependents;
30294
30718
  Dependents[Dependents["FOLLOWING"] = 9] = "FOLLOWING";
30295
30719
  })(Dependents = exports.Dependents || (exports.Dependents = {}));
30296
30720
 
30297
- },{}],193:[function(require,module,exports){
30721
+ },{}],196:[function(require,module,exports){
30298
30722
  "use strict";
30299
30723
  /*!
30300
30724
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30442,7 +30866,7 @@ __decorate([
30442
30866
  ], DiagnosticErrorListener.prototype, "getConflictingAlts", null);
30443
30867
  exports.DiagnosticErrorListener = DiagnosticErrorListener;
30444
30868
 
30445
- },{"./Decorators":190,"./misc/BitSet":297,"./misc/Interval":302}],194:[function(require,module,exports){
30869
+ },{"./Decorators":193,"./misc/BitSet":300,"./misc/Interval":305}],197:[function(require,module,exports){
30446
30870
  "use strict";
30447
30871
  /*!
30448
30872
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30507,7 +30931,7 @@ FailedPredicateException = __decorate([
30507
30931
  ], FailedPredicateException);
30508
30932
  exports.FailedPredicateException = FailedPredicateException;
30509
30933
 
30510
- },{"./Decorators":190,"./RecognitionException":209,"./atn/PredicateTransition":269}],195:[function(require,module,exports){
30934
+ },{"./Decorators":193,"./RecognitionException":212,"./atn/PredicateTransition":272}],198:[function(require,module,exports){
30511
30935
  "use strict";
30512
30936
  /*!
30513
30937
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30547,7 +30971,7 @@ InputMismatchException = __decorate([
30547
30971
  ], InputMismatchException);
30548
30972
  exports.InputMismatchException = InputMismatchException;
30549
30973
 
30550
- },{"./Decorators":190,"./RecognitionException":209}],196:[function(require,module,exports){
30974
+ },{"./Decorators":193,"./RecognitionException":212}],199:[function(require,module,exports){
30551
30975
  "use strict";
30552
30976
  /*!
30553
30977
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30570,7 +30994,7 @@ var IntStream;
30570
30994
  IntStream.UNKNOWN_SOURCE_NAME = "<unknown>";
30571
30995
  })(IntStream = exports.IntStream || (exports.IntStream = {}));
30572
30996
 
30573
- },{}],197:[function(require,module,exports){
30997
+ },{}],200:[function(require,module,exports){
30574
30998
  "use strict";
30575
30999
  /*!
30576
31000
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30617,7 +31041,7 @@ __decorate([
30617
31041
  ], InterpreterRuleContext.prototype, "ruleIndex", null);
30618
31042
  exports.InterpreterRuleContext = InterpreterRuleContext;
30619
31043
 
30620
- },{"./Decorators":190,"./ParserRuleContext":206}],198:[function(require,module,exports){
31044
+ },{"./Decorators":193,"./ParserRuleContext":209}],201:[function(require,module,exports){
30621
31045
  "use strict";
30622
31046
  /*!
30623
31047
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30953,7 +31377,7 @@ __decorate([
30953
31377
  ], Lexer.prototype, "charPositionInLine", null);
30954
31378
  exports.Lexer = Lexer;
30955
31379
 
30956
- },{"./CommonTokenFactory":187,"./Decorators":190,"./IntStream":196,"./LexerNoViableAltException":200,"./Recognizer":210,"./Token":215,"./atn/LexerATNSimulator":248,"./misc/IntegerStack":301,"./misc/Interval":302}],199:[function(require,module,exports){
31380
+ },{"./CommonTokenFactory":190,"./Decorators":193,"./IntStream":199,"./LexerNoViableAltException":203,"./Recognizer":213,"./Token":218,"./atn/LexerATNSimulator":251,"./misc/IntegerStack":304,"./misc/Interval":305}],202:[function(require,module,exports){
30957
31381
  "use strict";
30958
31382
  /*!
30959
31383
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -31033,7 +31457,7 @@ LexerInterpreter = __decorate([
31033
31457
  ], LexerInterpreter);
31034
31458
  exports.LexerInterpreter = LexerInterpreter;
31035
31459
 
31036
- },{"./Decorators":190,"./Lexer":198,"./atn/LexerATNSimulator":248}],200:[function(require,module,exports){
31460
+ },{"./Decorators":193,"./Lexer":201,"./atn/LexerATNSimulator":251}],203:[function(require,module,exports){
31037
31461
  "use strict";
31038
31462
  /*!
31039
31463
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -31090,7 +31514,7 @@ LexerNoViableAltException = __decorate([
31090
31514
  ], LexerNoViableAltException);
31091
31515
  exports.LexerNoViableAltException = LexerNoViableAltException;
31092
31516
 
31093
- },{"./Decorators":190,"./RecognitionException":209,"./misc/Interval":302,"./misc/Utils":309}],201:[function(require,module,exports){
31517
+ },{"./Decorators":193,"./RecognitionException":212,"./misc/Interval":305,"./misc/Utils":312}],204:[function(require,module,exports){
31094
31518
  "use strict";
31095
31519
  /*!
31096
31520
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -31300,7 +31724,7 @@ ListTokenSource = __decorate([
31300
31724
  ], ListTokenSource);
31301
31725
  exports.ListTokenSource = ListTokenSource;
31302
31726
 
31303
- },{"./CommonTokenFactory":187,"./Decorators":190,"./Token":215}],202:[function(require,module,exports){
31727
+ },{"./CommonTokenFactory":190,"./Decorators":193,"./Token":218}],205:[function(require,module,exports){
31304
31728
  "use strict";
31305
31729
  /*!
31306
31730
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -31355,7 +31779,7 @@ __decorate([
31355
31779
  ], NoViableAltException.prototype, "_startToken", void 0);
31356
31780
  exports.NoViableAltException = NoViableAltException;
31357
31781
 
31358
- },{"./Decorators":190,"./Parser":203,"./RecognitionException":209}],203:[function(require,module,exports){
31782
+ },{"./Decorators":193,"./Parser":206,"./RecognitionException":212}],206:[function(require,module,exports){
31359
31783
  (function (process){(function (){
31360
31784
  "use strict";
31361
31785
  /*!
@@ -32201,7 +32625,7 @@ __decorate([
32201
32625
  exports.Parser = Parser;
32202
32626
 
32203
32627
  }).call(this)}).call(this,require('_process'))
32204
- },{"./Decorators":190,"./DefaultErrorStrategy":191,"./Lexer":198,"./ProxyParserErrorListener":208,"./Recognizer":210,"./Token":215,"./atn/ATNDeserializationOptions":226,"./atn/ATNDeserializer":227,"./atn/ParseInfo":263,"./atn/ParserATNSimulator":264,"./atn/ProfilingATNSimulator":273,"./misc/IntegerStack":301,"./misc/Utils":309,"./tree/ErrorNode":310,"./tree/TerminalNode":313,"./tree/pattern/ParseTreePatternMatcher":318,"_process":381}],204:[function(require,module,exports){
32628
+ },{"./Decorators":193,"./DefaultErrorStrategy":194,"./Lexer":201,"./ProxyParserErrorListener":211,"./Recognizer":213,"./Token":218,"./atn/ATNDeserializationOptions":229,"./atn/ATNDeserializer":230,"./atn/ParseInfo":266,"./atn/ParserATNSimulator":267,"./atn/ProfilingATNSimulator":276,"./misc/IntegerStack":304,"./misc/Utils":312,"./tree/ErrorNode":313,"./tree/TerminalNode":316,"./tree/pattern/ParseTreePatternMatcher":321,"_process":384}],207:[function(require,module,exports){
32205
32629
  "use strict";
32206
32630
  /*!
32207
32631
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -32209,7 +32633,7 @@ exports.Parser = Parser;
32209
32633
  */
32210
32634
  Object.defineProperty(exports, "__esModule", { value: true });
32211
32635
 
32212
- },{}],205:[function(require,module,exports){
32636
+ },{}],208:[function(require,module,exports){
32213
32637
  "use strict";
32214
32638
  /*!
32215
32639
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -32617,7 +33041,7 @@ ParserInterpreter = __decorate([
32617
33041
  ], ParserInterpreter);
32618
33042
  exports.ParserInterpreter = ParserInterpreter;
32619
33043
 
32620
- },{"./Decorators":190,"./FailedPredicateException":194,"./InputMismatchException":195,"./InterpreterRuleContext":197,"./Parser":203,"./RecognitionException":209,"./Token":215,"./atn/ATNState":229,"./atn/ATNStateType":230,"./atn/LoopEndState":260,"./atn/ParserATNSimulator":264,"./atn/StarLoopEntryState":282,"./misc/BitSet":297}],206:[function(require,module,exports){
33044
+ },{"./Decorators":193,"./FailedPredicateException":197,"./InputMismatchException":198,"./InterpreterRuleContext":200,"./Parser":206,"./RecognitionException":212,"./Token":218,"./atn/ATNState":232,"./atn/ATNStateType":233,"./atn/LoopEndState":263,"./atn/ParserATNSimulator":267,"./atn/StarLoopEntryState":285,"./misc/BitSet":300}],209:[function(require,module,exports){
32621
33045
  "use strict";
32622
33046
  /*!
32623
33047
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -32918,7 +33342,7 @@ __decorate([
32918
33342
  ], ParserRuleContext.prototype, "sourceInterval", null);
32919
33343
  exports.ParserRuleContext = ParserRuleContext;
32920
33344
 
32921
- },{"./Decorators":190,"./RuleContext":211,"./misc/Interval":302,"./tree/ErrorNode":310,"./tree/TerminalNode":313}],207:[function(require,module,exports){
33345
+ },{"./Decorators":193,"./RuleContext":214,"./misc/Interval":305,"./tree/ErrorNode":313,"./tree/TerminalNode":316}],210:[function(require,module,exports){
32922
33346
  "use strict";
32923
33347
  /*!
32924
33348
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -32968,7 +33392,7 @@ __decorate([
32968
33392
  ], ProxyErrorListener.prototype, "syntaxError", null);
32969
33393
  exports.ProxyErrorListener = ProxyErrorListener;
32970
33394
 
32971
- },{"./Decorators":190}],208:[function(require,module,exports){
33395
+ },{"./Decorators":193}],211:[function(require,module,exports){
32972
33396
  "use strict";
32973
33397
  /*!
32974
33398
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33027,7 +33451,7 @@ __decorate([
33027
33451
  ], ProxyParserErrorListener.prototype, "reportContextSensitivity", null);
33028
33452
  exports.ProxyParserErrorListener = ProxyParserErrorListener;
33029
33453
 
33030
- },{"./Decorators":190,"./ProxyErrorListener":207}],209:[function(require,module,exports){
33454
+ },{"./Decorators":193,"./ProxyErrorListener":210}],212:[function(require,module,exports){
33031
33455
  "use strict";
33032
33456
  /*!
33033
33457
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33132,7 +33556,7 @@ class RecognitionException extends Error {
33132
33556
  }
33133
33557
  exports.RecognitionException = RecognitionException;
33134
33558
 
33135
- },{}],210:[function(require,module,exports){
33559
+ },{}],213:[function(require,module,exports){
33136
33560
  "use strict";
33137
33561
  /*!
33138
33562
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33351,7 +33775,7 @@ __decorate([
33351
33775
  ], Recognizer.prototype, "getErrorListeners", null);
33352
33776
  exports.Recognizer = Recognizer;
33353
33777
 
33354
- },{"./ConsoleErrorListener":189,"./Decorators":190,"./ProxyErrorListener":207,"./Token":215,"./misc/Utils":309}],211:[function(require,module,exports){
33778
+ },{"./ConsoleErrorListener":192,"./Decorators":193,"./ProxyErrorListener":210,"./Token":218,"./misc/Utils":312}],214:[function(require,module,exports){
33355
33779
  "use strict";
33356
33780
  /*!
33357
33781
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33568,7 +33992,7 @@ __decorate([
33568
33992
  ], RuleContext.prototype, "toStringTree", null);
33569
33993
  exports.RuleContext = RuleContext;
33570
33994
 
33571
- },{"./Decorators":190,"./ParserRuleContext":206,"./Recognizer":210,"./atn/ATN":223,"./misc/Interval":302,"./tree/RuleNode":312,"./tree/Trees":314}],212:[function(require,module,exports){
33995
+ },{"./Decorators":193,"./ParserRuleContext":209,"./Recognizer":213,"./atn/ATN":226,"./misc/Interval":305,"./tree/RuleNode":315,"./tree/Trees":317}],215:[function(require,module,exports){
33572
33996
  "use strict";
33573
33997
  /*!
33574
33998
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33619,7 +34043,7 @@ __decorate([
33619
34043
  ], RuleContextWithAltNum.prototype, "altNumber", null);
33620
34044
  exports.RuleContextWithAltNum = RuleContextWithAltNum;
33621
34045
 
33622
- },{"./Decorators":190,"./ParserRuleContext":206,"./atn/ATN":223}],213:[function(require,module,exports){
34046
+ },{"./Decorators":193,"./ParserRuleContext":209,"./atn/ATN":226}],216:[function(require,module,exports){
33623
34047
  "use strict";
33624
34048
  /*!
33625
34049
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33642,7 +34066,7 @@ function RuleDependency(dependency) {
33642
34066
  }
33643
34067
  exports.RuleDependency = RuleDependency;
33644
34068
 
33645
- },{}],214:[function(require,module,exports){
34069
+ },{}],217:[function(require,module,exports){
33646
34070
  "use strict";
33647
34071
  /*!
33648
34072
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33661,7 +34085,7 @@ function RuleVersion(version) {
33661
34085
  }
33662
34086
  exports.RuleVersion = RuleVersion;
33663
34087
 
33664
- },{}],215:[function(require,module,exports){
34088
+ },{}],218:[function(require,module,exports){
33665
34089
  "use strict";
33666
34090
  /*!
33667
34091
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33701,7 +34125,7 @@ var Token;
33701
34125
  Token.MIN_USER_CHANNEL_VALUE = 2;
33702
34126
  })(Token = exports.Token || (exports.Token = {}));
33703
34127
 
33704
- },{"./IntStream":196}],216:[function(require,module,exports){
34128
+ },{"./IntStream":199}],219:[function(require,module,exports){
33705
34129
  "use strict";
33706
34130
  /*!
33707
34131
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33709,7 +34133,7 @@ var Token;
33709
34133
  */
33710
34134
  Object.defineProperty(exports, "__esModule", { value: true });
33711
34135
 
33712
- },{}],217:[function(require,module,exports){
34136
+ },{}],220:[function(require,module,exports){
33713
34137
  "use strict";
33714
34138
  /*!
33715
34139
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33717,7 +34141,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
33717
34141
  */
33718
34142
  Object.defineProperty(exports, "__esModule", { value: true });
33719
34143
 
33720
- },{}],218:[function(require,module,exports){
34144
+ },{}],221:[function(require,module,exports){
33721
34145
  "use strict";
33722
34146
  /*!
33723
34147
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33725,7 +34149,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
33725
34149
  */
33726
34150
  Object.defineProperty(exports, "__esModule", { value: true });
33727
34151
 
33728
- },{}],219:[function(require,module,exports){
34152
+ },{}],222:[function(require,module,exports){
33729
34153
  "use strict";
33730
34154
  /*!
33731
34155
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -34233,7 +34657,7 @@ __decorate([
34233
34657
  Decorators_1.Override
34234
34658
  ], ReplaceOp.prototype, "toString", null);
34235
34659
 
34236
- },{"./Decorators":190,"./Token":215,"./misc/Interval":302}],220:[function(require,module,exports){
34660
+ },{"./Decorators":193,"./Token":218,"./misc/Interval":305}],223:[function(require,module,exports){
34237
34661
  "use strict";
34238
34662
  /*!
34239
34663
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -34241,7 +34665,7 @@ __decorate([
34241
34665
  */
34242
34666
  Object.defineProperty(exports, "__esModule", { value: true });
34243
34667
 
34244
- },{}],221:[function(require,module,exports){
34668
+ },{}],224:[function(require,module,exports){
34245
34669
  "use strict";
34246
34670
  /*!
34247
34671
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -34361,7 +34785,7 @@ __decorate([
34361
34785
  ], VocabularyImpl, "EMPTY_VOCABULARY", void 0);
34362
34786
  exports.VocabularyImpl = VocabularyImpl;
34363
34787
 
34364
- },{"./Decorators":190,"./Token":215}],222:[function(require,module,exports){
34788
+ },{"./Decorators":193,"./Token":218}],225:[function(require,module,exports){
34365
34789
  "use strict";
34366
34790
  /*!
34367
34791
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -34369,7 +34793,7 @@ exports.VocabularyImpl = VocabularyImpl;
34369
34793
  */
34370
34794
  Object.defineProperty(exports, "__esModule", { value: true });
34371
34795
 
34372
- },{}],223:[function(require,module,exports){
34796
+ },{}],226:[function(require,module,exports){
34373
34797
  "use strict";
34374
34798
  /*!
34375
34799
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -34591,7 +35015,7 @@ exports.ATN = ATN;
34591
35015
  })(ATN = exports.ATN || (exports.ATN = {}));
34592
35016
  exports.ATN = ATN;
34593
35017
 
34594
- },{"../Decorators":190,"../Token":215,"../dfa/DFA":288,"../misc/Array2DHashMap":293,"../misc/IntervalSet":303,"../misc/ObjectEqualityComparator":306,"./InvalidState":246,"./LL1Analyzer":247,"./PredictionContext":270,"assert":333}],224:[function(require,module,exports){
35018
+ },{"../Decorators":193,"../Token":218,"../dfa/DFA":291,"../misc/Array2DHashMap":296,"../misc/IntervalSet":306,"../misc/ObjectEqualityComparator":309,"./InvalidState":249,"./LL1Analyzer":250,"./PredictionContext":273,"assert":336}],227:[function(require,module,exports){
34595
35019
  "use strict";
34596
35020
  /*!
34597
35021
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -35116,7 +35540,7 @@ ActionSemanticContextATNConfig = __decorate([
35116
35540
  __param(1, Decorators_1.NotNull), __param(2, Decorators_1.NotNull)
35117
35541
  ], ActionSemanticContextATNConfig);
35118
35542
 
35119
- },{"../Decorators":190,"../misc/Array2DHashMap":293,"../misc/MurmurHash":305,"../misc/ObjectEqualityComparator":306,"./DecisionState":243,"./PredictionContext":270,"./SemanticContext":278,"assert":333}],225:[function(require,module,exports){
35543
+ },{"../Decorators":193,"../misc/Array2DHashMap":296,"../misc/MurmurHash":308,"../misc/ObjectEqualityComparator":309,"./DecisionState":246,"./PredictionContext":273,"./SemanticContext":281,"assert":336}],228:[function(require,module,exports){
35120
35544
  "use strict";
35121
35545
  /*!
35122
35546
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -35563,7 +35987,7 @@ __decorate([
35563
35987
  ], ATNConfigSet.prototype, "hashCode", null);
35564
35988
  exports.ATNConfigSet = ATNConfigSet;
35565
35989
 
35566
- },{"../Decorators":190,"../misc/Array2DHashMap":293,"../misc/Array2DHashSet":294,"../misc/ArrayEqualityComparator":295,"../misc/BitSet":297,"../misc/ObjectEqualityComparator":306,"../misc/Utils":309,"./ATN":223,"./ATNConfig":224,"./PredictionContext":270,"./PredictionContextCache":271,"./SemanticContext":278,"assert":333}],226:[function(require,module,exports){
35990
+ },{"../Decorators":193,"../misc/Array2DHashMap":296,"../misc/Array2DHashSet":297,"../misc/ArrayEqualityComparator":298,"../misc/BitSet":300,"../misc/ObjectEqualityComparator":309,"../misc/Utils":312,"./ATN":226,"./ATNConfig":227,"./PredictionContext":273,"./PredictionContextCache":274,"./SemanticContext":281,"assert":336}],229:[function(require,module,exports){
35567
35991
  "use strict";
35568
35992
  /*!
35569
35993
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -35642,7 +36066,7 @@ __decorate([
35642
36066
  ], ATNDeserializationOptions, "defaultOptions", null);
35643
36067
  exports.ATNDeserializationOptions = ATNDeserializationOptions;
35644
36068
 
35645
- },{"../Decorators":190}],227:[function(require,module,exports){
36069
+ },{"../Decorators":193}],230:[function(require,module,exports){
35646
36070
  "use strict";
35647
36071
  /*!
35648
36072
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -36729,7 +37153,7 @@ __decorate([
36729
37153
  ], ATNDeserializer.prototype, "edgeFactory", null);
36730
37154
  exports.ATNDeserializer = ATNDeserializer;
36731
37155
 
36732
- },{"../Decorators":190,"../Token":215,"../dfa/DFA":288,"../misc/Array2DHashSet":294,"../misc/BitSet":297,"../misc/IntervalSet":303,"../misc/UUID":308,"./ATN":223,"./ATNDeserializationOptions":226,"./ATNStateType":230,"./ActionTransition":232,"./AtomTransition":234,"./BasicBlockStartState":235,"./BasicState":236,"./BlockEndState":237,"./BlockStartState":238,"./DecisionState":243,"./EpsilonTransition":244,"./InvalidState":246,"./LexerChannelAction":250,"./LexerCustomAction":251,"./LexerModeAction":253,"./LexerMoreAction":254,"./LexerPopModeAction":255,"./LexerPushModeAction":256,"./LexerSkipAction":257,"./LexerTypeAction":258,"./LoopEndState":260,"./NotSetTransition":261,"./ParserATNSimulator":264,"./PlusBlockStartState":265,"./PlusLoopbackState":266,"./PrecedencePredicateTransition":267,"./PredicateTransition":269,"./RangeTransition":274,"./RuleStartState":275,"./RuleStopState":276,"./RuleTransition":277,"./SetTransition":279,"./StarBlockStartState":281,"./StarLoopEntryState":282,"./StarLoopbackState":283,"./TokensStartState":284,"./WildcardTransition":286}],228:[function(require,module,exports){
37156
+ },{"../Decorators":193,"../Token":218,"../dfa/DFA":291,"../misc/Array2DHashSet":297,"../misc/BitSet":300,"../misc/IntervalSet":306,"../misc/UUID":311,"./ATN":226,"./ATNDeserializationOptions":229,"./ATNStateType":233,"./ActionTransition":235,"./AtomTransition":237,"./BasicBlockStartState":238,"./BasicState":239,"./BlockEndState":240,"./BlockStartState":241,"./DecisionState":246,"./EpsilonTransition":247,"./InvalidState":249,"./LexerChannelAction":253,"./LexerCustomAction":254,"./LexerModeAction":256,"./LexerMoreAction":257,"./LexerPopModeAction":258,"./LexerPushModeAction":259,"./LexerSkipAction":260,"./LexerTypeAction":261,"./LoopEndState":263,"./NotSetTransition":264,"./ParserATNSimulator":267,"./PlusBlockStartState":268,"./PlusLoopbackState":269,"./PrecedencePredicateTransition":270,"./PredicateTransition":272,"./RangeTransition":277,"./RuleStartState":278,"./RuleStopState":279,"./RuleTransition":280,"./SetTransition":282,"./StarBlockStartState":284,"./StarLoopEntryState":285,"./StarLoopbackState":286,"./TokensStartState":287,"./WildcardTransition":289}],231:[function(require,module,exports){
36733
37157
  "use strict";
36734
37158
  /*!
36735
37159
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -36793,7 +37217,7 @@ exports.ATNSimulator = ATNSimulator;
36793
37217
  })(ATNSimulator = exports.ATNSimulator || (exports.ATNSimulator = {}));
36794
37218
  exports.ATNSimulator = ATNSimulator;
36795
37219
 
36796
- },{"../Decorators":190,"../dfa/DFAState":290,"./ATNConfigSet":225,"./PredictionContext":270}],229:[function(require,module,exports){
37220
+ },{"../Decorators":193,"../dfa/DFAState":293,"./ATNConfigSet":228,"./PredictionContext":273}],232:[function(require,module,exports){
36797
37221
  "use strict";
36798
37222
  /*!
36799
37223
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -36980,7 +37404,7 @@ exports.ATNState = ATNState;
36980
37404
  ATNState.INVALID_STATE_NUMBER = -1;
36981
37405
  })(ATNState = exports.ATNState || (exports.ATNState = {}));
36982
37406
 
36983
- },{"../Decorators":190}],230:[function(require,module,exports){
37407
+ },{"../Decorators":193}],233:[function(require,module,exports){
36984
37408
  "use strict";
36985
37409
  /*!
36986
37410
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37006,7 +37430,7 @@ var ATNStateType;
37006
37430
  ATNStateType[ATNStateType["LOOP_END"] = 12] = "LOOP_END";
37007
37431
  })(ATNStateType = exports.ATNStateType || (exports.ATNStateType = {}));
37008
37432
 
37009
- },{}],231:[function(require,module,exports){
37433
+ },{}],234:[function(require,module,exports){
37010
37434
  "use strict";
37011
37435
  /*!
37012
37436
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37026,7 +37450,7 @@ class AbstractPredicateTransition extends Transition_1.Transition {
37026
37450
  }
37027
37451
  exports.AbstractPredicateTransition = AbstractPredicateTransition;
37028
37452
 
37029
- },{"./Transition":285}],232:[function(require,module,exports){
37453
+ },{"./Transition":288}],235:[function(require,module,exports){
37030
37454
  "use strict";
37031
37455
  /*!
37032
37456
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37082,7 +37506,7 @@ ActionTransition = __decorate([
37082
37506
  ], ActionTransition);
37083
37507
  exports.ActionTransition = ActionTransition;
37084
37508
 
37085
- },{"../Decorators":190,"./Transition":285}],233:[function(require,module,exports){
37509
+ },{"../Decorators":193,"./Transition":288}],236:[function(require,module,exports){
37086
37510
  "use strict";
37087
37511
  /*!
37088
37512
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37169,7 +37593,7 @@ AmbiguityInfo = __decorate([
37169
37593
  ], AmbiguityInfo);
37170
37594
  exports.AmbiguityInfo = AmbiguityInfo;
37171
37595
 
37172
- },{"../Decorators":190,"./DecisionEventInfo":241}],234:[function(require,module,exports){
37596
+ },{"../Decorators":193,"./DecisionEventInfo":244}],237:[function(require,module,exports){
37173
37597
  "use strict";
37174
37598
  /*!
37175
37599
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37227,7 +37651,7 @@ AtomTransition = __decorate([
37227
37651
  ], AtomTransition);
37228
37652
  exports.AtomTransition = AtomTransition;
37229
37653
 
37230
- },{"../Decorators":190,"../misc/IntervalSet":303,"./Transition":285}],235:[function(require,module,exports){
37654
+ },{"../Decorators":193,"../misc/IntervalSet":306,"./Transition":288}],238:[function(require,module,exports){
37231
37655
  "use strict";
37232
37656
  /*!
37233
37657
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37259,7 +37683,7 @@ __decorate([
37259
37683
  ], BasicBlockStartState.prototype, "stateType", null);
37260
37684
  exports.BasicBlockStartState = BasicBlockStartState;
37261
37685
 
37262
- },{"../Decorators":190,"./ATNStateType":230,"./BlockStartState":238}],236:[function(require,module,exports){
37686
+ },{"../Decorators":193,"./ATNStateType":233,"./BlockStartState":241}],239:[function(require,module,exports){
37263
37687
  "use strict";
37264
37688
  /*!
37265
37689
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37291,7 +37715,7 @@ __decorate([
37291
37715
  ], BasicState.prototype, "stateType", null);
37292
37716
  exports.BasicState = BasicState;
37293
37717
 
37294
- },{"../Decorators":190,"./ATNState":229,"./ATNStateType":230}],237:[function(require,module,exports){
37718
+ },{"../Decorators":193,"./ATNState":232,"./ATNStateType":233}],240:[function(require,module,exports){
37295
37719
  "use strict";
37296
37720
  /*!
37297
37721
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37320,7 +37744,7 @@ __decorate([
37320
37744
  ], BlockEndState.prototype, "stateType", null);
37321
37745
  exports.BlockEndState = BlockEndState;
37322
37746
 
37323
- },{"../Decorators":190,"./ATNState":229,"./ATNStateType":230}],238:[function(require,module,exports){
37747
+ },{"../Decorators":193,"./ATNState":232,"./ATNStateType":233}],241:[function(require,module,exports){
37324
37748
  "use strict";
37325
37749
  /*!
37326
37750
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37334,7 +37758,7 @@ class BlockStartState extends DecisionState_1.DecisionState {
37334
37758
  }
37335
37759
  exports.BlockStartState = BlockStartState;
37336
37760
 
37337
- },{"./DecisionState":243}],239:[function(require,module,exports){
37761
+ },{"./DecisionState":246}],242:[function(require,module,exports){
37338
37762
  "use strict";
37339
37763
  /*!
37340
37764
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37404,7 +37828,7 @@ __decorate([
37404
37828
  ], ConflictInfo.prototype, "hashCode", null);
37405
37829
  exports.ConflictInfo = ConflictInfo;
37406
37830
 
37407
- },{"../Decorators":190,"../misc/Utils":309}],240:[function(require,module,exports){
37831
+ },{"../Decorators":193,"../misc/Utils":312}],243:[function(require,module,exports){
37408
37832
  "use strict";
37409
37833
  /*!
37410
37834
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37464,7 +37888,7 @@ ContextSensitivityInfo = __decorate([
37464
37888
  ], ContextSensitivityInfo);
37465
37889
  exports.ContextSensitivityInfo = ContextSensitivityInfo;
37466
37890
 
37467
- },{"../Decorators":190,"./DecisionEventInfo":241}],241:[function(require,module,exports){
37891
+ },{"../Decorators":193,"./DecisionEventInfo":244}],244:[function(require,module,exports){
37468
37892
  "use strict";
37469
37893
  /*!
37470
37894
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37516,7 +37940,7 @@ DecisionEventInfo = __decorate([
37516
37940
  ], DecisionEventInfo);
37517
37941
  exports.DecisionEventInfo = DecisionEventInfo;
37518
37942
 
37519
- },{"../Decorators":190}],242:[function(require,module,exports){
37943
+ },{"../Decorators":193}],245:[function(require,module,exports){
37520
37944
  "use strict";
37521
37945
  /*!
37522
37946
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37729,7 +38153,7 @@ __decorate([
37729
38153
  ], DecisionInfo.prototype, "toString", null);
37730
38154
  exports.DecisionInfo = DecisionInfo;
37731
38155
 
37732
- },{"../Decorators":190}],243:[function(require,module,exports){
38156
+ },{"../Decorators":193}],246:[function(require,module,exports){
37733
38157
  "use strict";
37734
38158
  /*!
37735
38159
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37749,7 +38173,7 @@ class DecisionState extends ATNState_1.ATNState {
37749
38173
  }
37750
38174
  exports.DecisionState = DecisionState;
37751
38175
 
37752
- },{"./ATNState":229}],244:[function(require,module,exports){
38176
+ },{"./ATNState":232}],247:[function(require,module,exports){
37753
38177
  "use strict";
37754
38178
  /*!
37755
38179
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37815,7 +38239,7 @@ EpsilonTransition = __decorate([
37815
38239
  ], EpsilonTransition);
37816
38240
  exports.EpsilonTransition = EpsilonTransition;
37817
38241
 
37818
- },{"../Decorators":190,"./Transition":285}],245:[function(require,module,exports){
38242
+ },{"../Decorators":193,"./Transition":288}],248:[function(require,module,exports){
37819
38243
  "use strict";
37820
38244
  /*!
37821
38245
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37868,7 +38292,7 @@ ErrorInfo = __decorate([
37868
38292
  ], ErrorInfo);
37869
38293
  exports.ErrorInfo = ErrorInfo;
37870
38294
 
37871
- },{"../Decorators":190,"./DecisionEventInfo":241}],246:[function(require,module,exports){
38295
+ },{"../Decorators":193,"./DecisionEventInfo":244}],249:[function(require,module,exports){
37872
38296
  "use strict";
37873
38297
  /*!
37874
38298
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37899,7 +38323,7 @@ __decorate([
37899
38323
  ], InvalidState.prototype, "stateType", null);
37900
38324
  exports.InvalidState = InvalidState;
37901
38325
 
37902
- },{"../Decorators":190,"./ATNStateType":230,"./BasicState":236}],247:[function(require,module,exports){
38326
+ },{"../Decorators":193,"./ATNStateType":233,"./BasicState":239}],250:[function(require,module,exports){
37903
38327
  "use strict";
37904
38328
  /*!
37905
38329
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -38121,7 +38545,7 @@ LL1Analyzer = __decorate([
38121
38545
  ], LL1Analyzer);
38122
38546
  exports.LL1Analyzer = LL1Analyzer;
38123
38547
 
38124
- },{"../Decorators":190,"../Token":215,"../misc/Array2DHashSet":294,"../misc/BitSet":297,"../misc/IntervalSet":303,"../misc/ObjectEqualityComparator":306,"./ATNConfig":224,"./AbstractPredicateTransition":231,"./NotSetTransition":261,"./PredictionContext":270,"./RuleStopState":276,"./RuleTransition":277,"./WildcardTransition":286}],248:[function(require,module,exports){
38548
+ },{"../Decorators":193,"../Token":218,"../misc/Array2DHashSet":297,"../misc/BitSet":300,"../misc/IntervalSet":306,"../misc/ObjectEqualityComparator":309,"./ATNConfig":227,"./AbstractPredicateTransition":234,"./NotSetTransition":264,"./PredictionContext":273,"./RuleStopState":279,"./RuleTransition":280,"./WildcardTransition":289}],251:[function(require,module,exports){
38125
38549
  "use strict";
38126
38550
  /*!
38127
38551
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -38838,7 +39262,7 @@ exports.LexerATNSimulator = LexerATNSimulator;
38838
39262
  })(LexerATNSimulator = exports.LexerATNSimulator || (exports.LexerATNSimulator = {}));
38839
39263
  exports.LexerATNSimulator = LexerATNSimulator;
38840
39264
 
38841
- },{"../Decorators":190,"../IntStream":196,"../Lexer":198,"../LexerNoViableAltException":200,"../Token":215,"../dfa/AcceptStateInfo":287,"../dfa/DFAState":290,"../misc/Interval":302,"./ATN":223,"./ATNConfig":224,"./ATNConfigSet":225,"./ATNSimulator":228,"./LexerActionExecutor":249,"./OrderedATNConfigSet":262,"./PredictionContext":270,"./RuleStopState":276,"assert":333}],249:[function(require,module,exports){
39265
+ },{"../Decorators":193,"../IntStream":199,"../Lexer":201,"../LexerNoViableAltException":203,"../Token":218,"../dfa/AcceptStateInfo":290,"../dfa/DFAState":293,"../misc/Interval":305,"./ATN":226,"./ATNConfig":227,"./ATNConfigSet":228,"./ATNSimulator":231,"./LexerActionExecutor":252,"./OrderedATNConfigSet":265,"./PredictionContext":273,"./RuleStopState":279,"assert":336}],252:[function(require,module,exports){
38842
39266
  "use strict";
38843
39267
  /*!
38844
39268
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39039,7 +39463,7 @@ LexerActionExecutor = __decorate([
39039
39463
  ], LexerActionExecutor);
39040
39464
  exports.LexerActionExecutor = LexerActionExecutor;
39041
39465
 
39042
- },{"../Decorators":190,"../misc/ArrayEqualityComparator":295,"../misc/MurmurHash":305,"./LexerIndexedCustomAction":252}],250:[function(require,module,exports){
39466
+ },{"../Decorators":193,"../misc/ArrayEqualityComparator":298,"../misc/MurmurHash":308,"./LexerIndexedCustomAction":255}],253:[function(require,module,exports){
39043
39467
  "use strict";
39044
39468
  /*!
39045
39469
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39144,7 +39568,7 @@ __decorate([
39144
39568
  ], LexerChannelAction.prototype, "toString", null);
39145
39569
  exports.LexerChannelAction = LexerChannelAction;
39146
39570
 
39147
- },{"../Decorators":190,"../misc/MurmurHash":305}],251:[function(require,module,exports){
39571
+ },{"../Decorators":193,"../misc/MurmurHash":308}],254:[function(require,module,exports){
39148
39572
  "use strict";
39149
39573
  /*!
39150
39574
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39273,7 +39697,7 @@ __decorate([
39273
39697
  ], LexerCustomAction.prototype, "equals", null);
39274
39698
  exports.LexerCustomAction = LexerCustomAction;
39275
39699
 
39276
- },{"../Decorators":190,"../misc/MurmurHash":305}],252:[function(require,module,exports){
39700
+ },{"../Decorators":193,"../misc/MurmurHash":308}],255:[function(require,module,exports){
39277
39701
  "use strict";
39278
39702
  /*!
39279
39703
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39408,7 +39832,7 @@ LexerIndexedCustomAction = __decorate([
39408
39832
  ], LexerIndexedCustomAction);
39409
39833
  exports.LexerIndexedCustomAction = LexerIndexedCustomAction;
39410
39834
 
39411
- },{"../Decorators":190,"../misc/MurmurHash":305}],253:[function(require,module,exports){
39835
+ },{"../Decorators":193,"../misc/MurmurHash":308}],256:[function(require,module,exports){
39412
39836
  "use strict";
39413
39837
  /*!
39414
39838
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39513,7 +39937,7 @@ __decorate([
39513
39937
  ], LexerModeAction.prototype, "toString", null);
39514
39938
  exports.LexerModeAction = LexerModeAction;
39515
39939
 
39516
- },{"../Decorators":190,"../misc/MurmurHash":305}],254:[function(require,module,exports){
39940
+ },{"../Decorators":193,"../misc/MurmurHash":308}],257:[function(require,module,exports){
39517
39941
  "use strict";
39518
39942
  /*!
39519
39943
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39609,7 +40033,7 @@ exports.LexerMoreAction = LexerMoreAction;
39609
40033
  LexerMoreAction.INSTANCE = new LexerMoreAction();
39610
40034
  })(LexerMoreAction = exports.LexerMoreAction || (exports.LexerMoreAction = {}));
39611
40035
 
39612
- },{"../Decorators":190,"../misc/MurmurHash":305}],255:[function(require,module,exports){
40036
+ },{"../Decorators":193,"../misc/MurmurHash":308}],258:[function(require,module,exports){
39613
40037
  "use strict";
39614
40038
  /*!
39615
40039
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39705,7 +40129,7 @@ exports.LexerPopModeAction = LexerPopModeAction;
39705
40129
  LexerPopModeAction.INSTANCE = new LexerPopModeAction();
39706
40130
  })(LexerPopModeAction = exports.LexerPopModeAction || (exports.LexerPopModeAction = {}));
39707
40131
 
39708
- },{"../Decorators":190,"../misc/MurmurHash":305}],256:[function(require,module,exports){
40132
+ },{"../Decorators":193,"../misc/MurmurHash":308}],259:[function(require,module,exports){
39709
40133
  "use strict";
39710
40134
  /*!
39711
40135
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39810,7 +40234,7 @@ __decorate([
39810
40234
  ], LexerPushModeAction.prototype, "toString", null);
39811
40235
  exports.LexerPushModeAction = LexerPushModeAction;
39812
40236
 
39813
- },{"../Decorators":190,"../misc/MurmurHash":305}],257:[function(require,module,exports){
40237
+ },{"../Decorators":193,"../misc/MurmurHash":308}],260:[function(require,module,exports){
39814
40238
  "use strict";
39815
40239
  /*!
39816
40240
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39906,7 +40330,7 @@ exports.LexerSkipAction = LexerSkipAction;
39906
40330
  LexerSkipAction.INSTANCE = new LexerSkipAction();
39907
40331
  })(LexerSkipAction = exports.LexerSkipAction || (exports.LexerSkipAction = {}));
39908
40332
 
39909
- },{"../Decorators":190,"../misc/MurmurHash":305}],258:[function(require,module,exports){
40333
+ },{"../Decorators":193,"../misc/MurmurHash":308}],261:[function(require,module,exports){
39910
40334
  "use strict";
39911
40335
  /*!
39912
40336
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -40010,7 +40434,7 @@ __decorate([
40010
40434
  ], LexerTypeAction.prototype, "toString", null);
40011
40435
  exports.LexerTypeAction = LexerTypeAction;
40012
40436
 
40013
- },{"../Decorators":190,"../misc/MurmurHash":305}],259:[function(require,module,exports){
40437
+ },{"../Decorators":193,"../misc/MurmurHash":308}],262:[function(require,module,exports){
40014
40438
  "use strict";
40015
40439
  /*!
40016
40440
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -40062,7 +40486,7 @@ LookaheadEventInfo = __decorate([
40062
40486
  ], LookaheadEventInfo);
40063
40487
  exports.LookaheadEventInfo = LookaheadEventInfo;
40064
40488
 
40065
- },{"../Decorators":190,"./DecisionEventInfo":241}],260:[function(require,module,exports){
40489
+ },{"../Decorators":193,"./DecisionEventInfo":244}],263:[function(require,module,exports){
40066
40490
  "use strict";
40067
40491
  /*!
40068
40492
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -40091,7 +40515,7 @@ __decorate([
40091
40515
  ], LoopEndState.prototype, "stateType", null);
40092
40516
  exports.LoopEndState = LoopEndState;
40093
40517
 
40094
- },{"../Decorators":190,"./ATNState":229,"./ATNStateType":230}],261:[function(require,module,exports){
40518
+ },{"../Decorators":193,"./ATNState":232,"./ATNStateType":233}],264:[function(require,module,exports){
40095
40519
  "use strict";
40096
40520
  /*!
40097
40521
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -40140,7 +40564,7 @@ NotSetTransition = __decorate([
40140
40564
  ], NotSetTransition);
40141
40565
  exports.NotSetTransition = NotSetTransition;
40142
40566
 
40143
- },{"../Decorators":190,"./SetTransition":279}],262:[function(require,module,exports){
40567
+ },{"../Decorators":193,"./SetTransition":282}],265:[function(require,module,exports){
40144
40568
  "use strict";
40145
40569
  /*!
40146
40570
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -40195,7 +40619,7 @@ __decorate([
40195
40619
  ], OrderedATNConfigSet.prototype, "canMerge", null);
40196
40620
  exports.OrderedATNConfigSet = OrderedATNConfigSet;
40197
40621
 
40198
- },{"../Decorators":190,"./ATNConfigSet":225}],263:[function(require,module,exports){
40622
+ },{"../Decorators":193,"./ATNConfigSet":228}],266:[function(require,module,exports){
40199
40623
  "use strict";
40200
40624
  /*!
40201
40625
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -40357,7 +40781,7 @@ ParseInfo = __decorate([
40357
40781
  ], ParseInfo);
40358
40782
  exports.ParseInfo = ParseInfo;
40359
40783
 
40360
- },{"../Decorators":190}],264:[function(require,module,exports){
40784
+ },{"../Decorators":193}],267:[function(require,module,exports){
40361
40785
  "use strict";
40362
40786
  /*!
40363
40787
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42630,7 +43054,7 @@ ParserATNSimulator = __decorate([
42630
43054
  ], ParserATNSimulator);
42631
43055
  exports.ParserATNSimulator = ParserATNSimulator;
42632
43056
 
42633
- },{"../Decorators":190,"../IntStream":196,"../NoViableAltException":202,"../ParserRuleContext":206,"../Token":215,"../VocabularyImpl":221,"../dfa/AcceptStateInfo":287,"../dfa/DFAState":290,"../misc/Array2DHashSet":294,"../misc/Arrays":296,"../misc/BitSet":297,"../misc/IntegerList":300,"../misc/Interval":302,"../misc/ObjectEqualityComparator":306,"./ATN":223,"./ATNConfig":224,"./ATNConfigSet":225,"./ATNSimulator":228,"./ATNStateType":230,"./ActionTransition":232,"./AtomTransition":234,"./ConflictInfo":239,"./DecisionState":243,"./NotSetTransition":261,"./PredictionContext":270,"./PredictionContextCache":271,"./PredictionMode":272,"./RuleStopState":276,"./RuleTransition":277,"./SemanticContext":278,"./SetTransition":279,"./SimulatorState":280,"assert":333}],265:[function(require,module,exports){
43057
+ },{"../Decorators":193,"../IntStream":199,"../NoViableAltException":205,"../ParserRuleContext":209,"../Token":218,"../VocabularyImpl":224,"../dfa/AcceptStateInfo":290,"../dfa/DFAState":293,"../misc/Array2DHashSet":297,"../misc/Arrays":299,"../misc/BitSet":300,"../misc/IntegerList":303,"../misc/Interval":305,"../misc/ObjectEqualityComparator":309,"./ATN":226,"./ATNConfig":227,"./ATNConfigSet":228,"./ATNSimulator":231,"./ATNStateType":233,"./ActionTransition":235,"./AtomTransition":237,"./ConflictInfo":242,"./DecisionState":246,"./NotSetTransition":264,"./PredictionContext":273,"./PredictionContextCache":274,"./PredictionMode":275,"./RuleStopState":279,"./RuleTransition":280,"./SemanticContext":281,"./SetTransition":282,"./SimulatorState":283,"assert":336}],268:[function(require,module,exports){
42634
43058
  "use strict";
42635
43059
  /*!
42636
43060
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42663,7 +43087,7 @@ __decorate([
42663
43087
  ], PlusBlockStartState.prototype, "stateType", null);
42664
43088
  exports.PlusBlockStartState = PlusBlockStartState;
42665
43089
 
42666
- },{"../Decorators":190,"./ATNStateType":230,"./BlockStartState":238}],266:[function(require,module,exports){
43090
+ },{"../Decorators":193,"./ATNStateType":233,"./BlockStartState":241}],269:[function(require,module,exports){
42667
43091
  "use strict";
42668
43092
  /*!
42669
43093
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42694,7 +43118,7 @@ __decorate([
42694
43118
  ], PlusLoopbackState.prototype, "stateType", null);
42695
43119
  exports.PlusLoopbackState = PlusLoopbackState;
42696
43120
 
42697
- },{"../Decorators":190,"./ATNStateType":230,"./DecisionState":243}],267:[function(require,module,exports){
43121
+ },{"../Decorators":193,"./ATNStateType":233,"./DecisionState":246}],270:[function(require,module,exports){
42698
43122
  "use strict";
42699
43123
  /*!
42700
43124
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42757,7 +43181,7 @@ PrecedencePredicateTransition = __decorate([
42757
43181
  ], PrecedencePredicateTransition);
42758
43182
  exports.PrecedencePredicateTransition = PrecedencePredicateTransition;
42759
43183
 
42760
- },{"../Decorators":190,"./AbstractPredicateTransition":231,"./SemanticContext":278}],268:[function(require,module,exports){
43184
+ },{"../Decorators":193,"./AbstractPredicateTransition":234,"./SemanticContext":281}],271:[function(require,module,exports){
42761
43185
  "use strict";
42762
43186
  /*!
42763
43187
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42820,7 +43244,7 @@ PredicateEvalInfo = __decorate([
42820
43244
  ], PredicateEvalInfo);
42821
43245
  exports.PredicateEvalInfo = PredicateEvalInfo;
42822
43246
 
42823
- },{"../Decorators":190,"./DecisionEventInfo":241}],269:[function(require,module,exports){
43247
+ },{"../Decorators":193,"./DecisionEventInfo":244}],272:[function(require,module,exports){
42824
43248
  "use strict";
42825
43249
  /*!
42826
43250
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42886,7 +43310,7 @@ PredicateTransition = __decorate([
42886
43310
  ], PredicateTransition);
42887
43311
  exports.PredicateTransition = PredicateTransition;
42888
43312
 
42889
- },{"../Decorators":190,"./AbstractPredicateTransition":231,"./SemanticContext":278}],270:[function(require,module,exports){
43313
+ },{"../Decorators":193,"./AbstractPredicateTransition":234,"./SemanticContext":281}],273:[function(require,module,exports){
42890
43314
  "use strict";
42891
43315
  /*!
42892
43316
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -43577,7 +44001,7 @@ exports.SingletonPredictionContext = SingletonPredictionContext;
43577
44001
  PredictionContext.IdentityEqualityComparator = IdentityEqualityComparator;
43578
44002
  })(PredictionContext = exports.PredictionContext || (exports.PredictionContext = {}));
43579
44003
 
43580
- },{"../Decorators":190,"../misc/Array2DHashMap":293,"../misc/Array2DHashSet":294,"../misc/Arrays":296,"../misc/MurmurHash":305,"./PredictionContextCache":271,"assert":333}],271:[function(require,module,exports){
44004
+ },{"../Decorators":193,"../misc/Array2DHashMap":296,"../misc/Array2DHashSet":297,"../misc/Arrays":299,"../misc/MurmurHash":308,"./PredictionContextCache":274,"assert":336}],274:[function(require,module,exports){
43581
44005
  "use strict";
43582
44006
  /*!
43583
44007
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -43718,7 +44142,7 @@ PredictionContextCache.UNCACHED = new PredictionContextCache(false);
43718
44142
  PredictionContextCache.IdentityCommutativePredictionContextOperands = IdentityCommutativePredictionContextOperands;
43719
44143
  })(PredictionContextCache = exports.PredictionContextCache || (exports.PredictionContextCache = {}));
43720
44144
 
43721
- },{"../Decorators":190,"../misc/Array2DHashMap":293,"../misc/ObjectEqualityComparator":306,"./PredictionContext":270,"assert":333}],272:[function(require,module,exports){
44145
+ },{"../Decorators":193,"../misc/Array2DHashMap":296,"../misc/ObjectEqualityComparator":309,"./PredictionContext":273,"assert":336}],275:[function(require,module,exports){
43722
44146
  "use strict";
43723
44147
  /*!
43724
44148
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -43879,7 +44303,7 @@ var PredictionMode;
43879
44303
  PredictionMode.allConfigsInRuleStopStates = allConfigsInRuleStopStates;
43880
44304
  })(PredictionMode = exports.PredictionMode || (exports.PredictionMode = {}));
43881
44305
 
43882
- },{"../Decorators":190,"../misc/Array2DHashMap":293,"../misc/MurmurHash":305,"./RuleStopState":276}],273:[function(require,module,exports){
44306
+ },{"../Decorators":193,"../misc/Array2DHashMap":296,"../misc/MurmurHash":308,"./RuleStopState":279}],276:[function(require,module,exports){
43883
44307
  (function (process){(function (){
43884
44308
  "use strict";
43885
44309
  /*!
@@ -44148,7 +44572,7 @@ __decorate([
44148
44572
  exports.ProfilingATNSimulator = ProfilingATNSimulator;
44149
44573
 
44150
44574
  }).call(this)}).call(this,require('_process'))
44151
- },{"../Decorators":190,"./ATN":223,"./ATNSimulator":228,"./AmbiguityInfo":233,"./ContextSensitivityInfo":240,"./DecisionInfo":242,"./ErrorInfo":245,"./LookaheadEventInfo":259,"./ParserATNSimulator":264,"./PredicateEvalInfo":268,"./SemanticContext":278,"./SimulatorState":280,"_process":381}],274:[function(require,module,exports){
44575
+ },{"../Decorators":193,"./ATN":226,"./ATNSimulator":231,"./AmbiguityInfo":236,"./ContextSensitivityInfo":243,"./DecisionInfo":245,"./ErrorInfo":248,"./LookaheadEventInfo":262,"./ParserATNSimulator":267,"./PredicateEvalInfo":271,"./SemanticContext":281,"./SimulatorState":283,"_process":384}],277:[function(require,module,exports){
44152
44576
  "use strict";
44153
44577
  /*!
44154
44578
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44206,7 +44630,7 @@ RangeTransition = __decorate([
44206
44630
  ], RangeTransition);
44207
44631
  exports.RangeTransition = RangeTransition;
44208
44632
 
44209
- },{"../Decorators":190,"../misc/IntervalSet":303,"./Transition":285}],275:[function(require,module,exports){
44633
+ },{"../Decorators":193,"../misc/IntervalSet":306,"./Transition":288}],278:[function(require,module,exports){
44210
44634
  "use strict";
44211
44635
  /*!
44212
44636
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44239,7 +44663,7 @@ __decorate([
44239
44663
  ], RuleStartState.prototype, "stateType", null);
44240
44664
  exports.RuleStartState = RuleStartState;
44241
44665
 
44242
- },{"../Decorators":190,"./ATNState":229,"./ATNStateType":230}],276:[function(require,module,exports){
44666
+ },{"../Decorators":193,"./ATNState":232,"./ATNStateType":233}],279:[function(require,module,exports){
44243
44667
  "use strict";
44244
44668
  /*!
44245
44669
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44278,7 +44702,7 @@ __decorate([
44278
44702
  ], RuleStopState.prototype, "stateType", null);
44279
44703
  exports.RuleStopState = RuleStopState;
44280
44704
 
44281
- },{"../Decorators":190,"./ATNState":229,"./ATNStateType":230}],277:[function(require,module,exports){
44705
+ },{"../Decorators":193,"./ATNState":232,"./ATNStateType":233}],280:[function(require,module,exports){
44282
44706
  "use strict";
44283
44707
  /*!
44284
44708
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44334,7 +44758,7 @@ RuleTransition = __decorate([
44334
44758
  ], RuleTransition);
44335
44759
  exports.RuleTransition = RuleTransition;
44336
44760
 
44337
- },{"../Decorators":190,"./Transition":285}],278:[function(require,module,exports){
44761
+ },{"../Decorators":193,"./Transition":288}],281:[function(require,module,exports){
44338
44762
  "use strict";
44339
44763
  /*!
44340
44764
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44814,7 +45238,7 @@ exports.SemanticContext = SemanticContext;
44814
45238
  SemanticContext.OR = OR;
44815
45239
  })(SemanticContext = exports.SemanticContext || (exports.SemanticContext = {}));
44816
45240
 
44817
- },{"../Decorators":190,"../misc/Array2DHashSet":294,"../misc/ArrayEqualityComparator":295,"../misc/MurmurHash":305,"../misc/ObjectEqualityComparator":306,"../misc/Utils":309}],279:[function(require,module,exports){
45241
+ },{"../Decorators":193,"../misc/Array2DHashSet":297,"../misc/ArrayEqualityComparator":298,"../misc/MurmurHash":308,"../misc/ObjectEqualityComparator":309,"../misc/Utils":312}],282:[function(require,module,exports){
44818
45242
  "use strict";
44819
45243
  /*!
44820
45244
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44880,7 +45304,7 @@ SetTransition = __decorate([
44880
45304
  ], SetTransition);
44881
45305
  exports.SetTransition = SetTransition;
44882
45306
 
44883
- },{"../Decorators":190,"../Token":215,"../misc/IntervalSet":303,"./Transition":285}],280:[function(require,module,exports){
45307
+ },{"../Decorators":193,"../Token":218,"../misc/IntervalSet":306,"./Transition":288}],283:[function(require,module,exports){
44884
45308
  "use strict";
44885
45309
  /*!
44886
45310
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44916,7 +45340,7 @@ SimulatorState = __decorate([
44916
45340
  ], SimulatorState);
44917
45341
  exports.SimulatorState = SimulatorState;
44918
45342
 
44919
- },{"../Decorators":190,"../ParserRuleContext":206}],281:[function(require,module,exports){
45343
+ },{"../Decorators":193,"../ParserRuleContext":209}],284:[function(require,module,exports){
44920
45344
  "use strict";
44921
45345
  /*!
44922
45346
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44944,7 +45368,7 @@ __decorate([
44944
45368
  ], StarBlockStartState.prototype, "stateType", null);
44945
45369
  exports.StarBlockStartState = StarBlockStartState;
44946
45370
 
44947
- },{"../Decorators":190,"./ATNStateType":230,"./BlockStartState":238}],282:[function(require,module,exports){
45371
+ },{"../Decorators":193,"./ATNStateType":233,"./BlockStartState":241}],285:[function(require,module,exports){
44948
45372
  "use strict";
44949
45373
  /*!
44950
45374
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45001,7 +45425,7 @@ __decorate([
45001
45425
  ], StarLoopEntryState.prototype, "stateType", null);
45002
45426
  exports.StarLoopEntryState = StarLoopEntryState;
45003
45427
 
45004
- },{"../Decorators":190,"../misc/BitSet":297,"./ATNStateType":230,"./DecisionState":243}],283:[function(require,module,exports){
45428
+ },{"../Decorators":193,"../misc/BitSet":300,"./ATNStateType":233,"./DecisionState":246}],286:[function(require,module,exports){
45005
45429
  "use strict";
45006
45430
  /*!
45007
45431
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45032,7 +45456,7 @@ __decorate([
45032
45456
  ], StarLoopbackState.prototype, "stateType", null);
45033
45457
  exports.StarLoopbackState = StarLoopbackState;
45034
45458
 
45035
- },{"../Decorators":190,"./ATNState":229,"./ATNStateType":230}],284:[function(require,module,exports){
45459
+ },{"../Decorators":193,"./ATNState":232,"./ATNStateType":233}],287:[function(require,module,exports){
45036
45460
  "use strict";
45037
45461
  /*!
45038
45462
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45061,7 +45485,7 @@ __decorate([
45061
45485
  ], TokensStartState.prototype, "stateType", null);
45062
45486
  exports.TokensStartState = TokensStartState;
45063
45487
 
45064
- },{"../Decorators":190,"./ATNStateType":230,"./DecisionState":243}],285:[function(require,module,exports){
45488
+ },{"../Decorators":193,"./ATNStateType":233,"./DecisionState":246}],288:[function(require,module,exports){
45065
45489
  "use strict";
45066
45490
  /*!
45067
45491
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45135,7 +45559,7 @@ Transition = __decorate([
45135
45559
  ], Transition);
45136
45560
  exports.Transition = Transition;
45137
45561
 
45138
- },{"../Decorators":190}],286:[function(require,module,exports){
45562
+ },{"../Decorators":193}],289:[function(require,module,exports){
45139
45563
  "use strict";
45140
45564
  /*!
45141
45565
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45183,7 +45607,7 @@ WildcardTransition = __decorate([
45183
45607
  ], WildcardTransition);
45184
45608
  exports.WildcardTransition = WildcardTransition;
45185
45609
 
45186
- },{"../Decorators":190,"./Transition":285}],287:[function(require,module,exports){
45610
+ },{"../Decorators":193,"./Transition":288}],290:[function(require,module,exports){
45187
45611
  "use strict";
45188
45612
  /*!
45189
45613
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45225,7 +45649,7 @@ class AcceptStateInfo {
45225
45649
  }
45226
45650
  exports.AcceptStateInfo = AcceptStateInfo;
45227
45651
 
45228
- },{}],288:[function(require,module,exports){
45652
+ },{}],291:[function(require,module,exports){
45229
45653
  "use strict";
45230
45654
  /*!
45231
45655
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45400,7 +45824,7 @@ DFA = __decorate([
45400
45824
  ], DFA);
45401
45825
  exports.DFA = DFA;
45402
45826
 
45403
- },{"../Decorators":190,"../VocabularyImpl":221,"../atn/ATNConfigSet":225,"../atn/StarLoopEntryState":282,"../misc/Array2DHashSet":294,"../misc/ObjectEqualityComparator":306,"./DFASerializer":289,"./DFAState":290,"./LexerDFASerializer":291}],289:[function(require,module,exports){
45827
+ },{"../Decorators":193,"../VocabularyImpl":224,"../atn/ATNConfigSet":228,"../atn/StarLoopEntryState":285,"../misc/Array2DHashSet":297,"../misc/ObjectEqualityComparator":309,"./DFASerializer":292,"./DFAState":293,"./LexerDFASerializer":294}],292:[function(require,module,exports){
45404
45828
  "use strict";
45405
45829
  /*!
45406
45830
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45542,7 +45966,7 @@ __decorate([
45542
45966
  ], DFASerializer.prototype, "toString", null);
45543
45967
  exports.DFASerializer = DFASerializer;
45544
45968
 
45545
- },{"../Decorators":190,"../Recognizer":210,"../VocabularyImpl":221,"../atn/ATNSimulator":228,"../atn/PredictionContext":270}],290:[function(require,module,exports){
45969
+ },{"../Decorators":193,"../Recognizer":213,"../VocabularyImpl":224,"../atn/ATNSimulator":231,"../atn/PredictionContext":273}],293:[function(require,module,exports){
45546
45970
  "use strict";
45547
45971
  /*!
45548
45972
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45773,7 +46197,7 @@ exports.DFAState = DFAState;
45773
46197
  DFAState.PredPrediction = PredPrediction;
45774
46198
  })(DFAState = exports.DFAState || (exports.DFAState = {}));
45775
46199
 
45776
- },{"../Decorators":190,"../atn/ATN":223,"../atn/PredictionContext":270,"../misc/BitSet":297,"../misc/MurmurHash":305,"assert":333}],291:[function(require,module,exports){
46200
+ },{"../Decorators":193,"../atn/ATN":226,"../atn/PredictionContext":273,"../misc/BitSet":300,"../misc/MurmurHash":308,"assert":336}],294:[function(require,module,exports){
45777
46201
  "use strict";
45778
46202
  /*!
45779
46203
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45810,7 +46234,7 @@ LexerDFASerializer = __decorate([
45810
46234
  ], LexerDFASerializer);
45811
46235
  exports.LexerDFASerializer = LexerDFASerializer;
45812
46236
 
45813
- },{"../Decorators":190,"../VocabularyImpl":221,"./DFASerializer":289}],292:[function(require,module,exports){
46237
+ },{"../Decorators":193,"../VocabularyImpl":224,"./DFASerializer":292}],295:[function(require,module,exports){
45814
46238
  "use strict";
45815
46239
  /*!
45816
46240
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45876,7 +46300,7 @@ __exportStar(require("./Vocabulary"), exports);
45876
46300
  __exportStar(require("./VocabularyImpl"), exports);
45877
46301
  __exportStar(require("./WritableToken"), exports);
45878
46302
 
45879
- },{"./ANTLRErrorListener":177,"./ANTLRErrorStrategy":178,"./ANTLRInputStream":179,"./BailErrorStrategy":180,"./BufferedTokenStream":181,"./CharStream":182,"./CharStreams":183,"./CodePointBuffer":184,"./CodePointCharStream":185,"./CommonToken":186,"./CommonTokenFactory":187,"./CommonTokenStream":188,"./ConsoleErrorListener":189,"./DefaultErrorStrategy":191,"./Dependents":192,"./DiagnosticErrorListener":193,"./FailedPredicateException":194,"./InputMismatchException":195,"./IntStream":196,"./InterpreterRuleContext":197,"./Lexer":198,"./LexerInterpreter":199,"./LexerNoViableAltException":200,"./ListTokenSource":201,"./NoViableAltException":202,"./Parser":203,"./ParserErrorListener":204,"./ParserInterpreter":205,"./ParserRuleContext":206,"./ProxyErrorListener":207,"./ProxyParserErrorListener":208,"./RecognitionException":209,"./Recognizer":210,"./RuleContext":211,"./RuleContextWithAltNum":212,"./RuleDependency":213,"./RuleVersion":214,"./Token":215,"./TokenFactory":216,"./TokenSource":217,"./TokenStream":218,"./TokenStreamRewriter":219,"./Vocabulary":220,"./VocabularyImpl":221,"./WritableToken":222}],293:[function(require,module,exports){
46303
+ },{"./ANTLRErrorListener":180,"./ANTLRErrorStrategy":181,"./ANTLRInputStream":182,"./BailErrorStrategy":183,"./BufferedTokenStream":184,"./CharStream":185,"./CharStreams":186,"./CodePointBuffer":187,"./CodePointCharStream":188,"./CommonToken":189,"./CommonTokenFactory":190,"./CommonTokenStream":191,"./ConsoleErrorListener":192,"./DefaultErrorStrategy":194,"./Dependents":195,"./DiagnosticErrorListener":196,"./FailedPredicateException":197,"./InputMismatchException":198,"./IntStream":199,"./InterpreterRuleContext":200,"./Lexer":201,"./LexerInterpreter":202,"./LexerNoViableAltException":203,"./ListTokenSource":204,"./NoViableAltException":205,"./Parser":206,"./ParserErrorListener":207,"./ParserInterpreter":208,"./ParserRuleContext":209,"./ProxyErrorListener":210,"./ProxyParserErrorListener":211,"./RecognitionException":212,"./Recognizer":213,"./RuleContext":214,"./RuleContextWithAltNum":215,"./RuleDependency":216,"./RuleVersion":217,"./Token":218,"./TokenFactory":219,"./TokenSource":220,"./TokenStream":221,"./TokenStreamRewriter":222,"./Vocabulary":223,"./VocabularyImpl":224,"./WritableToken":225}],296:[function(require,module,exports){
45880
46304
  "use strict";
45881
46305
  /*!
45882
46306
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45959,7 +46383,7 @@ class Array2DHashMap {
45959
46383
  }
45960
46384
  exports.Array2DHashMap = Array2DHashMap;
45961
46385
 
45962
- },{"./Array2DHashSet":294}],294:[function(require,module,exports){
46386
+ },{"./Array2DHashSet":297}],297:[function(require,module,exports){
45963
46387
  "use strict";
45964
46388
  /*!
45965
46389
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46326,7 +46750,7 @@ __decorate([
46326
46750
  ], Array2DHashSet.prototype, "createBuckets", null);
46327
46751
  exports.Array2DHashSet = Array2DHashSet;
46328
46752
 
46329
- },{"../Decorators":190,"./DefaultEqualityComparator":299,"./MurmurHash":305,"assert":333}],295:[function(require,module,exports){
46753
+ },{"../Decorators":193,"./DefaultEqualityComparator":302,"./MurmurHash":308,"assert":336}],298:[function(require,module,exports){
46330
46754
  "use strict";
46331
46755
  /*!
46332
46756
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46398,7 +46822,7 @@ __decorate([
46398
46822
  ], ArrayEqualityComparator.prototype, "equals", null);
46399
46823
  exports.ArrayEqualityComparator = ArrayEqualityComparator;
46400
46824
 
46401
- },{"../Decorators":190,"./MurmurHash":305,"./ObjectEqualityComparator":306}],296:[function(require,module,exports){
46825
+ },{"../Decorators":193,"./MurmurHash":308,"./ObjectEqualityComparator":309}],299:[function(require,module,exports){
46402
46826
  "use strict";
46403
46827
  /*!
46404
46828
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46468,7 +46892,7 @@ var Arrays;
46468
46892
  Arrays.toString = toString;
46469
46893
  })(Arrays = exports.Arrays || (exports.Arrays = {}));
46470
46894
 
46471
- },{}],297:[function(require,module,exports){
46895
+ },{}],300:[function(require,module,exports){
46472
46896
  "use strict";
46473
46897
  /*!
46474
46898
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -47140,7 +47564,7 @@ class BitSetIterator {
47140
47564
  [Symbol.iterator]() { return this; }
47141
47565
  }
47142
47566
 
47143
- },{"./MurmurHash":305,"util":386}],298:[function(require,module,exports){
47567
+ },{"./MurmurHash":308,"util":389}],301:[function(require,module,exports){
47144
47568
  "use strict";
47145
47569
  /*!
47146
47570
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -47161,7 +47585,7 @@ function isSupplementaryCodePoint(ch) {
47161
47585
  }
47162
47586
  exports.isSupplementaryCodePoint = isSupplementaryCodePoint;
47163
47587
 
47164
- },{}],299:[function(require,module,exports){
47588
+ },{}],302:[function(require,module,exports){
47165
47589
  "use strict";
47166
47590
  /*!
47167
47591
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -47232,7 +47656,7 @@ __decorate([
47232
47656
  ], DefaultEqualityComparator.prototype, "equals", null);
47233
47657
  exports.DefaultEqualityComparator = DefaultEqualityComparator;
47234
47658
 
47235
- },{"../Decorators":190,"./MurmurHash":305,"./ObjectEqualityComparator":306}],300:[function(require,module,exports){
47659
+ },{"../Decorators":193,"./MurmurHash":308,"./ObjectEqualityComparator":309}],303:[function(require,module,exports){
47236
47660
  "use strict";
47237
47661
  /*!
47238
47662
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -47526,7 +47950,7 @@ __decorate([
47526
47950
  ], IntegerList.prototype, "toString", null);
47527
47951
  exports.IntegerList = IntegerList;
47528
47952
 
47529
- },{"../Decorators":190,"./Arrays":296}],301:[function(require,module,exports){
47953
+ },{"../Decorators":193,"./Arrays":299}],304:[function(require,module,exports){
47530
47954
  "use strict";
47531
47955
  /*!
47532
47956
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -47556,7 +47980,7 @@ class IntegerStack extends IntegerList_1.IntegerList {
47556
47980
  }
47557
47981
  exports.IntegerStack = IntegerStack;
47558
47982
 
47559
- },{"./IntegerList":300}],302:[function(require,module,exports){
47983
+ },{"./IntegerList":303}],305:[function(require,module,exports){
47560
47984
  "use strict";
47561
47985
  /*!
47562
47986
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -47699,7 +48123,7 @@ __decorate([
47699
48123
  ], Interval.prototype, "toString", null);
47700
48124
  exports.Interval = Interval;
47701
48125
 
47702
- },{"../Decorators":190}],303:[function(require,module,exports){
48126
+ },{"../Decorators":193}],306:[function(require,module,exports){
47703
48127
  "use strict";
47704
48128
  /*!
47705
48129
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48345,7 +48769,7 @@ __decorate([
48345
48769
  ], IntervalSet, "subtract", null);
48346
48770
  exports.IntervalSet = IntervalSet;
48347
48771
 
48348
- },{"../Decorators":190,"../Lexer":198,"../Token":215,"./ArrayEqualityComparator":295,"./IntegerList":300,"./Interval":302,"./MurmurHash":305}],304:[function(require,module,exports){
48772
+ },{"../Decorators":193,"../Lexer":201,"../Token":218,"./ArrayEqualityComparator":298,"./IntegerList":303,"./Interval":305,"./MurmurHash":308}],307:[function(require,module,exports){
48349
48773
  "use strict";
48350
48774
  /*!
48351
48775
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48378,7 +48802,7 @@ class MultiMap extends Map {
48378
48802
  }
48379
48803
  exports.MultiMap = MultiMap;
48380
48804
 
48381
- },{}],305:[function(require,module,exports){
48805
+ },{}],308:[function(require,module,exports){
48382
48806
  "use strict";
48383
48807
  /*!
48384
48808
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48493,7 +48917,7 @@ var MurmurHash;
48493
48917
  }
48494
48918
  })(MurmurHash = exports.MurmurHash || (exports.MurmurHash = {}));
48495
48919
 
48496
- },{}],306:[function(require,module,exports){
48920
+ },{}],309:[function(require,module,exports){
48497
48921
  "use strict";
48498
48922
  /*!
48499
48923
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48552,7 +48976,7 @@ __decorate([
48552
48976
  ], ObjectEqualityComparator.prototype, "equals", null);
48553
48977
  exports.ObjectEqualityComparator = ObjectEqualityComparator;
48554
48978
 
48555
- },{"../Decorators":190}],307:[function(require,module,exports){
48979
+ },{"../Decorators":193}],310:[function(require,module,exports){
48556
48980
  "use strict";
48557
48981
  /*!
48558
48982
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48581,7 +49005,7 @@ class ParseCancellationException extends Error {
48581
49005
  }
48582
49006
  exports.ParseCancellationException = ParseCancellationException;
48583
49007
 
48584
- },{}],308:[function(require,module,exports){
49008
+ },{}],311:[function(require,module,exports){
48585
49009
  "use strict";
48586
49010
  /*!
48587
49011
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48635,7 +49059,7 @@ class UUID {
48635
49059
  }
48636
49060
  exports.UUID = UUID;
48637
49061
 
48638
- },{"./MurmurHash":305}],309:[function(require,module,exports){
49062
+ },{"./MurmurHash":308}],312:[function(require,module,exports){
48639
49063
  "use strict";
48640
49064
  /*!
48641
49065
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48810,7 +49234,7 @@ exports.toCharArray = toCharArray;
48810
49234
  // return s;
48811
49235
  // }
48812
49236
 
48813
- },{}],310:[function(require,module,exports){
49237
+ },{}],313:[function(require,module,exports){
48814
49238
  "use strict";
48815
49239
  /*!
48816
49240
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48846,7 +49270,7 @@ __decorate([
48846
49270
  ], ErrorNode.prototype, "accept", null);
48847
49271
  exports.ErrorNode = ErrorNode;
48848
49272
 
48849
- },{"../Decorators":190,"./TerminalNode":313}],311:[function(require,module,exports){
49273
+ },{"../Decorators":193,"./TerminalNode":316}],314:[function(require,module,exports){
48850
49274
  "use strict";
48851
49275
  /*!
48852
49276
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48951,7 +49375,7 @@ exports.ParseTreeWalker = ParseTreeWalker;
48951
49375
  ParseTreeWalker.DEFAULT = new ParseTreeWalker();
48952
49376
  })(ParseTreeWalker = exports.ParseTreeWalker || (exports.ParseTreeWalker = {}));
48953
49377
 
48954
- },{"./ErrorNode":310,"./RuleNode":312,"./TerminalNode":313}],312:[function(require,module,exports){
49378
+ },{"./ErrorNode":313,"./RuleNode":315,"./TerminalNode":316}],315:[function(require,module,exports){
48955
49379
  "use strict";
48956
49380
  /*!
48957
49381
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48963,7 +49387,7 @@ class RuleNode {
48963
49387
  }
48964
49388
  exports.RuleNode = RuleNode;
48965
49389
 
48966
- },{}],313:[function(require,module,exports){
49390
+ },{}],316:[function(require,module,exports){
48967
49391
  "use strict";
48968
49392
  /*!
48969
49393
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -49055,7 +49479,7 @@ __decorate([
49055
49479
  ], TerminalNode.prototype, "toString", null);
49056
49480
  exports.TerminalNode = TerminalNode;
49057
49481
 
49058
- },{"../Decorators":190,"../Token":215,"../misc/Interval":302}],314:[function(require,module,exports){
49482
+ },{"../Decorators":193,"../Token":218,"../misc/Interval":305}],317:[function(require,module,exports){
49059
49483
  "use strict";
49060
49484
  /*!
49061
49485
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -49299,7 +49723,7 @@ __decorate([
49299
49723
  ], Trees, "getRootOfSubtreeEnclosingRegion", null);
49300
49724
  exports.Trees = Trees;
49301
49725
 
49302
- },{"../CommonToken":186,"../Decorators":190,"../Parser":203,"../ParserRuleContext":206,"../Token":215,"../atn/ATN":223,"../misc/Utils":309,"./ErrorNode":310,"./RuleNode":312,"./TerminalNode":313}],315:[function(require,module,exports){
49726
+ },{"../CommonToken":189,"../Decorators":193,"../Parser":206,"../ParserRuleContext":209,"../Token":218,"../atn/ATN":226,"../misc/Utils":312,"./ErrorNode":313,"./RuleNode":315,"./TerminalNode":316}],318:[function(require,module,exports){
49303
49727
  "use strict";
49304
49728
  /*!
49305
49729
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -49323,7 +49747,7 @@ class Chunk {
49323
49747
  }
49324
49748
  exports.Chunk = Chunk;
49325
49749
 
49326
- },{}],316:[function(require,module,exports){
49750
+ },{}],319:[function(require,module,exports){
49327
49751
  "use strict";
49328
49752
  /*!
49329
49753
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -49503,7 +49927,7 @@ ParseTreeMatch = __decorate([
49503
49927
  ], ParseTreeMatch);
49504
49928
  exports.ParseTreeMatch = ParseTreeMatch;
49505
49929
 
49506
- },{"../../Decorators":190}],317:[function(require,module,exports){
49930
+ },{"../../Decorators":193}],320:[function(require,module,exports){
49507
49931
  "use strict";
49508
49932
  /*!
49509
49933
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -49661,7 +50085,7 @@ ParseTreePattern = __decorate([
49661
50085
  ], ParseTreePattern);
49662
50086
  exports.ParseTreePattern = ParseTreePattern;
49663
50087
 
49664
- },{"../../Decorators":190,"../xpath/XPath":323}],318:[function(require,module,exports){
50088
+ },{"../../Decorators":193,"../xpath/XPath":326}],321:[function(require,module,exports){
49665
50089
  "use strict";
49666
50090
  /*!
49667
50091
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -50139,7 +50563,7 @@ exports.ParseTreePatternMatcher = ParseTreePatternMatcher;
50139
50563
  ParseTreePatternMatcher.StartRuleDoesNotConsumeFullPattern = StartRuleDoesNotConsumeFullPattern;
50140
50564
  })(ParseTreePatternMatcher = exports.ParseTreePatternMatcher || (exports.ParseTreePatternMatcher = {}));
50141
50565
 
50142
- },{"../../BailErrorStrategy":180,"../../CharStreams":183,"../../CommonTokenStream":188,"../../Decorators":190,"../../ListTokenSource":201,"../../ParserInterpreter":205,"../../ParserRuleContext":206,"../../RecognitionException":209,"../../Token":215,"../../misc/MultiMap":304,"../../misc/ParseCancellationException":307,"../RuleNode":312,"../TerminalNode":313,"./ParseTreeMatch":316,"./ParseTreePattern":317,"./RuleTagToken":319,"./TagChunk":320,"./TextChunk":321,"./TokenTagToken":322}],319:[function(require,module,exports){
50566
+ },{"../../BailErrorStrategy":183,"../../CharStreams":186,"../../CommonTokenStream":191,"../../Decorators":193,"../../ListTokenSource":204,"../../ParserInterpreter":208,"../../ParserRuleContext":209,"../../RecognitionException":212,"../../Token":218,"../../misc/MultiMap":307,"../../misc/ParseCancellationException":310,"../RuleNode":315,"../TerminalNode":316,"./ParseTreeMatch":319,"./ParseTreePattern":320,"./RuleTagToken":322,"./TagChunk":323,"./TextChunk":324,"./TokenTagToken":325}],322:[function(require,module,exports){
50143
50567
  "use strict";
50144
50568
  /*!
50145
50569
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -50337,7 +50761,7 @@ RuleTagToken = __decorate([
50337
50761
  ], RuleTagToken);
50338
50762
  exports.RuleTagToken = RuleTagToken;
50339
50763
 
50340
- },{"../../Decorators":190,"../../Token":215}],320:[function(require,module,exports){
50764
+ },{"../../Decorators":193,"../../Token":218}],323:[function(require,module,exports){
50341
50765
  "use strict";
50342
50766
  /*!
50343
50767
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -50424,7 +50848,7 @@ __decorate([
50424
50848
  ], TagChunk.prototype, "toString", null);
50425
50849
  exports.TagChunk = TagChunk;
50426
50850
 
50427
- },{"../../Decorators":190,"./Chunk":315}],321:[function(require,module,exports){
50851
+ },{"../../Decorators":193,"./Chunk":318}],324:[function(require,module,exports){
50428
50852
  "use strict";
50429
50853
  /*!
50430
50854
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -50494,7 +50918,7 @@ TextChunk = __decorate([
50494
50918
  ], TextChunk);
50495
50919
  exports.TextChunk = TextChunk;
50496
50920
 
50497
- },{"../../Decorators":190,"./Chunk":315}],322:[function(require,module,exports){
50921
+ },{"../../Decorators":193,"./Chunk":318}],325:[function(require,module,exports){
50498
50922
  "use strict";
50499
50923
  /*!
50500
50924
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -50589,7 +51013,7 @@ TokenTagToken = __decorate([
50589
51013
  ], TokenTagToken);
50590
51014
  exports.TokenTagToken = TokenTagToken;
50591
51015
 
50592
- },{"../../CommonToken":186,"../../Decorators":190}],323:[function(require,module,exports){
51016
+ },{"../../CommonToken":189,"../../Decorators":193}],326:[function(require,module,exports){
50593
51017
  "use strict";
50594
51018
  /*!
50595
51019
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -50786,7 +51210,7 @@ exports.XPath = XPath;
50786
51210
  XPath.WILDCARD = "*"; // word not operator/separator
50787
51211
  XPath.NOT = "!"; // word for invert operator
50788
51212
 
50789
- },{"../../CharStreams":183,"../../CommonTokenStream":188,"../../LexerNoViableAltException":200,"../../ParserRuleContext":206,"../../Token":215,"./XPathLexer":325,"./XPathLexerErrorListener":326,"./XPathRuleAnywhereElement":327,"./XPathRuleElement":328,"./XPathTokenAnywhereElement":329,"./XPathTokenElement":330,"./XPathWildcardAnywhereElement":331,"./XPathWildcardElement":332}],324:[function(require,module,exports){
51213
+ },{"../../CharStreams":186,"../../CommonTokenStream":191,"../../LexerNoViableAltException":203,"../../ParserRuleContext":209,"../../Token":218,"./XPathLexer":328,"./XPathLexerErrorListener":329,"./XPathRuleAnywhereElement":330,"./XPathRuleElement":331,"./XPathTokenAnywhereElement":332,"./XPathTokenElement":333,"./XPathWildcardAnywhereElement":334,"./XPathWildcardElement":335}],327:[function(require,module,exports){
50790
51214
  "use strict";
50791
51215
  /*!
50792
51216
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -50821,7 +51245,7 @@ __decorate([
50821
51245
  ], XPathElement.prototype, "toString", null);
50822
51246
  exports.XPathElement = XPathElement;
50823
51247
 
50824
- },{"../../Decorators":190}],325:[function(require,module,exports){
51248
+ },{"../../Decorators":193}],328:[function(require,module,exports){
50825
51249
  "use strict";
50826
51250
  // Generated from XPathLexer.g4 by ANTLR 4.9.0-SNAPSHOT
50827
51251
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -51296,7 +51720,7 @@ XPathLexer._serializedATN = Utils.join([
51296
51720
  XPathLexer._serializedATNSegment1,
51297
51721
  ], "");
51298
51722
 
51299
- },{"../../Lexer":198,"../../VocabularyImpl":221,"../../atn/ATNDeserializer":227,"../../atn/LexerATNSimulator":248,"../../misc/Utils":309}],326:[function(require,module,exports){
51723
+ },{"../../Lexer":201,"../../VocabularyImpl":224,"../../atn/ATNDeserializer":230,"../../atn/LexerATNSimulator":251,"../../misc/Utils":312}],329:[function(require,module,exports){
51300
51724
  "use strict";
51301
51725
  /*!
51302
51726
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51321,7 +51745,7 @@ __decorate([
51321
51745
  ], XPathLexerErrorListener.prototype, "syntaxError", null);
51322
51746
  exports.XPathLexerErrorListener = XPathLexerErrorListener;
51323
51747
 
51324
- },{"../../Decorators":190}],327:[function(require,module,exports){
51748
+ },{"../../Decorators":193}],330:[function(require,module,exports){
51325
51749
  "use strict";
51326
51750
  /*!
51327
51751
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51355,7 +51779,7 @@ __decorate([
51355
51779
  ], XPathRuleAnywhereElement.prototype, "evaluate", null);
51356
51780
  exports.XPathRuleAnywhereElement = XPathRuleAnywhereElement;
51357
51781
 
51358
- },{"../../Decorators":190,"../Trees":314,"./XPathElement":324}],328:[function(require,module,exports){
51782
+ },{"../../Decorators":193,"../Trees":317,"./XPathElement":327}],331:[function(require,module,exports){
51359
51783
  "use strict";
51360
51784
  /*!
51361
51785
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51398,7 +51822,7 @@ __decorate([
51398
51822
  ], XPathRuleElement.prototype, "evaluate", null);
51399
51823
  exports.XPathRuleElement = XPathRuleElement;
51400
51824
 
51401
- },{"../../Decorators":190,"../../ParserRuleContext":206,"../Trees":314,"./XPathElement":324}],329:[function(require,module,exports){
51825
+ },{"../../Decorators":193,"../../ParserRuleContext":209,"../Trees":317,"./XPathElement":327}],332:[function(require,module,exports){
51402
51826
  "use strict";
51403
51827
  /*!
51404
51828
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51430,7 +51854,7 @@ __decorate([
51430
51854
  ], XPathTokenAnywhereElement.prototype, "evaluate", null);
51431
51855
  exports.XPathTokenAnywhereElement = XPathTokenAnywhereElement;
51432
51856
 
51433
- },{"../../Decorators":190,"../Trees":314,"./XPathElement":324}],330:[function(require,module,exports){
51857
+ },{"../../Decorators":193,"../Trees":317,"./XPathElement":327}],333:[function(require,module,exports){
51434
51858
  "use strict";
51435
51859
  /*!
51436
51860
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51473,7 +51897,7 @@ __decorate([
51473
51897
  ], XPathTokenElement.prototype, "evaluate", null);
51474
51898
  exports.XPathTokenElement = XPathTokenElement;
51475
51899
 
51476
- },{"../../Decorators":190,"../TerminalNode":313,"../Trees":314,"./XPathElement":324}],331:[function(require,module,exports){
51900
+ },{"../../Decorators":193,"../TerminalNode":316,"../Trees":317,"./XPathElement":327}],334:[function(require,module,exports){
51477
51901
  "use strict";
51478
51902
  /*!
51479
51903
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51509,7 +51933,7 @@ __decorate([
51509
51933
  ], XPathWildcardAnywhereElement.prototype, "evaluate", null);
51510
51934
  exports.XPathWildcardAnywhereElement = XPathWildcardAnywhereElement;
51511
51935
 
51512
- },{"../../Decorators":190,"../Trees":314,"./XPath":323,"./XPathElement":324}],332:[function(require,module,exports){
51936
+ },{"../../Decorators":193,"../Trees":317,"./XPath":326,"./XPathElement":327}],335:[function(require,module,exports){
51513
51937
  "use strict";
51514
51938
  /*!
51515
51939
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51549,7 +51973,7 @@ __decorate([
51549
51973
  ], XPathWildcardElement.prototype, "evaluate", null);
51550
51974
  exports.XPathWildcardElement = XPathWildcardElement;
51551
51975
 
51552
- },{"../../Decorators":190,"../Trees":314,"./XPath":323,"./XPathElement":324}],333:[function(require,module,exports){
51976
+ },{"../../Decorators":193,"../Trees":317,"./XPath":326,"./XPathElement":327}],336:[function(require,module,exports){
51553
51977
  (function (global){(function (){
51554
51978
  'use strict';
51555
51979
 
@@ -52059,7 +52483,7 @@ var objectKeys = Object.keys || function (obj) {
52059
52483
  };
52060
52484
 
52061
52485
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
52062
- },{"object.assign/polyfill":379,"util/":336}],334:[function(require,module,exports){
52486
+ },{"object.assign/polyfill":382,"util/":339}],337:[function(require,module,exports){
52063
52487
  if (typeof Object.create === 'function') {
52064
52488
  // implementation from standard node.js 'util' module
52065
52489
  module.exports = function inherits(ctor, superCtor) {
@@ -52084,14 +52508,14 @@ if (typeof Object.create === 'function') {
52084
52508
  }
52085
52509
  }
52086
52510
 
52087
- },{}],335:[function(require,module,exports){
52511
+ },{}],338:[function(require,module,exports){
52088
52512
  module.exports = function isBuffer(arg) {
52089
52513
  return arg && typeof arg === 'object'
52090
52514
  && typeof arg.copy === 'function'
52091
52515
  && typeof arg.fill === 'function'
52092
52516
  && typeof arg.readUInt8 === 'function';
52093
52517
  }
52094
- },{}],336:[function(require,module,exports){
52518
+ },{}],339:[function(require,module,exports){
52095
52519
  (function (process,global){(function (){
52096
52520
  // Copyright Joyent, Inc. and other Node contributors.
52097
52521
  //
@@ -52681,7 +53105,7 @@ function hasOwnProperty(obj, prop) {
52681
53105
  }
52682
53106
 
52683
53107
  }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
52684
- },{"./support/isBuffer":335,"_process":381,"inherits":334}],337:[function(require,module,exports){
53108
+ },{"./support/isBuffer":338,"_process":384,"inherits":337}],340:[function(require,module,exports){
52685
53109
  (function (global){(function (){
52686
53110
  'use strict';
52687
53111
 
@@ -52702,7 +53126,7 @@ module.exports = function availableTypedArrays() {
52702
53126
  };
52703
53127
 
52704
53128
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
52705
- },{"possible-typed-array-names":380}],338:[function(require,module,exports){
53129
+ },{"possible-typed-array-names":383}],341:[function(require,module,exports){
52706
53130
  (function (process,global){(function (){
52707
53131
  module.exports = process.hrtime || hrtime
52708
53132
 
@@ -52733,7 +53157,7 @@ function hrtime(previousTimestamp){
52733
53157
  return [seconds,nanoseconds]
52734
53158
  }
52735
53159
  }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
52736
- },{"_process":381}],339:[function(require,module,exports){
53160
+ },{"_process":384}],342:[function(require,module,exports){
52737
53161
  'use strict';
52738
53162
 
52739
53163
  var GetIntrinsic = require('get-intrinsic');
@@ -52750,7 +53174,7 @@ module.exports = function callBoundIntrinsic(name, allowMissing) {
52750
53174
  return intrinsic;
52751
53175
  };
52752
53176
 
52753
- },{"./":340,"get-intrinsic":343}],340:[function(require,module,exports){
53177
+ },{"./":343,"get-intrinsic":346}],343:[function(require,module,exports){
52754
53178
  'use strict';
52755
53179
 
52756
53180
  var bind = require('function-bind');
@@ -52799,7 +53223,7 @@ if ($defineProperty) {
52799
53223
  module.exports.apply = applyBind;
52800
53224
  }
52801
53225
 
52802
- },{"function-bind":342,"get-intrinsic":343}],341:[function(require,module,exports){
53226
+ },{"function-bind":345,"get-intrinsic":346}],344:[function(require,module,exports){
52803
53227
  'use strict';
52804
53228
 
52805
53229
  /* eslint no-invalid-this: 1 */
@@ -52853,14 +53277,14 @@ module.exports = function bind(that) {
52853
53277
  return bound;
52854
53278
  };
52855
53279
 
52856
- },{}],342:[function(require,module,exports){
53280
+ },{}],345:[function(require,module,exports){
52857
53281
  'use strict';
52858
53282
 
52859
53283
  var implementation = require('./implementation');
52860
53284
 
52861
53285
  module.exports = Function.prototype.bind || implementation;
52862
53286
 
52863
- },{"./implementation":341}],343:[function(require,module,exports){
53287
+ },{"./implementation":344}],346:[function(require,module,exports){
52864
53288
  'use strict';
52865
53289
 
52866
53290
  var undefined;
@@ -53206,7 +53630,7 @@ module.exports = function GetIntrinsic(name, allowMissing) {
53206
53630
  return value;
53207
53631
  };
53208
53632
 
53209
- },{"function-bind":342,"has":367,"has-symbols":362}],344:[function(require,module,exports){
53633
+ },{"function-bind":345,"has":370,"has-symbols":365}],347:[function(require,module,exports){
53210
53634
  'use strict';
53211
53635
 
53212
53636
  var $defineProperty = require('es-define-property');
@@ -53264,7 +53688,7 @@ module.exports = function defineDataProperty(
53264
53688
  }
53265
53689
  };
53266
53690
 
53267
- },{"es-define-property":345,"es-errors/syntax":350,"es-errors/type":351,"gopd":357}],345:[function(require,module,exports){
53691
+ },{"es-define-property":348,"es-errors/syntax":353,"es-errors/type":354,"gopd":360}],348:[function(require,module,exports){
53268
53692
  'use strict';
53269
53693
 
53270
53694
  var GetIntrinsic = require('get-intrinsic');
@@ -53282,49 +53706,49 @@ if ($defineProperty) {
53282
53706
 
53283
53707
  module.exports = $defineProperty;
53284
53708
 
53285
- },{"get-intrinsic":356}],346:[function(require,module,exports){
53709
+ },{"get-intrinsic":359}],349:[function(require,module,exports){
53286
53710
  'use strict';
53287
53711
 
53288
53712
  /** @type {import('./eval')} */
53289
53713
  module.exports = EvalError;
53290
53714
 
53291
- },{}],347:[function(require,module,exports){
53715
+ },{}],350:[function(require,module,exports){
53292
53716
  'use strict';
53293
53717
 
53294
53718
  /** @type {import('.')} */
53295
53719
  module.exports = Error;
53296
53720
 
53297
- },{}],348:[function(require,module,exports){
53721
+ },{}],351:[function(require,module,exports){
53298
53722
  'use strict';
53299
53723
 
53300
53724
  /** @type {import('./range')} */
53301
53725
  module.exports = RangeError;
53302
53726
 
53303
- },{}],349:[function(require,module,exports){
53727
+ },{}],352:[function(require,module,exports){
53304
53728
  'use strict';
53305
53729
 
53306
53730
  /** @type {import('./ref')} */
53307
53731
  module.exports = ReferenceError;
53308
53732
 
53309
- },{}],350:[function(require,module,exports){
53733
+ },{}],353:[function(require,module,exports){
53310
53734
  'use strict';
53311
53735
 
53312
53736
  /** @type {import('./syntax')} */
53313
53737
  module.exports = SyntaxError;
53314
53738
 
53315
- },{}],351:[function(require,module,exports){
53739
+ },{}],354:[function(require,module,exports){
53316
53740
  'use strict';
53317
53741
 
53318
53742
  /** @type {import('./type')} */
53319
53743
  module.exports = TypeError;
53320
53744
 
53321
- },{}],352:[function(require,module,exports){
53745
+ },{}],355:[function(require,module,exports){
53322
53746
  'use strict';
53323
53747
 
53324
53748
  /** @type {import('./uri')} */
53325
53749
  module.exports = URIError;
53326
53750
 
53327
- },{}],353:[function(require,module,exports){
53751
+ },{}],356:[function(require,module,exports){
53328
53752
  'use strict';
53329
53753
 
53330
53754
  var isCallable = require('is-callable');
@@ -53388,7 +53812,7 @@ var forEach = function forEach(list, iterator, thisArg) {
53388
53812
 
53389
53813
  module.exports = forEach;
53390
53814
 
53391
- },{"is-callable":371}],354:[function(require,module,exports){
53815
+ },{"is-callable":374}],357:[function(require,module,exports){
53392
53816
  'use strict';
53393
53817
 
53394
53818
  /* eslint no-invalid-this: 1 */
@@ -53474,9 +53898,9 @@ module.exports = function bind(that) {
53474
53898
  return bound;
53475
53899
  };
53476
53900
 
53477
- },{}],355:[function(require,module,exports){
53478
- arguments[4][342][0].apply(exports,arguments)
53479
- },{"./implementation":354,"dup":342}],356:[function(require,module,exports){
53901
+ },{}],358:[function(require,module,exports){
53902
+ arguments[4][345][0].apply(exports,arguments)
53903
+ },{"./implementation":357,"dup":345}],359:[function(require,module,exports){
53480
53904
  'use strict';
53481
53905
 
53482
53906
  var undefined;
@@ -53837,7 +54261,7 @@ module.exports = function GetIntrinsic(name, allowMissing) {
53837
54261
  return value;
53838
54262
  };
53839
54263
 
53840
- },{"es-errors":347,"es-errors/eval":346,"es-errors/range":348,"es-errors/ref":349,"es-errors/syntax":350,"es-errors/type":351,"es-errors/uri":352,"function-bind":355,"has-proto":361,"has-symbols":362,"hasown":368}],357:[function(require,module,exports){
54264
+ },{"es-errors":350,"es-errors/eval":349,"es-errors/range":351,"es-errors/ref":352,"es-errors/syntax":353,"es-errors/type":354,"es-errors/uri":355,"function-bind":358,"has-proto":364,"has-symbols":365,"hasown":371}],360:[function(require,module,exports){
53841
54265
  'use strict';
53842
54266
 
53843
54267
  var GetIntrinsic = require('get-intrinsic');
@@ -53855,13 +54279,13 @@ if ($gOPD) {
53855
54279
 
53856
54280
  module.exports = $gOPD;
53857
54281
 
53858
- },{"get-intrinsic":360}],358:[function(require,module,exports){
53859
- arguments[4][341][0].apply(exports,arguments)
53860
- },{"dup":341}],359:[function(require,module,exports){
53861
- arguments[4][342][0].apply(exports,arguments)
53862
- },{"./implementation":358,"dup":342}],360:[function(require,module,exports){
53863
- arguments[4][343][0].apply(exports,arguments)
53864
- },{"dup":343,"function-bind":359,"has":367,"has-symbols":362}],361:[function(require,module,exports){
54282
+ },{"get-intrinsic":363}],361:[function(require,module,exports){
54283
+ arguments[4][344][0].apply(exports,arguments)
54284
+ },{"dup":344}],362:[function(require,module,exports){
54285
+ arguments[4][345][0].apply(exports,arguments)
54286
+ },{"./implementation":361,"dup":345}],363:[function(require,module,exports){
54287
+ arguments[4][346][0].apply(exports,arguments)
54288
+ },{"dup":346,"function-bind":362,"has":370,"has-symbols":365}],364:[function(require,module,exports){
53865
54289
  'use strict';
53866
54290
 
53867
54291
  var test = {
@@ -53874,7 +54298,7 @@ module.exports = function hasProto() {
53874
54298
  return { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);
53875
54299
  };
53876
54300
 
53877
- },{}],362:[function(require,module,exports){
54301
+ },{}],365:[function(require,module,exports){
53878
54302
  'use strict';
53879
54303
 
53880
54304
  var origSymbol = typeof Symbol !== 'undefined' && Symbol;
@@ -53889,7 +54313,7 @@ module.exports = function hasNativeSymbols() {
53889
54313
  return hasSymbolSham();
53890
54314
  };
53891
54315
 
53892
- },{"./shams":363}],363:[function(require,module,exports){
54316
+ },{"./shams":366}],366:[function(require,module,exports){
53893
54317
  'use strict';
53894
54318
 
53895
54319
  /* eslint complexity: [2, 18], max-statements: [2, 33] */
@@ -53933,7 +54357,7 @@ module.exports = function hasSymbols() {
53933
54357
  return true;
53934
54358
  };
53935
54359
 
53936
- },{}],364:[function(require,module,exports){
54360
+ },{}],367:[function(require,module,exports){
53937
54361
  'use strict';
53938
54362
 
53939
54363
  var hasSymbols = require('has-symbols/shams');
@@ -53942,18 +54366,18 @@ module.exports = function hasToStringTagShams() {
53942
54366
  return hasSymbols() && !!Symbol.toStringTag;
53943
54367
  };
53944
54368
 
53945
- },{"has-symbols/shams":363}],365:[function(require,module,exports){
53946
- arguments[4][341][0].apply(exports,arguments)
53947
- },{"dup":341}],366:[function(require,module,exports){
53948
- arguments[4][342][0].apply(exports,arguments)
53949
- },{"./implementation":365,"dup":342}],367:[function(require,module,exports){
54369
+ },{"has-symbols/shams":366}],368:[function(require,module,exports){
54370
+ arguments[4][344][0].apply(exports,arguments)
54371
+ },{"dup":344}],369:[function(require,module,exports){
54372
+ arguments[4][345][0].apply(exports,arguments)
54373
+ },{"./implementation":368,"dup":345}],370:[function(require,module,exports){
53950
54374
  'use strict';
53951
54375
 
53952
54376
  var bind = require('function-bind');
53953
54377
 
53954
54378
  module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
53955
54379
 
53956
- },{"function-bind":366}],368:[function(require,module,exports){
54380
+ },{"function-bind":369}],371:[function(require,module,exports){
53957
54381
  'use strict';
53958
54382
 
53959
54383
  var call = Function.prototype.call;
@@ -53963,7 +54387,7 @@ var bind = require('function-bind');
53963
54387
  /** @type {import('.')} */
53964
54388
  module.exports = bind.call(call, $hasOwn);
53965
54389
 
53966
- },{"function-bind":355}],369:[function(require,module,exports){
54390
+ },{"function-bind":358}],372:[function(require,module,exports){
53967
54391
  if (typeof Object.create === 'function') {
53968
54392
  // implementation from standard node.js 'util' module
53969
54393
  module.exports = function inherits(ctor, superCtor) {
@@ -53992,7 +54416,7 @@ if (typeof Object.create === 'function') {
53992
54416
  }
53993
54417
  }
53994
54418
 
53995
- },{}],370:[function(require,module,exports){
54419
+ },{}],373:[function(require,module,exports){
53996
54420
  'use strict';
53997
54421
 
53998
54422
  var hasToStringTag = require('has-tostringtag/shams')();
@@ -54027,7 +54451,7 @@ isStandardArguments.isLegacyArguments = isLegacyArguments; // for tests
54027
54451
 
54028
54452
  module.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;
54029
54453
 
54030
- },{"call-bind/callBound":339,"has-tostringtag/shams":364}],371:[function(require,module,exports){
54454
+ },{"call-bind/callBound":342,"has-tostringtag/shams":367}],374:[function(require,module,exports){
54031
54455
  'use strict';
54032
54456
 
54033
54457
  var fnToStr = Function.prototype.toString;
@@ -54130,7 +54554,7 @@ module.exports = reflectApply
54130
54554
  return tryFunctionObject(value);
54131
54555
  };
54132
54556
 
54133
- },{}],372:[function(require,module,exports){
54557
+ },{}],375:[function(require,module,exports){
54134
54558
  'use strict';
54135
54559
 
54136
54560
  var toStr = Object.prototype.toString;
@@ -54170,7 +54594,7 @@ module.exports = function isGeneratorFunction(fn) {
54170
54594
  return getProto(fn) === GeneratorFunction;
54171
54595
  };
54172
54596
 
54173
- },{"has-tostringtag/shams":364}],373:[function(require,module,exports){
54597
+ },{"has-tostringtag/shams":367}],376:[function(require,module,exports){
54174
54598
  'use strict';
54175
54599
 
54176
54600
  var whichTypedArray = require('which-typed-array');
@@ -54180,7 +54604,7 @@ module.exports = function isTypedArray(value) {
54180
54604
  return !!whichTypedArray(value);
54181
54605
  };
54182
54606
 
54183
- },{"which-typed-array":387}],374:[function(require,module,exports){
54607
+ },{"which-typed-array":390}],377:[function(require,module,exports){
54184
54608
  (function (global){(function (){
54185
54609
  /**
54186
54610
  * @license
@@ -71393,7 +71817,7 @@ module.exports = function isTypedArray(value) {
71393
71817
  }.call(this));
71394
71818
 
71395
71819
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
71396
- },{}],375:[function(require,module,exports){
71820
+ },{}],378:[function(require,module,exports){
71397
71821
  'use strict';
71398
71822
 
71399
71823
  var keysShim;
@@ -71517,7 +71941,7 @@ if (!Object.keys) {
71517
71941
  }
71518
71942
  module.exports = keysShim;
71519
71943
 
71520
- },{"./isArguments":377}],376:[function(require,module,exports){
71944
+ },{"./isArguments":380}],379:[function(require,module,exports){
71521
71945
  'use strict';
71522
71946
 
71523
71947
  var slice = Array.prototype.slice;
@@ -71551,7 +71975,7 @@ keysShim.shim = function shimObjectKeys() {
71551
71975
 
71552
71976
  module.exports = keysShim;
71553
71977
 
71554
- },{"./implementation":375,"./isArguments":377}],377:[function(require,module,exports){
71978
+ },{"./implementation":378,"./isArguments":380}],380:[function(require,module,exports){
71555
71979
  'use strict';
71556
71980
 
71557
71981
  var toStr = Object.prototype.toString;
@@ -71570,7 +71994,7 @@ module.exports = function isArguments(value) {
71570
71994
  return isArgs;
71571
71995
  };
71572
71996
 
71573
- },{}],378:[function(require,module,exports){
71997
+ },{}],381:[function(require,module,exports){
71574
71998
  'use strict';
71575
71999
 
71576
72000
  // modified from https://github.com/es-shims/es6-shim
@@ -71618,7 +72042,7 @@ module.exports = function assign(target, source1) {
71618
72042
  return to; // step 4
71619
72043
  };
71620
72044
 
71621
- },{"call-bind/callBound":339,"has-symbols/shams":363,"object-keys":376}],379:[function(require,module,exports){
72045
+ },{"call-bind/callBound":342,"has-symbols/shams":366,"object-keys":379}],382:[function(require,module,exports){
71622
72046
  'use strict';
71623
72047
 
71624
72048
  var implementation = require('./implementation');
@@ -71675,7 +72099,7 @@ module.exports = function getPolyfill() {
71675
72099
  return Object.assign;
71676
72100
  };
71677
72101
 
71678
- },{"./implementation":378}],380:[function(require,module,exports){
72102
+ },{"./implementation":381}],383:[function(require,module,exports){
71679
72103
  'use strict';
71680
72104
 
71681
72105
  /** @type {import('.')} */
@@ -71693,7 +72117,7 @@ module.exports = [
71693
72117
  'BigUint64Array'
71694
72118
  ];
71695
72119
 
71696
- },{}],381:[function(require,module,exports){
72120
+ },{}],384:[function(require,module,exports){
71697
72121
  // shim for using process in browser
71698
72122
  var process = module.exports = {};
71699
72123
 
@@ -71879,7 +72303,7 @@ process.chdir = function (dir) {
71879
72303
  };
71880
72304
  process.umask = function() { return 0; };
71881
72305
 
71882
- },{}],382:[function(require,module,exports){
72306
+ },{}],385:[function(require,module,exports){
71883
72307
  'use strict';
71884
72308
 
71885
72309
  var GetIntrinsic = require('get-intrinsic');
@@ -71923,7 +72347,7 @@ module.exports = function setFunctionLength(fn, length) {
71923
72347
  return fn;
71924
72348
  };
71925
72349
 
71926
- },{"define-data-property":344,"es-errors/type":351,"get-intrinsic":356,"gopd":357,"has-property-descriptors":383}],383:[function(require,module,exports){
72350
+ },{"define-data-property":347,"es-errors/type":354,"get-intrinsic":359,"gopd":360,"has-property-descriptors":386}],386:[function(require,module,exports){
71927
72351
  'use strict';
71928
72352
 
71929
72353
  var $defineProperty = require('es-define-property');
@@ -71947,9 +72371,9 @@ hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBu
71947
72371
 
71948
72372
  module.exports = hasPropertyDescriptors;
71949
72373
 
71950
- },{"es-define-property":345}],384:[function(require,module,exports){
71951
- arguments[4][335][0].apply(exports,arguments)
71952
- },{"dup":335}],385:[function(require,module,exports){
72374
+ },{"es-define-property":348}],387:[function(require,module,exports){
72375
+ arguments[4][338][0].apply(exports,arguments)
72376
+ },{"dup":338}],388:[function(require,module,exports){
71953
72377
  // Currently in sync with Node.js lib/internal/util/types.js
71954
72378
  // https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9
71955
72379
 
@@ -72285,7 +72709,7 @@ exports.isAnyArrayBuffer = isAnyArrayBuffer;
72285
72709
  });
72286
72710
  });
72287
72711
 
72288
- },{"is-arguments":370,"is-generator-function":372,"is-typed-array":373,"which-typed-array":387}],386:[function(require,module,exports){
72712
+ },{"is-arguments":373,"is-generator-function":375,"is-typed-array":376,"which-typed-array":390}],389:[function(require,module,exports){
72289
72713
  (function (process){(function (){
72290
72714
  // Copyright Joyent, Inc. and other Node contributors.
72291
72715
  //
@@ -73004,7 +73428,7 @@ function callbackify(original) {
73004
73428
  exports.callbackify = callbackify;
73005
73429
 
73006
73430
  }).call(this)}).call(this,require('_process'))
73007
- },{"./support/isBuffer":384,"./support/types":385,"_process":381,"inherits":369}],387:[function(require,module,exports){
73431
+ },{"./support/isBuffer":387,"./support/types":388,"_process":384,"inherits":372}],390:[function(require,module,exports){
73008
73432
  (function (global){(function (){
73009
73433
  'use strict';
73010
73434
 
@@ -73124,9 +73548,9 @@ module.exports = function whichTypedArray(value) {
73124
73548
  };
73125
73549
 
73126
73550
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
73127
- },{"available-typed-arrays":337,"call-bind":389,"call-bind/callBound":388,"for-each":353,"gopd":357,"has-tostringtag/shams":390}],388:[function(require,module,exports){
73128
- arguments[4][339][0].apply(exports,arguments)
73129
- },{"./":389,"dup":339,"get-intrinsic":356}],389:[function(require,module,exports){
73551
+ },{"available-typed-arrays":340,"call-bind":392,"call-bind/callBound":391,"for-each":356,"gopd":360,"has-tostringtag/shams":393}],391:[function(require,module,exports){
73552
+ arguments[4][342][0].apply(exports,arguments)
73553
+ },{"./":392,"dup":342,"get-intrinsic":359}],392:[function(require,module,exports){
73130
73554
  'use strict';
73131
73555
 
73132
73556
  var bind = require('function-bind');
@@ -73163,7 +73587,7 @@ if ($defineProperty) {
73163
73587
  module.exports.apply = applyBind;
73164
73588
  }
73165
73589
 
73166
- },{"es-define-property":345,"es-errors/type":351,"function-bind":355,"get-intrinsic":356,"set-function-length":382}],390:[function(require,module,exports){
73590
+ },{"es-define-property":348,"es-errors/type":354,"function-bind":358,"get-intrinsic":359,"set-function-length":385}],393:[function(require,module,exports){
73167
73591
  'use strict';
73168
73592
 
73169
73593
  var hasSymbols = require('has-symbols/shams');
@@ -73173,5 +73597,5 @@ module.exports = function hasToStringTagShams() {
73173
73597
  return hasSymbols() && !!Symbol.toStringTag;
73174
73598
  };
73175
73599
 
73176
- },{"has-symbols/shams":363}]},{},[113])(113)
73600
+ },{"has-symbols/shams":366}]},{},[116])(116)
73177
73601
  });