@designliquido/delegua 0.40.0 → 0.41.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/analisador-semantico/analisador-semantico-base.d.ts +4 -2
  2. package/analisador-semantico/analisador-semantico-base.d.ts.map +1 -1
  3. package/analisador-semantico/analisador-semantico-base.js +9 -3
  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 +2 -2
  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 +10 -6
  61. package/estruturas/delegua-funcao.js.map +1 -1
  62. package/formatadores/formatador-delegua.d.ts +6 -5
  63. package/formatadores/formatador-delegua.d.ts.map +1 -1
  64. package/formatadores/formatador-delegua.js +22 -3
  65. package/formatadores/formatador-delegua.js.map +1 -1
  66. package/formatadores/formatador-pitugues.d.ts +4 -2
  67. package/formatadores/formatador-pitugues.d.ts.map +1 -1
  68. package/formatadores/formatador-pitugues.js +7 -1
  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 +4 -2
  79. package/interfaces/visitante-comum-interface.d.ts.map +1 -1
  80. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +4 -2
  81. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts.map +1 -1
  82. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +7 -1
  83. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  84. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +5 -2
  85. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts.map +1 -1
  86. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +10 -1
  87. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
  88. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +4 -2
  89. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts.map +1 -1
  90. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +8 -2
  91. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  92. package/interpretador/interpretador-base.d.ts +4 -2
  93. package/interpretador/interpretador-base.d.ts.map +1 -1
  94. package/interpretador/interpretador-base.js +21 -11
  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 +864 -449
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,16 +4978,16 @@ 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) {
4916
- return Promise.resolve(visitante.visitarExpressaoDeleguaFuncao(this));
4985
+ return Promise.resolve(visitante.visitarExpressaoFuncaoConstruto(this));
4917
4986
  }
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;
@@ -6217,10 +6309,15 @@ class DeleguaFuncao extends chamavel_1.Chamavel {
6217
6309
  }
6218
6310
  else {
6219
6311
  let argumento = argumentos[i];
6220
- if (argumentos[i] === null) {
6221
- argumento = parametro['padrao'] ? parametro['padrao'].valor : null;
6312
+ if (argumento.valor === null) {
6313
+ argumentos[i].valor = 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,7 @@ 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
+ pilha.definirVariavel(referencia.parametro.nome.lexema, argumentoReferencia.valor);
6268
6364
  }
6269
6365
  if (retornoBloco instanceof quebras_1.RetornoQuebra) {
6270
6366
  return retornoBloco.valor;
@@ -6280,7 +6376,7 @@ class DeleguaFuncao extends chamavel_1.Chamavel {
6280
6376
  }
6281
6377
  exports.DeleguaFuncao = DeleguaFuncao;
6282
6378
 
6283
- },{"../declaracoes":81,"../espaco-variaveis":97,"../inferenciador":114,"../quebras":158,"./chamavel":98}],101:[function(require,module,exports){
6379
+ },{"../declaracoes":83,"../espaco-variaveis":99,"../inferenciador":117,"../quebras":161,"./chamavel":100}],103:[function(require,module,exports){
6284
6380
  "use strict";
6285
6381
  Object.defineProperty(exports, "__esModule", { value: true });
6286
6382
  exports.DescritorTipoClasse = void 0;
@@ -6361,7 +6457,7 @@ class DescritorTipoClasse extends chamavel_1.Chamavel {
6361
6457
  }
6362
6458
  exports.DescritorTipoClasse = DescritorTipoClasse;
6363
6459
 
6364
- },{"../excecoes":109,"./chamavel":98,"./objeto-delegua-classe":106}],102:[function(require,module,exports){
6460
+ },{"../excecoes":111,"./chamavel":100,"./objeto-delegua-classe":108}],104:[function(require,module,exports){
6365
6461
  "use strict";
6366
6462
  Object.defineProperty(exports, "__esModule", { value: true });
6367
6463
  exports.FuncaoPadrao = void 0;
@@ -6397,7 +6493,7 @@ class FuncaoPadrao extends chamavel_1.Chamavel {
6397
6493
  }
6398
6494
  exports.FuncaoPadrao = FuncaoPadrao;
6399
6495
 
6400
- },{"./chamavel":98}],103:[function(require,module,exports){
6496
+ },{"./chamavel":100}],105:[function(require,module,exports){
6401
6497
  "use strict";
6402
6498
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6403
6499
  if (k2 === undefined) k2 = k;
@@ -6424,7 +6520,7 @@ __exportStar(require("./modulo"), exports);
6424
6520
  __exportStar(require("./objeto-delegua-classe"), exports);
6425
6521
  __exportStar(require("./objeto-padrao"), exports);
6426
6522
 
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){
6523
+ },{"./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
6524
  "use strict";
6429
6525
  Object.defineProperty(exports, "__esModule", { value: true });
6430
6526
  exports.MetodoPrimitiva = void 0;
@@ -6466,7 +6562,7 @@ class MetodoPrimitiva extends chamavel_1.Chamavel {
6466
6562
  }
6467
6563
  exports.MetodoPrimitiva = MetodoPrimitiva;
6468
6564
 
6469
- },{"./chamavel":98}],105:[function(require,module,exports){
6565
+ },{"./chamavel":100}],107:[function(require,module,exports){
6470
6566
  "use strict";
6471
6567
  Object.defineProperty(exports, "__esModule", { value: true });
6472
6568
  exports.DeleguaModulo = void 0;
@@ -6492,7 +6588,7 @@ class DeleguaModulo {
6492
6588
  }
6493
6589
  exports.DeleguaModulo = DeleguaModulo;
6494
6590
 
6495
- },{}],106:[function(require,module,exports){
6591
+ },{}],108:[function(require,module,exports){
6496
6592
  "use strict";
6497
6593
  Object.defineProperty(exports, "__esModule", { value: true });
6498
6594
  exports.ObjetoDeleguaClasse = void 0;
@@ -6559,7 +6655,7 @@ class ObjetoDeleguaClasse {
6559
6655
  }
6560
6656
  exports.ObjetoDeleguaClasse = ObjetoDeleguaClasse;
6561
6657
 
6562
- },{"../excecoes":109}],107:[function(require,module,exports){
6658
+ },{"../excecoes":111}],109:[function(require,module,exports){
6563
6659
  "use strict";
6564
6660
  Object.defineProperty(exports, "__esModule", { value: true });
6565
6661
  exports.ObjetoPadrao = void 0;
@@ -6593,7 +6689,7 @@ class ObjetoPadrao {
6593
6689
  }
6594
6690
  exports.ObjetoPadrao = ObjetoPadrao;
6595
6691
 
6596
- },{}],108:[function(require,module,exports){
6692
+ },{}],110:[function(require,module,exports){
6597
6693
  "use strict";
6598
6694
  Object.defineProperty(exports, "__esModule", { value: true });
6599
6695
  exports.ErroEmTempoDeExecucao = void 0;
@@ -6608,7 +6704,7 @@ class ErroEmTempoDeExecucao extends Error {
6608
6704
  }
6609
6705
  exports.ErroEmTempoDeExecucao = ErroEmTempoDeExecucao;
6610
6706
 
6611
- },{}],109:[function(require,module,exports){
6707
+ },{}],111:[function(require,module,exports){
6612
6708
  "use strict";
6613
6709
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6614
6710
  if (k2 === undefined) k2 = k;
@@ -6627,7 +6723,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
6627
6723
  Object.defineProperty(exports, "__esModule", { value: true });
6628
6724
  __exportStar(require("./erro-em-tempo-de-execucao"), exports);
6629
6725
 
6630
- },{"./erro-em-tempo-de-execucao":108}],110:[function(require,module,exports){
6726
+ },{"./erro-em-tempo-de-execucao":110}],112:[function(require,module,exports){
6631
6727
  "use strict";
6632
6728
  var __importDefault = (this && this.__importDefault) || function (mod) {
6633
6729
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -6649,6 +6745,12 @@ class FormatadorDelegua {
6649
6745
  this.devePularLinha = true;
6650
6746
  this.deveIndentar = true;
6651
6747
  }
6748
+ visitarExpressaoArgumentoReferenciaFuncao(expressao) {
6749
+ this.codigoFormatado += expressao.simboloFuncao.lexema;
6750
+ }
6751
+ visitarExpressaoReferenciaFuncao(expressao) {
6752
+ this.codigoFormatado += expressao.simboloFuncao.lexema;
6753
+ }
6652
6754
  visitarExpressaoAcessoMetodo(expressao) {
6653
6755
  this.formatarDeclaracaoOuConstruto(expressao.objeto);
6654
6756
  this.codigoFormatado += '.';
@@ -6938,6 +7040,9 @@ class FormatadorDelegua {
6938
7040
  case delegua_1.default.ADICAO:
6939
7041
  this.codigoFormatado += ` + `;
6940
7042
  break;
7043
+ case delegua_1.default.DIFERENTE:
7044
+ this.codigoFormatado += ` != `;
7045
+ break;
6941
7046
  case delegua_1.default.DIVISAO:
6942
7047
  this.codigoFormatado += ` / `;
6943
7048
  break;
@@ -7028,9 +7133,6 @@ class FormatadorDelegua {
7028
7133
  this.formatarDeclaracaoOuConstruto(expressao.valor);
7029
7134
  this.codigoFormatado += `${this.quebraLinha}`;
7030
7135
  }
7031
- visitarExpressaoDeleguaFuncao(expressao) {
7032
- throw new Error('Método não implementado.');
7033
- }
7034
7136
  visitarExpressaoDeVariavel(expressao) {
7035
7137
  this.codigoFormatado += expressao.simbolo.lexema;
7036
7138
  }
@@ -7097,6 +7199,10 @@ class FormatadorDelegua {
7097
7199
  this.codigoFormatado += `'${expressao.valor}'`;
7098
7200
  return;
7099
7201
  }
7202
+ if (['logico', 'lógico'].includes(expressao.tipo)) {
7203
+ this.codigoFormatado += `${expressao.valor ? 'verdadeiro' : 'falso'}`;
7204
+ return;
7205
+ }
7100
7206
  this.codigoFormatado += expressao.valor;
7101
7207
  }
7102
7208
  visitarExpressaoLogica(expressao) {
@@ -7118,6 +7224,9 @@ class FormatadorDelegua {
7118
7224
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}retorna`;
7119
7225
  if (declaracao.valor) {
7120
7226
  this.codigoFormatado += ` `;
7227
+ if (declaracao.valor.constructor.name === 'FuncaoConstruto') {
7228
+ this.codigoFormatado += `função`;
7229
+ }
7121
7230
  this.formatarDeclaracaoOuConstruto(declaracao.valor);
7122
7231
  }
7123
7232
  this.codigoFormatado += `${this.quebraLinha}`;
@@ -7178,6 +7287,9 @@ class FormatadorDelegua {
7178
7287
  case 'Agrupamento':
7179
7288
  this.visitarExpressaoAgrupamento(declaracaoOuConstruto);
7180
7289
  break;
7290
+ case 'ArgumentoReferenciaFuncao':
7291
+ this.visitarExpressaoArgumentoReferenciaFuncao(declaracaoOuConstruto);
7292
+ break;
7181
7293
  case 'AtribuicaoPorIndice':
7182
7294
  this.visitarExpressaoAtribuicaoPorIndice(declaracaoOuConstruto);
7183
7295
  break;
@@ -7253,6 +7365,9 @@ class FormatadorDelegua {
7253
7365
  case 'ParaCada':
7254
7366
  this.visitarDeclaracaoParaCada(declaracaoOuConstruto);
7255
7367
  break;
7368
+ case 'ReferenciaFuncao':
7369
+ this.visitarExpressaoReferenciaFuncao(declaracaoOuConstruto);
7370
+ break;
7256
7371
  case 'Retorna':
7257
7372
  this.visitarExpressaoRetornar(declaracaoOuConstruto);
7258
7373
  break;
@@ -7310,7 +7425,183 @@ class FormatadorDelegua {
7310
7425
  }
7311
7426
  exports.FormatadorDelegua = FormatadorDelegua;
7312
7427
 
7313
- },{"../construtos":44,"../tipos-de-simbolos/delegua":162}],111:[function(require,module,exports){
7428
+ },{"../construtos":45,"../tipos-de-simbolos/delegua":165}],113:[function(require,module,exports){
7429
+ "use strict";
7430
+ Object.defineProperty(exports, "__esModule", { value: true });
7431
+ exports.FormatadorPitugues = void 0;
7432
+ class FormatadorPitugues {
7433
+ visitarExpressaoArgumentoReferenciaFuncao(expressao) {
7434
+ throw new Error('Método não implementado.');
7435
+ }
7436
+ visitarExpressaoReferenciaFuncao(expressao) {
7437
+ throw new Error('Método não implementado.');
7438
+ }
7439
+ visitarDeclaracaoAleatorio(declaracao) {
7440
+ throw new Error('Método não implementado.');
7441
+ }
7442
+ visitarDeclaracaoCabecalhoPrograma(declaracao) {
7443
+ throw new Error('Método não implementado.');
7444
+ }
7445
+ visitarDeclaracaoClasse(declaracao) {
7446
+ throw new Error('Método não implementado.');
7447
+ }
7448
+ visitarDeclaracaoComentario(declaracao) {
7449
+ throw new Error('Método não implementado.');
7450
+ }
7451
+ visitarDeclaracaoConst(declaracao) {
7452
+ throw new Error('Método não implementado.');
7453
+ }
7454
+ visitarDeclaracaoConstMultiplo(declaracao) {
7455
+ throw new Error('Método não implementado.');
7456
+ }
7457
+ visitarDeclaracaoDeExpressao(declaracao) {
7458
+ throw new Error('Método não implementado.');
7459
+ }
7460
+ visitarDeclaracaoDefinicaoFuncao(declaracao) {
7461
+ throw new Error('Método não implementado.');
7462
+ }
7463
+ visitarDeclaracaoEnquanto(declaracao) {
7464
+ throw new Error('Método não implementado.');
7465
+ }
7466
+ visitarDeclaracaoEscolha(declaracao) {
7467
+ throw new Error('Método não implementado.');
7468
+ }
7469
+ visitarDeclaracaoEscreva(declaracao) {
7470
+ throw new Error('Método não implementado.');
7471
+ }
7472
+ visitarDeclaracaoEscrevaMesmaLinha(declaracao) {
7473
+ throw new Error('Método não implementado.');
7474
+ }
7475
+ visitarDeclaracaoFazer(declaracao) {
7476
+ throw new Error('Método não implementado.');
7477
+ }
7478
+ visitarDeclaracaoImportar(declaracao) {
7479
+ throw new Error('Método não implementado.');
7480
+ }
7481
+ visitarDeclaracaoInicioAlgoritmo(declaracao) {
7482
+ throw new Error('Método não implementado.');
7483
+ }
7484
+ visitarDeclaracaoPara(declaracao) {
7485
+ throw new Error('Método não implementado.');
7486
+ }
7487
+ visitarDeclaracaoParaCada(declaracao) {
7488
+ throw new Error('Método não implementado.');
7489
+ }
7490
+ visitarDeclaracaoSe(declaracao) {
7491
+ throw new Error('Método não implementado.');
7492
+ }
7493
+ visitarDeclaracaoTendoComo(declaracao) {
7494
+ throw new Error('Método não implementado.');
7495
+ }
7496
+ visitarDeclaracaoTente(declaracao) {
7497
+ throw new Error('Método não implementado.');
7498
+ }
7499
+ visitarDeclaracaoVar(declaracao) {
7500
+ throw new Error('Método não implementado.');
7501
+ }
7502
+ visitarDeclaracaoVarMultiplo(declaracao) {
7503
+ throw new Error('Método não implementado.');
7504
+ }
7505
+ visitarExpressaoDeAtribuicao(expressao) {
7506
+ throw new Error('Método não implementado.');
7507
+ }
7508
+ visitarExpressaoAcessoIndiceVariavel(expressao) {
7509
+ throw new Error('Método não implementado.');
7510
+ }
7511
+ visitarExpressaoAcessoElementoMatriz(expressao) {
7512
+ throw new Error('Método não implementado.');
7513
+ }
7514
+ visitarExpressaoAcessoMetodo(expressao) {
7515
+ throw new Error('Método não implementado.');
7516
+ }
7517
+ visitarExpressaoAcessoMetodoOuPropriedade(expressao) {
7518
+ throw new Error('Método não implementado.');
7519
+ }
7520
+ visitarExpressaoAcessoPropriedade(expressao) {
7521
+ throw new Error('Método não implementado.');
7522
+ }
7523
+ visitarExpressaoAgrupamento(expressao) {
7524
+ throw new Error('Método não implementado.');
7525
+ }
7526
+ visitarExpressaoAtribuicaoPorIndice(expressao) {
7527
+ throw new Error('Método não implementado.');
7528
+ }
7529
+ visitarExpressaoAtribuicaoPorIndicesMatriz(expressao) {
7530
+ throw new Error('Método não implementado.');
7531
+ }
7532
+ visitarExpressaoBinaria(expressao) {
7533
+ throw new Error('Método não implementado.');
7534
+ }
7535
+ visitarExpressaoBloco(declaracao) {
7536
+ throw new Error('Método não implementado.');
7537
+ }
7538
+ visitarExpressaoContinua(declaracao) {
7539
+ throw new Error('Método não implementado.');
7540
+ }
7541
+ visitarExpressaoDeChamada(expressao) {
7542
+ throw new Error('Método não implementado.');
7543
+ }
7544
+ visitarExpressaoDefinirValor(expressao) {
7545
+ throw new Error('Método não implementado.');
7546
+ }
7547
+ visitarExpressaoFuncaoConstruto(expressao) {
7548
+ throw new Error('Método não implementado.');
7549
+ }
7550
+ visitarExpressaoDeVariavel(expressao) {
7551
+ throw new Error('Método não implementado.');
7552
+ }
7553
+ visitarExpressaoDicionario(expressao) {
7554
+ throw new Error('Método não implementado.');
7555
+ }
7556
+ visitarExpressaoExpressaoRegular(expressao) {
7557
+ throw new Error('Método não implementado.');
7558
+ }
7559
+ visitarExpressaoFalhar(expressao) {
7560
+ throw new Error('Método não implementado.');
7561
+ }
7562
+ visitarExpressaoFimPara(declaracao) {
7563
+ throw new Error('Método não implementado.');
7564
+ }
7565
+ visitarExpressaoFormatacaoEscrita(declaracao) {
7566
+ throw new Error('Método não implementado.');
7567
+ }
7568
+ visitarExpressaoIsto(expressao) {
7569
+ throw new Error('Método não implementado.');
7570
+ }
7571
+ visitarExpressaoLeia(expressao) {
7572
+ throw new Error('Método não implementado.');
7573
+ }
7574
+ visitarExpressaoLiteral(expressao) {
7575
+ throw new Error('Método não implementado.');
7576
+ }
7577
+ visitarExpressaoLogica(expressao) {
7578
+ throw new Error('Método não implementado.');
7579
+ }
7580
+ visitarExpressaoRetornar(declaracao) {
7581
+ throw new Error('Método não implementado.');
7582
+ }
7583
+ visitarExpressaoSuper(expressao) {
7584
+ throw new Error('Método não implementado.');
7585
+ }
7586
+ visitarExpressaoSustar(declaracao) {
7587
+ throw new Error('Método não implementado.');
7588
+ }
7589
+ visitarExpressaoTupla(expressao) {
7590
+ throw new Error('Método não implementado.');
7591
+ }
7592
+ visitarExpressaoTipoDe(expressao) {
7593
+ throw new Error('Método não implementado.');
7594
+ }
7595
+ visitarExpressaoUnaria(expressao) {
7596
+ throw new Error('Método não implementado.');
7597
+ }
7598
+ visitarExpressaoVetor(expressao) {
7599
+ throw new Error('Método não implementado.');
7600
+ }
7601
+ }
7602
+ exports.FormatadorPitugues = FormatadorPitugues;
7603
+
7604
+ },{}],114:[function(require,module,exports){
7314
7605
  "use strict";
7315
7606
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7316
7607
  if (k2 === undefined) k2 = k;
@@ -7328,8 +7619,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
7328
7619
  };
7329
7620
  Object.defineProperty(exports, "__esModule", { value: true });
7330
7621
  __exportStar(require("./formatador-delegua"), exports);
7622
+ __exportStar(require("./formatador-pitugues"), exports);
7331
7623
 
7332
- },{"./formatador-delegua":110}],112:[function(require,module,exports){
7624
+ },{"./formatador-delegua":112,"./formatador-pitugues":113}],115:[function(require,module,exports){
7333
7625
  "use strict";
7334
7626
  Object.defineProperty(exports, "__esModule", { value: true });
7335
7627
  exports.uuidv4 = uuidv4;
@@ -7353,7 +7645,7 @@ function uuidv4() {
7353
7645
  });
7354
7646
  }
7355
7647
 
7356
- },{}],113:[function(require,module,exports){
7648
+ },{}],116:[function(require,module,exports){
7357
7649
  "use strict";
7358
7650
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7359
7651
  if (k2 === undefined) k2 = k;
@@ -7382,7 +7674,7 @@ __exportStar(require("./interpretador"), exports);
7382
7674
  __exportStar(require("./lexador"), exports);
7383
7675
  __exportStar(require("./tradutores"), exports);
7384
7676
 
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){
7677
+ },{"./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
7678
  "use strict";
7387
7679
  var __importDefault = (this && this.__importDefault) || function (mod) {
7388
7680
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -7509,15 +7801,15 @@ function tipoInferenciaParaTipoDadosElementar(tipoInferencia) {
7509
7801
  }
7510
7802
  }
7511
7803
 
7512
- },{"./tipos-de-dados/delegua":159,"./tipos-de-dados/primitivos":160,"./tipos-de-simbolos/delegua":162}],115:[function(require,module,exports){
7804
+ },{"./tipos-de-dados/delegua":162,"./tipos-de-dados/primitivos":163,"./tipos-de-simbolos/delegua":165}],118:[function(require,module,exports){
7513
7805
  "use strict";
7514
7806
  Object.defineProperty(exports, "__esModule", { value: true });
7515
7807
 
7516
- },{}],116:[function(require,module,exports){
7808
+ },{}],119:[function(require,module,exports){
7517
7809
  "use strict";
7518
7810
  Object.defineProperty(exports, "__esModule", { value: true });
7519
7811
 
7520
- },{}],117:[function(require,module,exports){
7812
+ },{}],120:[function(require,module,exports){
7521
7813
  "use strict";
7522
7814
  Object.defineProperty(exports, "__esModule", { value: true });
7523
7815
  exports.DiagnosticoSeveridade = void 0;
@@ -7529,7 +7821,7 @@ var DiagnosticoSeveridade;
7529
7821
  DiagnosticoSeveridade[DiagnosticoSeveridade["SUGESTAO"] = 3] = "SUGESTAO";
7530
7822
  })(DiagnosticoSeveridade || (exports.DiagnosticoSeveridade = DiagnosticoSeveridade = {}));
7531
7823
 
7532
- },{}],118:[function(require,module,exports){
7824
+ },{}],121:[function(require,module,exports){
7533
7825
  "use strict";
7534
7826
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7535
7827
  if (k2 === undefined) k2 = k;
@@ -7548,11 +7840,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
7548
7840
  Object.defineProperty(exports, "__esModule", { value: true });
7549
7841
  __exportStar(require("./diagnostico-analisador-semantico"), exports);
7550
7842
 
7551
- },{"./diagnostico-analisador-semantico":117}],119:[function(require,module,exports){
7843
+ },{"./diagnostico-analisador-semantico":120}],122:[function(require,module,exports){
7552
7844
  "use strict";
7553
7845
  Object.defineProperty(exports, "__esModule", { value: true });
7554
7846
 
7555
- },{}],120:[function(require,module,exports){
7847
+ },{}],123:[function(require,module,exports){
7556
7848
  "use strict";
7557
7849
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7558
7850
  if (k2 === undefined) k2 = k;
@@ -7587,35 +7879,35 @@ __exportStar(require("./construtos"), exports);
7587
7879
  __exportStar(require("./erros"), exports);
7588
7880
  __exportStar(require("./retornos"), exports);
7589
7881
 
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){
7882
+ },{"./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
7883
  "use strict";
7592
7884
  Object.defineProperty(exports, "__esModule", { value: true });
7593
7885
 
7594
- },{}],122:[function(require,module,exports){
7886
+ },{}],125:[function(require,module,exports){
7595
7887
  "use strict";
7596
7888
  Object.defineProperty(exports, "__esModule", { value: true });
7597
7889
 
7598
- },{}],123:[function(require,module,exports){
7890
+ },{}],126:[function(require,module,exports){
7599
7891
  "use strict";
7600
7892
  Object.defineProperty(exports, "__esModule", { value: true });
7601
7893
 
7602
- },{}],124:[function(require,module,exports){
7894
+ },{}],127:[function(require,module,exports){
7603
7895
  "use strict";
7604
7896
  Object.defineProperty(exports, "__esModule", { value: true });
7605
7897
 
7606
- },{}],125:[function(require,module,exports){
7898
+ },{}],128:[function(require,module,exports){
7607
7899
  "use strict";
7608
7900
  Object.defineProperty(exports, "__esModule", { value: true });
7609
7901
 
7610
- },{}],126:[function(require,module,exports){
7902
+ },{}],129:[function(require,module,exports){
7611
7903
  "use strict";
7612
7904
  Object.defineProperty(exports, "__esModule", { value: true });
7613
7905
 
7614
- },{}],127:[function(require,module,exports){
7906
+ },{}],130:[function(require,module,exports){
7615
7907
  "use strict";
7616
7908
  Object.defineProperty(exports, "__esModule", { value: true });
7617
7909
 
7618
- },{}],128:[function(require,module,exports){
7910
+ },{}],131:[function(require,module,exports){
7619
7911
  "use strict";
7620
7912
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7621
7913
  if (k2 === undefined) k2 = k;
@@ -7637,39 +7929,39 @@ __exportStar(require("./retorno-execucao-interface"), exports);
7637
7929
  __exportStar(require("./retorno-interpretador"), exports);
7638
7930
  __exportStar(require("./retorno-lexador"), exports);
7639
7931
 
7640
- },{"./retorno-avaliador-sintatico":129,"./retorno-execucao-interface":130,"./retorno-interpretador":131,"./retorno-lexador":132}],129:[function(require,module,exports){
7932
+ },{"./retorno-avaliador-sintatico":132,"./retorno-execucao-interface":133,"./retorno-interpretador":134,"./retorno-lexador":135}],132:[function(require,module,exports){
7641
7933
  "use strict";
7642
7934
  Object.defineProperty(exports, "__esModule", { value: true });
7643
7935
 
7644
- },{}],130:[function(require,module,exports){
7936
+ },{}],133:[function(require,module,exports){
7645
7937
  "use strict";
7646
7938
  Object.defineProperty(exports, "__esModule", { value: true });
7647
7939
 
7648
- },{}],131:[function(require,module,exports){
7940
+ },{}],134:[function(require,module,exports){
7649
7941
  "use strict";
7650
7942
  Object.defineProperty(exports, "__esModule", { value: true });
7651
7943
 
7652
- },{}],132:[function(require,module,exports){
7944
+ },{}],135:[function(require,module,exports){
7653
7945
  "use strict";
7654
7946
  Object.defineProperty(exports, "__esModule", { value: true });
7655
7947
 
7656
- },{}],133:[function(require,module,exports){
7948
+ },{}],136:[function(require,module,exports){
7657
7949
  "use strict";
7658
7950
  Object.defineProperty(exports, "__esModule", { value: true });
7659
7951
 
7660
- },{}],134:[function(require,module,exports){
7952
+ },{}],137:[function(require,module,exports){
7661
7953
  "use strict";
7662
7954
  Object.defineProperty(exports, "__esModule", { value: true });
7663
7955
 
7664
- },{}],135:[function(require,module,exports){
7956
+ },{}],138:[function(require,module,exports){
7665
7957
  "use strict";
7666
7958
  Object.defineProperty(exports, "__esModule", { value: true });
7667
7959
 
7668
- },{}],136:[function(require,module,exports){
7960
+ },{}],139:[function(require,module,exports){
7669
7961
  "use strict";
7670
7962
  Object.defineProperty(exports, "__esModule", { value: true });
7671
7963
 
7672
- },{}],137:[function(require,module,exports){
7964
+ },{}],140:[function(require,module,exports){
7673
7965
  "use strict";
7674
7966
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7675
7967
  if (k2 === undefined) k2 = k;
@@ -7732,7 +8024,7 @@ function carregarBibliotecasGlobais(pilhaEscoposExecucao) {
7732
8024
  pilhaEscoposExecucao.definirVariavel('tupla', new funcao_padrao_1.FuncaoPadrao(1, bibliotecaGlobal.tupla));
7733
8025
  }
7734
8026
 
7735
- },{"../bibliotecas/biblioteca-global":17,"../estruturas/funcao-padrao":102}],138:[function(require,module,exports){
8027
+ },{"../bibliotecas/biblioteca-global":17,"../estruturas/funcao-padrao":104}],141:[function(require,module,exports){
7736
8028
  "use strict";
7737
8029
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7738
8030
  if (k2 === undefined) k2 = k;
@@ -7753,7 +8045,7 @@ __exportStar(require("./interpretador"), exports);
7753
8045
  __exportStar(require("./interpretador-base"), exports);
7754
8046
  __exportStar(require("./interpretador-com-depuracao"), exports);
7755
8047
 
7756
- },{"./interpretador":141,"./interpretador-base":139,"./interpretador-com-depuracao":140}],139:[function(require,module,exports){
8048
+ },{"./interpretador":144,"./interpretador-base":142,"./interpretador-com-depuracao":143}],142:[function(require,module,exports){
7757
8049
  (function (process){(function (){
7758
8050
  "use strict";
7759
8051
  var __importDefault = (this && this.__importDefault) || function (mod) {
@@ -7829,6 +8121,12 @@ class InterpretadorBase {
7829
8121
  this.pilhaEscoposExecucao.empilhar(escopoExecucao);
7830
8122
  (0, comum_1.carregarBibliotecasGlobais)(this.pilhaEscoposExecucao);
7831
8123
  }
8124
+ visitarExpressaoArgumentoReferenciaFuncao(expressao) {
8125
+ throw new Error('Método não implementado.');
8126
+ }
8127
+ visitarExpressaoReferenciaFuncao(expressao) {
8128
+ throw new Error('Método não implementado.');
8129
+ }
7832
8130
  visitarExpressaoAcessoMetodo(expressao) {
7833
8131
  throw new Error('Método não implementado.');
7834
8132
  }
@@ -8232,11 +8530,14 @@ class InterpretadorBase {
8232
8530
  }
8233
8531
  const argumentos = await this.resolverArgumentosChamada(expressao);
8234
8532
  const aridade = entidadeChamada.aridade ? entidadeChamada.aridade() : entidadeChamada.length;
8235
- // Completar os parâmetros não preenchidos com nulos.
8533
+ // Completar os argumentos não preenchidos com valores indefinidos.
8236
8534
  if (argumentos.length < aridade) {
8237
8535
  const diferenca = aridade - argumentos.length;
8238
8536
  for (let i = 0; i < diferenca; i++) {
8239
- argumentos.push(null);
8537
+ argumentos.push({
8538
+ nome: null,
8539
+ valor: null
8540
+ });
8240
8541
  }
8241
8542
  }
8242
8543
  if (entidadeChamada instanceof estruturas_1.FuncaoPadrao) {
@@ -8268,7 +8569,7 @@ class InterpretadorBase {
8268
8569
  }
8269
8570
  // A função chamada pode ser de uma biblioteca JavaScript.
8270
8571
  // Neste caso apenas testamos se o tipo é uma função.
8271
- // TODO: Descobrir qual caso exatamente passa aqui.
8572
+ // Casos que passam aqui: chamadas a métodos de bibliotecas de Delégua.
8272
8573
  if (typeof entidadeChamada === primitivos_1.default.FUNCAO) {
8273
8574
  let objeto = null;
8274
8575
  if (expressao.entidadeChamada.objeto) {
@@ -8689,8 +8990,8 @@ class InterpretadorBase {
8689
8990
  valor = await this.avaliar(declaracao.valor);
8690
8991
  return new quebras_1.RetornoQuebra(valor);
8691
8992
  }
8692
- async visitarExpressaoDeleguaFuncao(corpoDeclaracao) {
8693
- return new estruturas_1.DeleguaFuncao(null, corpoDeclaracao);
8993
+ async visitarExpressaoFuncaoConstruto(funcaoConstruto) {
8994
+ return new estruturas_1.DeleguaFuncao(null, funcaoConstruto);
8694
8995
  }
8695
8996
  async visitarExpressaoAtribuicaoPorIndice(expressao) {
8696
8997
  const promises = await Promise.all([
@@ -9020,14 +9321,15 @@ class InterpretadorBase {
9020
9321
  }
9021
9322
  }
9022
9323
  if (typeof objeto === primitivos_1.default.OBJETO) {
9023
- for (const obj in objeto) {
9024
- let valor = objeto[obj];
9324
+ const objetoEscrita = {};
9325
+ for (const propriedade in objeto) {
9326
+ let valor = objeto[propriedade];
9025
9327
  if (typeof valor === primitivos_1.default.BOOLEANO) {
9026
9328
  valor = valor ? 'verdadeiro' : 'falso';
9027
- objeto[obj] = valor;
9028
9329
  }
9330
+ objetoEscrita[propriedade] = valor;
9029
9331
  }
9030
- return JSON.stringify(objeto);
9332
+ return JSON.stringify(objetoEscrita);
9031
9333
  }
9032
9334
  return objeto.toString();
9033
9335
  }
@@ -9060,8 +9362,8 @@ class InterpretadorBase {
9060
9362
  */
9061
9363
  async executarUltimoEscopo(manterAmbiente = false) {
9062
9364
  const ultimoEscopo = this.pilhaEscoposExecucao.topoDaPilha();
9365
+ let retornoExecucao;
9063
9366
  try {
9064
- let retornoExecucao;
9065
9367
  for (; !(retornoExecucao instanceof quebras_1.Quebra) && ultimoEscopo.declaracaoAtual < ultimoEscopo.declaracoes.length; ultimoEscopo.declaracaoAtual++) {
9066
9368
  retornoExecucao = await this.executar(ultimoEscopo.declaracoes[ultimoEscopo.declaracaoAtual]);
9067
9369
  }
@@ -9083,7 +9385,7 @@ class InterpretadorBase {
9083
9385
  finally {
9084
9386
  this.pilhaEscoposExecucao.removerUltimo();
9085
9387
  const escopoAnterior = this.pilhaEscoposExecucao.topoDaPilha();
9086
- if (manterAmbiente) {
9388
+ if (manterAmbiente || (retornoExecucao && retornoExecucao.preservarEscopo === true)) {
9087
9389
  escopoAnterior.ambiente.valores = Object.assign(escopoAnterior.ambiente.valores, ultimoEscopo.ambiente.valores);
9088
9390
  }
9089
9391
  }
@@ -9135,7 +9437,7 @@ class InterpretadorBase {
9135
9437
  exports.InterpretadorBase = InterpretadorBase;
9136
9438
 
9137
9439
  }).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){
9440
+ },{"../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
9441
  "use strict";
9140
9442
  var __importDefault = (this && this.__importDefault) || function (mod) {
9141
9443
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -9707,7 +10009,7 @@ class InterpretadorComDepuracao extends interpretador_base_1.InterpretadorBase {
9707
10009
  }
9708
10010
  exports.InterpretadorComDepuracao = InterpretadorComDepuracao;
9709
10011
 
9710
- },{"../declaracoes":81,"../espaco-variaveis":97,"../inferenciador":114,"../quebras":158,"./interpretador-base":139,"lodash":374}],141:[function(require,module,exports){
10012
+ },{"../declaracoes":83,"../espaco-variaveis":99,"../inferenciador":117,"../quebras":161,"./interpretador-base":142,"lodash":377}],144:[function(require,module,exports){
9711
10013
  "use strict";
9712
10014
  var __importDefault = (this && this.__importDefault) || function (mod) {
9713
10015
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -9716,18 +10018,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
9716
10018
  exports.Interpretador = void 0;
9717
10019
  const estruturas_1 = require("../estruturas");
9718
10020
  const interpretador_base_1 = require("./interpretador-base");
10021
+ const inferenciador_1 = require("../inferenciador");
10022
+ const excecoes_1 = require("../excecoes");
9719
10023
  const primitivas_dicionario_1 = __importDefault(require("../bibliotecas/primitivas-dicionario"));
9720
10024
  const primitivas_numero_1 = __importDefault(require("../bibliotecas/primitivas-numero"));
9721
10025
  const primitivas_texto_1 = __importDefault(require("../bibliotecas/primitivas-texto"));
9722
10026
  const primitivas_vetor_1 = __importDefault(require("../bibliotecas/primitivas-vetor"));
9723
10027
  const primitivos_1 = __importDefault(require("../tipos-de-dados/primitivos"));
9724
10028
  const delegua_1 = __importDefault(require("../tipos-de-dados/delegua"));
9725
- const inferenciador_1 = require("../inferenciador");
9726
- const excecoes_1 = require("../excecoes");
10029
+ const quebras_1 = require("../quebras");
9727
10030
  /**
9728
10031
  * O interpretador de Delégua.
9729
10032
  */
9730
10033
  class Interpretador extends interpretador_base_1.InterpretadorBase {
10034
+ visitarDeclaracaoDefinicaoFuncao(declaracao) {
10035
+ const funcao = new estruturas_1.DeleguaFuncao(declaracao.simbolo.lexema, declaracao.funcao);
10036
+ // TODO: Depreciar essa abordagem a favor do uso por referências.
10037
+ this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, funcao);
10038
+ this.pilhaEscoposExecucao.registrarReferenciaFuncao(declaracao.id, funcao);
10039
+ }
9731
10040
  async visitarExpressaoAcessoMetodo(expressao) {
9732
10041
  let variavelObjeto = await this.avaliar(expressao.objeto);
9733
10042
  // Este caso acontece quando há encadeamento de métodos.
@@ -9874,6 +10183,28 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
9874
10183
  }
9875
10184
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(null, `Método para objeto ou primitiva não encontrado: ${expressao.nomePropriedade}.`, expressao.linha));
9876
10185
  }
10186
+ async visitarExpressaoArgumentoReferenciaFuncao(expressao) {
10187
+ const deleguaFuncao = this.pilhaEscoposExecucao.obterVariavelPorNome(expressao.simboloFuncao.lexema);
10188
+ return deleguaFuncao;
10189
+ }
10190
+ async visitarExpressaoReferenciaFuncao(expressao) {
10191
+ const deleguaFuncao = this.pilhaEscoposExecucao.obterReferenciaFuncao(expressao.idFuncao);
10192
+ return deleguaFuncao;
10193
+ }
10194
+ async visitarExpressaoRetornar(declaracao) {
10195
+ let valor = null;
10196
+ if (declaracao.valor !== null) {
10197
+ valor = await this.avaliar(declaracao.valor);
10198
+ }
10199
+ const retornoQuebra = new quebras_1.RetornoQuebra(valor);
10200
+ // Se o retorno for uma função anônima, o escopo precisa ser preservado.
10201
+ // Como quebras matam o topo da pilha de escopos, precisamos dizer
10202
+ // para a finalização para copiar as variáveis para o escopo de baixo.
10203
+ if (retornoQuebra.valor.constructor.name === 'DeleguaFuncao') {
10204
+ retornoQuebra.preservarEscopo = true;
10205
+ }
10206
+ return retornoQuebra;
10207
+ }
9877
10208
  async visitarExpressaoTipoDe(expressao) {
9878
10209
  let valorTipoDe = expressao.valor;
9879
10210
  switch (valorTipoDe.constructor.name) {
@@ -9916,7 +10247,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
9916
10247
  }
9917
10248
  exports.Interpretador = Interpretador;
9918
10249
 
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){
10250
+ },{"../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
10251
  "use strict";
9921
10252
  var __importDefault = (this && this.__importDefault) || function (mod) {
9922
10253
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -10153,7 +10484,7 @@ class PilhaEscoposExecucao {
10153
10484
  * Obtém todas as declarações de classe do último escopo.
10154
10485
  * @returns
10155
10486
  */
10156
- obterTodasDeclaracaoClasse() {
10487
+ obterTodasDeclaracoesClasse() {
10157
10488
  const retorno = {};
10158
10489
  const ambiente = this.pilha[this.pilha.length - 1].ambiente;
10159
10490
  for (const [nome, corpo] of Object.entries(ambiente.valores)) {
@@ -10164,10 +10495,23 @@ class PilhaEscoposExecucao {
10164
10495
  }
10165
10496
  return retorno;
10166
10497
  }
10498
+ registrarReferenciaFuncao(idFuncao, funcao) {
10499
+ const ambiente = this.pilha[this.pilha.length - 1].ambiente;
10500
+ ambiente.referencias[idFuncao] = funcao;
10501
+ }
10502
+ obterReferenciaFuncao(idFuncao) {
10503
+ for (let i = 1; i <= this.pilha.length; i++) {
10504
+ const ambiente = this.pilha[this.pilha.length - i].ambiente;
10505
+ if (ambiente.referencias[idFuncao] !== undefined) {
10506
+ return ambiente.referencias[idFuncao];
10507
+ }
10508
+ }
10509
+ throw new excecoes_1.ErroEmTempoDeExecucao(new lexador_1.Simbolo('especial', idFuncao, idFuncao, -1, -1), "Referência para função não encontrada: '" + idFuncao + "'.");
10510
+ }
10167
10511
  }
10168
10512
  exports.PilhaEscoposExecucao = PilhaEscoposExecucao;
10169
10513
 
10170
- },{"../estruturas":103,"../excecoes":109,"../inferenciador":114,"../lexador":151,"../tipos-de-dados/delegua":159}],143:[function(require,module,exports){
10514
+ },{"../estruturas":105,"../excecoes":111,"../inferenciador":117,"../lexador":154,"../tipos-de-dados/delegua":162}],146:[function(require,module,exports){
10171
10515
  "use strict";
10172
10516
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10173
10517
  if (k2 === undefined) k2 = k;
@@ -10189,7 +10533,7 @@ __exportStar(require("./lexador-pitugues"), exports);
10189
10533
  __exportStar(require("./lexador-guarani"), exports);
10190
10534
  __exportStar(require("./lexador-portugol-ipt"), exports);
10191
10535
 
10192
- },{"./lexador-egua-classico":144,"./lexador-guarani":145,"./lexador-pitugues":146,"./lexador-portugol-ipt":147}],144:[function(require,module,exports){
10536
+ },{"./lexador-egua-classico":147,"./lexador-guarani":148,"./lexador-pitugues":149,"./lexador-portugol-ipt":150}],147:[function(require,module,exports){
10193
10537
  "use strict";
10194
10538
  var __importDefault = (this && this.__importDefault) || function (mod) {
10195
10539
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -10477,7 +10821,7 @@ class LexadorEguaClassico {
10477
10821
  }
10478
10822
  exports.LexadorEguaClassico = LexadorEguaClassico;
10479
10823
 
10480
- },{"../../tipos-de-simbolos/egua-classico":163,"../simbolo":157,"./palavras-reservadas/egua-classico":148}],145:[function(require,module,exports){
10824
+ },{"../../tipos-de-simbolos/egua-classico":166,"../simbolo":160,"./palavras-reservadas/egua-classico":151}],148:[function(require,module,exports){
10481
10825
  "use strict";
10482
10826
  var __importDefault = (this && this.__importDefault) || function (mod) {
10483
10827
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -10592,7 +10936,7 @@ class LexadorGuarani extends lexador_base_1.LexadorBase {
10592
10936
  }
10593
10937
  exports.LexadorGuarani = LexadorGuarani;
10594
10938
 
10595
- },{"../../tipos-de-simbolos/guarani":164,"../lexador-base":153,"./palavras-reservadas/guarani":149}],146:[function(require,module,exports){
10939
+ },{"../../tipos-de-simbolos/guarani":167,"../lexador-base":156,"./palavras-reservadas/guarani":152}],149:[function(require,module,exports){
10596
10940
  "use strict";
10597
10941
  var __importDefault = (this && this.__importDefault) || function (mod) {
10598
10942
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -10992,7 +11336,7 @@ class LexadorPitugues {
10992
11336
  }
10993
11337
  exports.LexadorPitugues = LexadorPitugues;
10994
11338
 
10995
- },{"../../tipos-de-simbolos/pitugues":166,"../palavras-reservadas":156,"../simbolo":157,"browser-process-hrtime":338}],147:[function(require,module,exports){
11339
+ },{"../../tipos-de-simbolos/pitugues":169,"../palavras-reservadas":159,"../simbolo":160,"browser-process-hrtime":341}],150:[function(require,module,exports){
10996
11340
  "use strict";
10997
11341
  var __importDefault = (this && this.__importDefault) || function (mod) {
10998
11342
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -11231,7 +11575,7 @@ class LexadorPortugolIpt {
11231
11575
  }
11232
11576
  exports.LexadorPortugolIpt = LexadorPortugolIpt;
11233
11577
 
11234
- },{"../../tipos-de-simbolos/portugol-ipt":167,"../simbolo":157,"./palavras-reservadas/portugol-ipt":150}],148:[function(require,module,exports){
11578
+ },{"../../tipos-de-simbolos/portugol-ipt":170,"../simbolo":160,"./palavras-reservadas/portugol-ipt":153}],151:[function(require,module,exports){
11235
11579
  "use strict";
11236
11580
  var __importDefault = (this && this.__importDefault) || function (mod) {
11237
11581
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -11272,7 +11616,7 @@ exports.palavrasReservadas = {
11272
11616
  verdadeiro: egua_classico_1.default.VERDADEIRO,
11273
11617
  };
11274
11618
 
11275
- },{"../../../tipos-de-simbolos/egua-classico":163}],149:[function(require,module,exports){
11619
+ },{"../../../tipos-de-simbolos/egua-classico":166}],152:[function(require,module,exports){
11276
11620
  "use strict";
11277
11621
  var __importDefault = (this && this.__importDefault) || function (mod) {
11278
11622
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -11284,7 +11628,7 @@ exports.palavrasReservadas = {
11284
11628
  hai: guarani_1.default.HAI,
11285
11629
  };
11286
11630
 
11287
- },{"../../../tipos-de-simbolos/guarani":164}],150:[function(require,module,exports){
11631
+ },{"../../../tipos-de-simbolos/guarani":167}],153:[function(require,module,exports){
11288
11632
  "use strict";
11289
11633
  var __importDefault = (this && this.__importDefault) || function (mod) {
11290
11634
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -11306,7 +11650,7 @@ exports.palavrasReservadas = {
11306
11650
  senão: portugol_ipt_1.default.SENAO,
11307
11651
  };
11308
11652
 
11309
- },{"../../../tipos-de-simbolos/portugol-ipt":167}],151:[function(require,module,exports){
11653
+ },{"../../../tipos-de-simbolos/portugol-ipt":170}],154:[function(require,module,exports){
11310
11654
  "use strict";
11311
11655
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11312
11656
  if (k2 === undefined) k2 = k;
@@ -11328,7 +11672,7 @@ __exportStar(require("./lexador-base-linha-unica"), exports);
11328
11672
  __exportStar(require("./micro-lexador"), exports);
11329
11673
  __exportStar(require("./simbolo"), exports);
11330
11674
 
11331
- },{"./lexador":154,"./lexador-base-linha-unica":152,"./micro-lexador":155,"./simbolo":157}],152:[function(require,module,exports){
11675
+ },{"./lexador":157,"./lexador-base-linha-unica":155,"./micro-lexador":158,"./simbolo":160}],155:[function(require,module,exports){
11332
11676
  "use strict";
11333
11677
  Object.defineProperty(exports, "__esModule", { value: true });
11334
11678
  exports.LexadorBaseLinhaUnica = void 0;
@@ -11412,7 +11756,7 @@ class LexadorBaseLinhaUnica {
11412
11756
  }
11413
11757
  exports.LexadorBaseLinhaUnica = LexadorBaseLinhaUnica;
11414
11758
 
11415
- },{"./simbolo":157}],153:[function(require,module,exports){
11759
+ },{"./simbolo":160}],156:[function(require,module,exports){
11416
11760
  "use strict";
11417
11761
  Object.defineProperty(exports, "__esModule", { value: true });
11418
11762
  exports.LexadorBase = void 0;
@@ -11526,7 +11870,7 @@ class LexadorBase {
11526
11870
  }
11527
11871
  exports.LexadorBase = LexadorBase;
11528
11872
 
11529
- },{"./simbolo":157}],154:[function(require,module,exports){
11873
+ },{"./simbolo":160}],157:[function(require,module,exports){
11530
11874
  "use strict";
11531
11875
  var __importDefault = (this && this.__importDefault) || function (mod) {
11532
11876
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -11971,7 +12315,7 @@ class Lexador {
11971
12315
  }
11972
12316
  exports.Lexador = Lexador;
11973
12317
 
11974
- },{"../tipos-de-simbolos/delegua":162,"./palavras-reservadas":156,"./simbolo":157,"browser-process-hrtime":338}],155:[function(require,module,exports){
12318
+ },{"../tipos-de-simbolos/delegua":165,"./palavras-reservadas":159,"./simbolo":160,"browser-process-hrtime":341}],158:[function(require,module,exports){
11975
12319
  "use strict";
11976
12320
  var __importDefault = (this && this.__importDefault) || function (mod) {
11977
12321
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -12184,7 +12528,7 @@ class MicroLexador {
12184
12528
  }
12185
12529
  exports.MicroLexador = MicroLexador;
12186
12530
 
12187
- },{"../tipos-de-simbolos/microgramaticas/delegua":165,"./palavras-reservadas":156,"./simbolo":157}],156:[function(require,module,exports){
12531
+ },{"../tipos-de-simbolos/microgramaticas/delegua":168,"./palavras-reservadas":159,"./simbolo":160}],159:[function(require,module,exports){
12188
12532
  "use strict";
12189
12533
  var __importDefault = (this && this.__importDefault) || function (mod) {
12190
12534
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -12247,7 +12591,7 @@ exports.palavrasReservadasMicroGramatica = {
12247
12591
  verdadeiro: delegua_1.default.VERDADEIRO,
12248
12592
  };
12249
12593
 
12250
- },{"../tipos-de-simbolos/delegua":162}],157:[function(require,module,exports){
12594
+ },{"../tipos-de-simbolos/delegua":165}],160:[function(require,module,exports){
12251
12595
  "use strict";
12252
12596
  Object.defineProperty(exports, "__esModule", { value: true });
12253
12597
  exports.Simbolo = void 0;
@@ -12265,11 +12609,14 @@ class Simbolo {
12265
12609
  }
12266
12610
  exports.Simbolo = Simbolo;
12267
12611
 
12268
- },{}],158:[function(require,module,exports){
12612
+ },{}],161:[function(require,module,exports){
12269
12613
  "use strict";
12270
12614
  Object.defineProperty(exports, "__esModule", { value: true });
12271
12615
  exports.ContinuarQuebra = exports.SustarQuebra = exports.RetornoQuebra = exports.Quebra = void 0;
12272
12616
  class Quebra {
12617
+ constructor() {
12618
+ this.preservarEscopo = false;
12619
+ }
12273
12620
  }
12274
12621
  exports.Quebra = Quebra;
12275
12622
  class RetornoQuebra extends Quebra {
@@ -12286,7 +12633,7 @@ class ContinuarQuebra extends Quebra {
12286
12633
  }
12287
12634
  exports.ContinuarQuebra = ContinuarQuebra;
12288
12635
 
12289
- },{}],159:[function(require,module,exports){
12636
+ },{}],162:[function(require,module,exports){
12290
12637
  "use strict";
12291
12638
  Object.defineProperty(exports, "__esModule", { value: true });
12292
12639
  exports.default = {
@@ -12312,7 +12659,7 @@ exports.default = {
12312
12659
  VETOR_TEXTO: 'texto[]',
12313
12660
  };
12314
12661
 
12315
- },{}],160:[function(require,module,exports){
12662
+ },{}],163:[function(require,module,exports){
12316
12663
  "use strict";
12317
12664
  Object.defineProperty(exports, "__esModule", { value: true });
12318
12665
  exports.default = {
@@ -12331,7 +12678,7 @@ exports.default = {
12331
12678
  TEXTO: 'string',
12332
12679
  };
12333
12680
 
12334
- },{}],161:[function(require,module,exports){
12681
+ },{}],164:[function(require,module,exports){
12335
12682
  "use strict";
12336
12683
  Object.defineProperty(exports, "__esModule", { value: true });
12337
12684
  exports.default = {
@@ -12357,7 +12704,7 @@ exports.default = {
12357
12704
  VIRGULA: 'VIRGULA',
12358
12705
  };
12359
12706
 
12360
- },{}],162:[function(require,module,exports){
12707
+ },{}],165:[function(require,module,exports){
12361
12708
  "use strict";
12362
12709
  Object.defineProperty(exports, "__esModule", { value: true });
12363
12710
  exports.default = {
@@ -12451,7 +12798,7 @@ exports.default = {
12451
12798
  VIRGULA: 'VIRGULA',
12452
12799
  };
12453
12800
 
12454
- },{}],163:[function(require,module,exports){
12801
+ },{}],166:[function(require,module,exports){
12455
12802
  "use strict";
12456
12803
  Object.defineProperty(exports, "__esModule", { value: true });
12457
12804
  exports.default = {
@@ -12529,7 +12876,7 @@ exports.default = {
12529
12876
  VIRGULA: 'VIRGULA',
12530
12877
  };
12531
12878
 
12532
- },{}],164:[function(require,module,exports){
12879
+ },{}],167:[function(require,module,exports){
12533
12880
  "use strict";
12534
12881
  Object.defineProperty(exports, "__esModule", { value: true });
12535
12882
  exports.default = {
@@ -12546,7 +12893,7 @@ exports.default = {
12546
12893
  VIRGULA: 'VIRGULA',
12547
12894
  };
12548
12895
 
12549
- },{}],165:[function(require,module,exports){
12896
+ },{}],168:[function(require,module,exports){
12550
12897
  "use strict";
12551
12898
  Object.defineProperty(exports, "__esModule", { value: true });
12552
12899
  exports.default = {
@@ -12595,7 +12942,7 @@ exports.default = {
12595
12942
  VIRGULA: 'VIRGULA',
12596
12943
  };
12597
12944
 
12598
- },{}],166:[function(require,module,exports){
12945
+ },{}],169:[function(require,module,exports){
12599
12946
  "use strict";
12600
12947
  Object.defineProperty(exports, "__esModule", { value: true });
12601
12948
  exports.default = {
@@ -12673,7 +13020,7 @@ exports.default = {
12673
13020
  VIRGULA: 'VIRGULA',
12674
13021
  };
12675
13022
 
12676
- },{}],167:[function(require,module,exports){
13023
+ },{}],170:[function(require,module,exports){
12677
13024
  "use strict";
12678
13025
  Object.defineProperty(exports, "__esModule", { value: true });
12679
13026
  exports.default = {
@@ -12712,7 +13059,7 @@ exports.default = {
12712
13059
  VIRGULA: 'VIRGULA',
12713
13060
  };
12714
13061
 
12715
- },{}],168:[function(require,module,exports){
13062
+ },{}],171:[function(require,module,exports){
12716
13063
  "use strict";
12717
13064
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12718
13065
  if (k2 === undefined) k2 = k;
@@ -12736,7 +13083,7 @@ __exportStar(require("./tradutor-python"), exports);
12736
13083
  __exportStar(require("./tradutor-reverso-javascript"), exports);
12737
13084
  __exportStar(require("./tradutor-reverso-python"), exports);
12738
13085
 
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){
13086
+ },{"./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
13087
  "use strict";
12741
13088
  // Generated from fontes\tradutores\python\Python3.g4 by ANTLR 4.9.0-SNAPSHOT
12742
13089
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -13975,7 +14322,7 @@ __decorate([
13975
14322
  Decorators_1.Override
13976
14323
  ], Python3Lexer.prototype, "nextToken", null);
13977
14324
 
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){
14325
+ },{"./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
14326
  "use strict";
13980
14327
  // Generated from fontes\tradutores\python\Python3.g4 by ANTLR 4.9.0-SNAPSHOT
13981
14328
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -25213,7 +25560,7 @@ class Yield_argContext extends ParserRuleContext_1.ParserRuleContext {
25213
25560
  }
25214
25561
  exports.Yield_argContext = Yield_argContext;
25215
25562
 
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){
25563
+ },{"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
25564
  "use strict";
25218
25565
  var __importDefault = (this && this.__importDefault) || function (mod) {
25219
25566
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -25227,9 +25574,10 @@ class TradutorAssemblyScript {
25227
25574
  constructor() {
25228
25575
  this.indentacao = 0;
25229
25576
  this.dicionarioConstrutos = {
25230
- AcessoIndiceVariavel: this.traduzirAcessoIndiceVariavel.bind(this),
25231
- AcessoMetodoOuPropriedade: this.trazudirConstrutoAcessoMetodo.bind(this),
25577
+ AcessoIndiceVariavel: this.traduzirConstrutoAcessoIndiceVariavel.bind(this),
25578
+ AcessoMetodoOuPropriedade: this.traduzirConstrutoAcessoMetodo.bind(this),
25232
25579
  Agrupamento: this.traduzirConstrutoAgrupamento.bind(this),
25580
+ ArgumentoReferenciaFuncao: this.traduzirConstrutoArgumentoReferenciaFuncao.bind(this),
25233
25581
  AtribuicaoPorIndice: this.traduzirConstrutoAtribuicaoPorIndice.bind(this),
25234
25582
  Atribuir: this.traduzirConstrutoAtribuir.bind(this),
25235
25583
  Binario: this.traduzirConstrutoBinario.bind(this),
@@ -25240,6 +25588,7 @@ class TradutorAssemblyScript {
25240
25588
  Isto: () => 'this',
25241
25589
  Literal: this.traduzirConstrutoLiteral.bind(this),
25242
25590
  Logico: this.traduzirConstrutoLogico.bind(this),
25591
+ ReferenciaFuncao: this.traduzirConstrutoReferenciaFuncao.bind(this),
25243
25592
  TipoDe: this.traduzirConstrutoTipoDe.bind(this),
25244
25593
  Unario: this.traduzirConstrutoUnario.bind(this),
25245
25594
  Variavel: this.traduzirConstrutoVariavel.bind(this),
@@ -25344,6 +25693,26 @@ class TradutorAssemblyScript {
25344
25693
  return metodo;
25345
25694
  }
25346
25695
  }
25696
+ traduzirConstrutoArgumentoReferenciaFuncao(argumentoReferenciaFuncao, argumentos) {
25697
+ const argumentosResolvidos = [];
25698
+ for (const argumento of argumentos) {
25699
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
25700
+ argumentosResolvidos.push(argumentoResolvido);
25701
+ }
25702
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => (atual += proximo + ', '), '');
25703
+ textoArgumentos = textoArgumentos.slice(0, -2);
25704
+ return `${argumentoReferenciaFuncao.simboloFuncao.lexema}(${textoArgumentos})`;
25705
+ }
25706
+ traduzirConstrutoReferenciaFuncao(referenciaFuncao, argumentos) {
25707
+ const argumentosResolvidos = [];
25708
+ for (const argumento of argumentos) {
25709
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
25710
+ argumentosResolvidos.push(argumentoResolvido);
25711
+ }
25712
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => (atual += proximo + ', '), '');
25713
+ textoArgumentos = textoArgumentos.slice(0, -2);
25714
+ return `${referenciaFuncao.simboloFuncao.lexema}(${textoArgumentos})`;
25715
+ }
25347
25716
  traduzirDeclaracaoEscreva(declaracaoEscreva) {
25348
25717
  let resultado = 'console.log(';
25349
25718
  for (const argumento of declaracaoEscreva.argumentos) {
@@ -25714,7 +26083,7 @@ class TradutorAssemblyScript {
25714
26083
  }
25715
26084
  traduzirConstrutoChamada(chamada) {
25716
26085
  let resultado = '';
25717
- const retorno = `${this.dicionarioConstrutos[chamada.entidadeChamada.constructor.name](chamada.entidadeChamada)}`;
26086
+ const retorno = `${this.dicionarioConstrutos[chamada.entidadeChamada.constructor.name](chamada.entidadeChamada, chamada.argumentos)}`;
25718
26087
  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
26088
  if (instanciaClasse) {
25720
26089
  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 +26152,22 @@ class TradutorAssemblyScript {
25783
26152
  }
25784
26153
  return resultado;
25785
26154
  }
25786
- traduzirConstrutoAgrupamento(agrupamento) {
25787
- return this.dicionarioConstrutos[agrupamento.constructor.name](agrupamento.expressao || agrupamento);
25788
- }
25789
- trazudirConstrutoAcessoMetodo(acessoMetodo) {
26155
+ traduzirConstrutoAcessoMetodo(acessoMetodo) {
25790
26156
  if (acessoMetodo.objeto instanceof construtos_1.Variavel) {
25791
26157
  let objetoVariavel = acessoMetodo.objeto;
25792
26158
  return `${objetoVariavel.simbolo.lexema}.${this.traduzirFuncoesNativas(acessoMetodo.simbolo.lexema)}`;
25793
26159
  }
25794
26160
  return `this.${acessoMetodo.simbolo.lexema}`;
25795
26161
  }
25796
- traduzirAcessoIndiceVariavel(acessoIndiceVariavel) {
26162
+ traduzirConstrutoAcessoIndiceVariavel(acessoIndiceVariavel) {
25797
26163
  let resultado = '';
25798
26164
  resultado += this.dicionarioConstrutos[acessoIndiceVariavel.entidadeChamada.constructor.name](acessoIndiceVariavel.entidadeChamada);
25799
26165
  resultado += `[${this.dicionarioConstrutos[acessoIndiceVariavel.indice.constructor.name](acessoIndiceVariavel.indice)}]`;
25800
26166
  return resultado;
25801
26167
  }
26168
+ traduzirConstrutoAgrupamento(agrupamento) {
26169
+ return this.dicionarioConstrutos[agrupamento.constructor.name](agrupamento.expressao || agrupamento);
26170
+ }
25802
26171
  traduzir(declaracoes) {
25803
26172
  let resultado = '';
25804
26173
  this.declaracoesDeClasses = declaracoes.filter((declaracao) => declaracao instanceof declaracoes_1.Classe);
@@ -25810,7 +26179,7 @@ class TradutorAssemblyScript {
25810
26179
  }
25811
26180
  exports.TradutorAssemblyScript = TradutorAssemblyScript;
25812
26181
 
25813
- },{"../construtos":44,"../declaracoes":81,"../tipos-de-simbolos/delegua":162}],172:[function(require,module,exports){
26182
+ },{"../construtos":45,"../declaracoes":83,"../tipos-de-simbolos/delegua":165}],175:[function(require,module,exports){
25814
26183
  "use strict";
25815
26184
  var __importDefault = (this && this.__importDefault) || function (mod) {
25816
26185
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -25829,11 +26198,12 @@ class TradutorJavaScript {
25829
26198
  constructor() {
25830
26199
  this.indentacao = 0;
25831
26200
  this.dicionarioConstrutos = {
25832
- AcessoIndiceVariavel: this.traduzirAcessoIndiceVariavel.bind(this),
26201
+ AcessoIndiceVariavel: this.traduzirConstrutoAcessoIndiceVariavel.bind(this),
25833
26202
  AcessoMetodo: this.traduzirConstrutoAcessoMetodo.bind(this),
25834
26203
  AcessoMetodoOuPropriedade: this.traduzirConstrutoAcessoMetodoOuPropriedade.bind(this),
25835
26204
  AcessoPropriedade: this.traduzirConstrutoAcessoPropriedade.bind(this),
25836
26205
  Agrupamento: this.traduzirConstrutoAgrupamento.bind(this),
26206
+ ArgumentoReferenciaFuncao: this.traduzirConstrutoArgumentoReferenciaFuncao.bind(this),
25837
26207
  AtribuicaoPorIndice: this.traduzirConstrutoAtribuicaoPorIndice.bind(this),
25838
26208
  Atribuir: this.traduzirConstrutoAtribuir.bind(this),
25839
26209
  Binario: this.traduzirConstrutoBinario.bind(this),
@@ -25845,6 +26215,7 @@ class TradutorJavaScript {
25845
26215
  Isto: () => 'this',
25846
26216
  Literal: this.traduzirConstrutoLiteral.bind(this),
25847
26217
  Logico: this.traduzirConstrutoLogico.bind(this),
26218
+ ReferenciaFuncao: this.traduzirConstrutoReferenciaFuncao.bind(this),
25848
26219
  TipoDe: this.traduzirConstrutoTipoDe.bind(this),
25849
26220
  Unario: this.traduzirConstrutoUnario.bind(this),
25850
26221
  Variavel: this.traduzirConstrutoVariavel.bind(this),
@@ -26434,25 +26805,31 @@ class TradutorJavaScript {
26434
26805
  }
26435
26806
  return resultado;
26436
26807
  }
26437
- traduzirAcessoIndiceVariavel(acessoIndiceVariavel) {
26808
+ traduzirConstrutoAcessoIndiceVariavel(acessoIndiceVariavel) {
26438
26809
  let resultado = '';
26439
26810
  resultado += this.dicionarioConstrutos[acessoIndiceVariavel.entidadeChamada.constructor.name](acessoIndiceVariavel.entidadeChamada);
26440
26811
  resultado += `[${this.dicionarioConstrutos[acessoIndiceVariavel.indice.constructor.name](acessoIndiceVariavel.indice)}]`;
26441
26812
  return resultado;
26442
26813
  }
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)}, `;
26814
+ traduzirConstrutoArgumentoReferenciaFuncao(argumentoReferenciaFuncao, argumentos) {
26815
+ const argumentosResolvidos = [];
26816
+ for (const argumento of argumentos) {
26817
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
26818
+ argumentosResolvidos.push(argumentoResolvido);
26450
26819
  }
26451
- if (vetor.valores.length > 0) {
26452
- resultado = resultado.slice(0, -2);
26820
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => atual += proximo + ', ', "");
26821
+ textoArgumentos = textoArgumentos.slice(0, -2);
26822
+ return `${argumentoReferenciaFuncao.simboloFuncao.lexema}(${textoArgumentos})`;
26823
+ }
26824
+ traduzirConstrutoReferenciaFuncao(referenciaFuncao, argumentos) {
26825
+ const argumentosResolvidos = [];
26826
+ for (const argumento of argumentos) {
26827
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
26828
+ argumentosResolvidos.push(argumentoResolvido);
26453
26829
  }
26454
- resultado += ']';
26455
- return resultado;
26830
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => atual += proximo + ', ', "");
26831
+ textoArgumentos = textoArgumentos.slice(0, -2);
26832
+ return `${referenciaFuncao.simboloFuncao.lexema}(${textoArgumentos})`;
26456
26833
  }
26457
26834
  traduzirConstrutoTipoDe(tipoDe) {
26458
26835
  let resultado = 'typeof ';
@@ -26473,9 +26850,19 @@ class TradutorJavaScript {
26473
26850
  }
26474
26851
  return resultado;
26475
26852
  }
26476
- traduzirDeclaracaoFalhar(falhar) {
26477
- const explicacao = this.dicionarioConstrutos[falhar.explicacao.constructor.name](falhar.explicacao);
26478
- return `throw ${explicacao}`;
26853
+ traduzirConstrutoVetor(vetor) {
26854
+ if (!vetor.valores.length) {
26855
+ return '[]';
26856
+ }
26857
+ let resultado = '[';
26858
+ for (let valor of vetor.valores) {
26859
+ resultado += `${this.dicionarioConstrutos[valor.constructor.name](valor)}, `;
26860
+ }
26861
+ if (vetor.valores.length > 0) {
26862
+ resultado = resultado.slice(0, -2);
26863
+ }
26864
+ resultado += ']';
26865
+ return resultado;
26479
26866
  }
26480
26867
  traduzirConstrutoUnario(unario) {
26481
26868
  var _a, _b;
@@ -26490,6 +26877,10 @@ class TradutorJavaScript {
26490
26877
  }
26491
26878
  return resultado;
26492
26879
  }
26880
+ traduzirDeclaracaoFalhar(falhar) {
26881
+ const explicacao = this.dicionarioConstrutos[falhar.explicacao.constructor.name](falhar.explicacao);
26882
+ return `throw ${explicacao}`;
26883
+ }
26493
26884
  traduzir(declaracoes) {
26494
26885
  let resultado = '';
26495
26886
  this.declaracoesDeClasses = declaracoes.filter((declaracao) => declaracao instanceof declaracoes_1.Classe);
@@ -26501,7 +26892,7 @@ class TradutorJavaScript {
26501
26892
  }
26502
26893
  exports.TradutorJavaScript = TradutorJavaScript;
26503
26894
 
26504
- },{"../construtos":44,"../declaracoes":81,"../tipos-de-simbolos/delegua":162}],173:[function(require,module,exports){
26895
+ },{"../construtos":45,"../declaracoes":83,"../tipos-de-simbolos/delegua":165}],176:[function(require,module,exports){
26505
26896
  "use strict";
26506
26897
  Object.defineProperty(exports, "__esModule", { value: true });
26507
26898
  exports.TradutorPortugolIpt = void 0;
@@ -26563,7 +26954,7 @@ class TradutorPortugolIpt {
26563
26954
  }
26564
26955
  exports.TradutorPortugolIpt = TradutorPortugolIpt;
26565
26956
 
26566
- },{"../avaliador-sintatico/dialetos":6,"../lexador/dialetos":143}],174:[function(require,module,exports){
26957
+ },{"../avaliador-sintatico/dialetos":6,"../lexador/dialetos":146}],177:[function(require,module,exports){
26567
26958
  "use strict";
26568
26959
  var __importDefault = (this && this.__importDefault) || function (mod) {
26569
26960
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26583,6 +26974,7 @@ class TradutorPython {
26583
26974
  AcessoPropriedade: this.traduzirConstrutoAcessoPropriedade.bind(this),
26584
26975
  AcessoIndiceVariavel: this.traduzirConstrutoAcessoIndiceVariavel.bind(this),
26585
26976
  Agrupamento: this.traduzirConstrutoAgrupamento.bind(this),
26977
+ ArgumentoReferenciaFuncao: this.traduzirConstrutoArgumentoReferenciaFuncao.bind(this),
26586
26978
  AtribuicaoPorIndice: this.traduzirConstrutoAtribuicaoPorIndice.bind(this),
26587
26979
  Atribuir: this.traduzirConstrutoAtribuir.bind(this),
26588
26980
  Binario: this.traduzirConstrutoBinario.bind(this),
@@ -26592,6 +26984,7 @@ class TradutorPython {
26592
26984
  Dicionario: this.traduzirConstrutoDicionario.bind(this),
26593
26985
  Literal: this.traduzirConstrutoLiteral.bind(this),
26594
26986
  Logico: this.traduzirConstrutoLogico.bind(this),
26987
+ ReferenciaFuncao: this.traduzirConstrutoReferenciaFuncao.bind(this),
26595
26988
  Unario: this.traduzirConstrutoUnario.bind(this),
26596
26989
  Variavel: this.traduzirConstrutoVariavel.bind(this),
26597
26990
  Vetor: this.traduzirConstrutoVetor.bind(this),
@@ -26796,6 +27189,17 @@ class TradutorPython {
26796
27189
  traduzirConstrutoAgrupamento(agrupamento) {
26797
27190
  return this.dicionarioConstrutos[agrupamento.constructor.name](agrupamento.expressao || agrupamento);
26798
27191
  }
27192
+ traduzirConstrutoArgumentoReferenciaFuncao(argumentoReferenciaFuncao, argumentos) {
27193
+ const argumentosResolvidos = [];
27194
+ const argumentosValidados = argumentos || [];
27195
+ for (const argumento of argumentosValidados) {
27196
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
27197
+ argumentosResolvidos.push(argumentoResolvido);
27198
+ }
27199
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => atual += proximo + ', ', "");
27200
+ textoArgumentos = textoArgumentos.slice(0, -2);
27201
+ return `${argumentoReferenciaFuncao.simboloFuncao.lexema}(${textoArgumentos})`;
27202
+ }
26799
27203
  traduzirConstrutoAtribuicaoPorIndice(atribuicaoPorIndice) {
26800
27204
  const objeto = this.dicionarioConstrutos[atribuicaoPorIndice.objeto.constructor.name](atribuicaoPorIndice.objeto);
26801
27205
  const indice = this.dicionarioConstrutos[atribuicaoPorIndice.indice.constructor.name](atribuicaoPorIndice.indice);
@@ -26890,6 +27294,17 @@ class TradutorPython {
26890
27294
  const esquerda = this.dicionarioConstrutos[logico.esquerda.constructor.name](logico.esquerda);
26891
27295
  return `${esquerda} ${operador} ${direita}`;
26892
27296
  }
27297
+ traduzirConstrutoReferenciaFuncao(referenciaFuncao, argumentos) {
27298
+ const argumentosResolvidos = [];
27299
+ const argumentosValidados = argumentos || [];
27300
+ for (const argumento of argumentosValidados) {
27301
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
27302
+ argumentosResolvidos.push(argumentoResolvido);
27303
+ }
27304
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => atual += proximo + ', ', "");
27305
+ textoArgumentos = textoArgumentos.slice(0, -2);
27306
+ return `${referenciaFuncao.simboloFuncao.lexema}(${textoArgumentos})`;
27307
+ }
26893
27308
  traduzirConstrutoUnario(unario) {
26894
27309
  const operador = this.traduzirSimboloOperador(unario.operador);
26895
27310
  const operando = this.dicionarioConstrutos[unario.operando.constructor.name](unario.operando);
@@ -27177,7 +27592,7 @@ class TradutorPython {
27177
27592
  }
27178
27593
  exports.TradutorPython = TradutorPython;
27179
27594
 
27180
- },{"../construtos":44,"../declaracoes":81,"../tipos-de-simbolos/delegua":162}],175:[function(require,module,exports){
27595
+ },{"../construtos":45,"../declaracoes":83,"../tipos-de-simbolos/delegua":165}],178:[function(require,module,exports){
27181
27596
  "use strict";
27182
27597
  Object.defineProperty(exports, "__esModule", { value: true });
27183
27598
  exports.TradutorReversoJavaScript = void 0;
@@ -27571,7 +27986,7 @@ class TradutorReversoJavaScript {
27571
27986
  }
27572
27987
  exports.TradutorReversoJavaScript = TradutorReversoJavaScript;
27573
27988
 
27574
- },{}],176:[function(require,module,exports){
27989
+ },{}],179:[function(require,module,exports){
27575
27990
  "use strict";
27576
27991
  Object.defineProperty(exports, "__esModule", { value: true });
27577
27992
  exports.TradutorReversoPython = void 0;
@@ -27644,7 +28059,7 @@ class TradutorReversoPython {
27644
28059
  }
27645
28060
  exports.TradutorReversoPython = TradutorReversoPython;
27646
28061
 
27647
- },{"./python/python3-lexer":169,"./python/python3-parser":170,"antlr4ts":292,"antlr4ts/tree/ParseTreeWalker":311}],177:[function(require,module,exports){
28062
+ },{"./python/python3-lexer":172,"./python/python3-parser":173,"antlr4ts":295,"antlr4ts/tree/ParseTreeWalker":314}],180:[function(require,module,exports){
27648
28063
  "use strict";
27649
28064
  /*!
27650
28065
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -27652,7 +28067,7 @@ exports.TradutorReversoPython = TradutorReversoPython;
27652
28067
  */
27653
28068
  Object.defineProperty(exports, "__esModule", { value: true });
27654
28069
 
27655
- },{}],178:[function(require,module,exports){
28070
+ },{}],181:[function(require,module,exports){
27656
28071
  "use strict";
27657
28072
  /*!
27658
28073
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -27660,7 +28075,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
27660
28075
  */
27661
28076
  Object.defineProperty(exports, "__esModule", { value: true });
27662
28077
 
27663
- },{}],179:[function(require,module,exports){
28078
+ },{}],182:[function(require,module,exports){
27664
28079
  "use strict";
27665
28080
  /*!
27666
28081
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -27822,7 +28237,7 @@ __decorate([
27822
28237
  ], ANTLRInputStream.prototype, "toString", null);
27823
28238
  exports.ANTLRInputStream = ANTLRInputStream;
27824
28239
 
27825
- },{"./Decorators":190,"./IntStream":196,"assert":333}],180:[function(require,module,exports){
28240
+ },{"./Decorators":193,"./IntStream":199,"assert":336}],183:[function(require,module,exports){
27826
28241
  "use strict";
27827
28242
  /*!
27828
28243
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -27905,7 +28320,7 @@ __decorate([
27905
28320
  ], BailErrorStrategy.prototype, "sync", null);
27906
28321
  exports.BailErrorStrategy = BailErrorStrategy;
27907
28322
 
27908
- },{"./Decorators":190,"./DefaultErrorStrategy":191,"./InputMismatchException":195,"./misc/ParseCancellationException":307}],181:[function(require,module,exports){
28323
+ },{"./Decorators":193,"./DefaultErrorStrategy":194,"./InputMismatchException":198,"./misc/ParseCancellationException":310}],184:[function(require,module,exports){
27909
28324
  "use strict";
27910
28325
  /*!
27911
28326
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -28395,7 +28810,7 @@ BufferedTokenStream = __decorate([
28395
28810
  ], BufferedTokenStream);
28396
28811
  exports.BufferedTokenStream = BufferedTokenStream;
28397
28812
 
28398
- },{"./CommonToken":186,"./Decorators":190,"./Lexer":198,"./Token":215,"./misc/Interval":302,"assert":333}],182:[function(require,module,exports){
28813
+ },{"./CommonToken":189,"./Decorators":193,"./Lexer":201,"./Token":218,"./misc/Interval":305,"assert":336}],185:[function(require,module,exports){
28399
28814
  "use strict";
28400
28815
  /*!
28401
28816
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -28403,7 +28818,7 @@ exports.BufferedTokenStream = BufferedTokenStream;
28403
28818
  */
28404
28819
  Object.defineProperty(exports, "__esModule", { value: true });
28405
28820
 
28406
- },{}],183:[function(require,module,exports){
28821
+ },{}],186:[function(require,module,exports){
28407
28822
  "use strict";
28408
28823
  /*!
28409
28824
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -28537,7 +28952,7 @@ var CharStreams;
28537
28952
  // }
28538
28953
  })(CharStreams = exports.CharStreams || (exports.CharStreams = {}));
28539
28954
 
28540
- },{"./CodePointBuffer":184,"./CodePointCharStream":185,"./IntStream":196}],184:[function(require,module,exports){
28955
+ },{"./CodePointBuffer":187,"./CodePointCharStream":188,"./IntStream":199}],187:[function(require,module,exports){
28541
28956
  "use strict";
28542
28957
  /*!
28543
28958
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -28772,7 +29187,7 @@ exports.CodePointBuffer = CodePointBuffer;
28772
29187
  CodePointBuffer.Builder = Builder;
28773
29188
  })(CodePointBuffer = exports.CodePointBuffer || (exports.CodePointBuffer = {}));
28774
29189
 
28775
- },{"./misc/Character":298,"assert":333}],185:[function(require,module,exports){
29190
+ },{"./misc/Character":301,"assert":336}],188:[function(require,module,exports){
28776
29191
  "use strict";
28777
29192
  /*!
28778
29193
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -28922,7 +29337,7 @@ __decorate([
28922
29337
  ], CodePointCharStream.prototype, "getText", null);
28923
29338
  exports.CodePointCharStream = CodePointCharStream;
28924
29339
 
28925
- },{"./Decorators":190,"./IntStream":196,"./misc/Interval":302,"assert":333}],186:[function(require,module,exports){
29340
+ },{"./Decorators":193,"./IntStream":199,"./misc/Interval":305,"assert":336}],189:[function(require,module,exports){
28926
29341
  "use strict";
28927
29342
  /*!
28928
29343
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -29152,7 +29567,7 @@ CommonToken = __decorate([
29152
29567
  ], CommonToken);
29153
29568
  exports.CommonToken = CommonToken;
29154
29569
 
29155
- },{"./Decorators":190,"./Token":215,"./misc/Interval":302}],187:[function(require,module,exports){
29570
+ },{"./Decorators":193,"./Token":218,"./misc/Interval":305}],190:[function(require,module,exports){
29156
29571
  "use strict";
29157
29572
  /*!
29158
29573
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -29216,7 +29631,7 @@ exports.CommonTokenFactory = CommonTokenFactory;
29216
29631
  CommonTokenFactory.DEFAULT = new CommonTokenFactory();
29217
29632
  })(CommonTokenFactory = exports.CommonTokenFactory || (exports.CommonTokenFactory = {}));
29218
29633
 
29219
- },{"./CommonToken":186,"./Decorators":190,"./misc/Interval":302}],188:[function(require,module,exports){
29634
+ },{"./CommonToken":189,"./Decorators":193,"./misc/Interval":305}],191:[function(require,module,exports){
29220
29635
  "use strict";
29221
29636
  /*!
29222
29637
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -29343,7 +29758,7 @@ CommonTokenStream = __decorate([
29343
29758
  ], CommonTokenStream);
29344
29759
  exports.CommonTokenStream = CommonTokenStream;
29345
29760
 
29346
- },{"./BufferedTokenStream":181,"./Decorators":190,"./Token":215}],189:[function(require,module,exports){
29761
+ },{"./BufferedTokenStream":184,"./Decorators":193,"./Token":218}],192:[function(require,module,exports){
29347
29762
  "use strict";
29348
29763
  /*!
29349
29764
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -29377,7 +29792,7 @@ exports.ConsoleErrorListener = ConsoleErrorListener;
29377
29792
  */
29378
29793
  ConsoleErrorListener.INSTANCE = new ConsoleErrorListener();
29379
29794
 
29380
- },{}],190:[function(require,module,exports){
29795
+ },{}],193:[function(require,module,exports){
29381
29796
  "use strict";
29382
29797
  /*!
29383
29798
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -29404,7 +29819,7 @@ function SuppressWarnings(options) {
29404
29819
  }
29405
29820
  exports.SuppressWarnings = SuppressWarnings;
29406
29821
 
29407
- },{}],191:[function(require,module,exports){
29822
+ },{}],194:[function(require,module,exports){
29408
29823
  "use strict";
29409
29824
  /*!
29410
29825
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30218,7 +30633,7 @@ __decorate([
30218
30633
  ], DefaultErrorStrategy.prototype, "consumeUntil", null);
30219
30634
  exports.DefaultErrorStrategy = DefaultErrorStrategy;
30220
30635
 
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){
30636
+ },{"./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
30637
  "use strict";
30223
30638
  /*!
30224
30639
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30294,7 +30709,7 @@ var Dependents;
30294
30709
  Dependents[Dependents["FOLLOWING"] = 9] = "FOLLOWING";
30295
30710
  })(Dependents = exports.Dependents || (exports.Dependents = {}));
30296
30711
 
30297
- },{}],193:[function(require,module,exports){
30712
+ },{}],196:[function(require,module,exports){
30298
30713
  "use strict";
30299
30714
  /*!
30300
30715
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30442,7 +30857,7 @@ __decorate([
30442
30857
  ], DiagnosticErrorListener.prototype, "getConflictingAlts", null);
30443
30858
  exports.DiagnosticErrorListener = DiagnosticErrorListener;
30444
30859
 
30445
- },{"./Decorators":190,"./misc/BitSet":297,"./misc/Interval":302}],194:[function(require,module,exports){
30860
+ },{"./Decorators":193,"./misc/BitSet":300,"./misc/Interval":305}],197:[function(require,module,exports){
30446
30861
  "use strict";
30447
30862
  /*!
30448
30863
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30507,7 +30922,7 @@ FailedPredicateException = __decorate([
30507
30922
  ], FailedPredicateException);
30508
30923
  exports.FailedPredicateException = FailedPredicateException;
30509
30924
 
30510
- },{"./Decorators":190,"./RecognitionException":209,"./atn/PredicateTransition":269}],195:[function(require,module,exports){
30925
+ },{"./Decorators":193,"./RecognitionException":212,"./atn/PredicateTransition":272}],198:[function(require,module,exports){
30511
30926
  "use strict";
30512
30927
  /*!
30513
30928
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30547,7 +30962,7 @@ InputMismatchException = __decorate([
30547
30962
  ], InputMismatchException);
30548
30963
  exports.InputMismatchException = InputMismatchException;
30549
30964
 
30550
- },{"./Decorators":190,"./RecognitionException":209}],196:[function(require,module,exports){
30965
+ },{"./Decorators":193,"./RecognitionException":212}],199:[function(require,module,exports){
30551
30966
  "use strict";
30552
30967
  /*!
30553
30968
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30570,7 +30985,7 @@ var IntStream;
30570
30985
  IntStream.UNKNOWN_SOURCE_NAME = "<unknown>";
30571
30986
  })(IntStream = exports.IntStream || (exports.IntStream = {}));
30572
30987
 
30573
- },{}],197:[function(require,module,exports){
30988
+ },{}],200:[function(require,module,exports){
30574
30989
  "use strict";
30575
30990
  /*!
30576
30991
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30617,7 +31032,7 @@ __decorate([
30617
31032
  ], InterpreterRuleContext.prototype, "ruleIndex", null);
30618
31033
  exports.InterpreterRuleContext = InterpreterRuleContext;
30619
31034
 
30620
- },{"./Decorators":190,"./ParserRuleContext":206}],198:[function(require,module,exports){
31035
+ },{"./Decorators":193,"./ParserRuleContext":209}],201:[function(require,module,exports){
30621
31036
  "use strict";
30622
31037
  /*!
30623
31038
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -30953,7 +31368,7 @@ __decorate([
30953
31368
  ], Lexer.prototype, "charPositionInLine", null);
30954
31369
  exports.Lexer = Lexer;
30955
31370
 
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){
31371
+ },{"./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
31372
  "use strict";
30958
31373
  /*!
30959
31374
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -31033,7 +31448,7 @@ LexerInterpreter = __decorate([
31033
31448
  ], LexerInterpreter);
31034
31449
  exports.LexerInterpreter = LexerInterpreter;
31035
31450
 
31036
- },{"./Decorators":190,"./Lexer":198,"./atn/LexerATNSimulator":248}],200:[function(require,module,exports){
31451
+ },{"./Decorators":193,"./Lexer":201,"./atn/LexerATNSimulator":251}],203:[function(require,module,exports){
31037
31452
  "use strict";
31038
31453
  /*!
31039
31454
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -31090,7 +31505,7 @@ LexerNoViableAltException = __decorate([
31090
31505
  ], LexerNoViableAltException);
31091
31506
  exports.LexerNoViableAltException = LexerNoViableAltException;
31092
31507
 
31093
- },{"./Decorators":190,"./RecognitionException":209,"./misc/Interval":302,"./misc/Utils":309}],201:[function(require,module,exports){
31508
+ },{"./Decorators":193,"./RecognitionException":212,"./misc/Interval":305,"./misc/Utils":312}],204:[function(require,module,exports){
31094
31509
  "use strict";
31095
31510
  /*!
31096
31511
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -31300,7 +31715,7 @@ ListTokenSource = __decorate([
31300
31715
  ], ListTokenSource);
31301
31716
  exports.ListTokenSource = ListTokenSource;
31302
31717
 
31303
- },{"./CommonTokenFactory":187,"./Decorators":190,"./Token":215}],202:[function(require,module,exports){
31718
+ },{"./CommonTokenFactory":190,"./Decorators":193,"./Token":218}],205:[function(require,module,exports){
31304
31719
  "use strict";
31305
31720
  /*!
31306
31721
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -31355,7 +31770,7 @@ __decorate([
31355
31770
  ], NoViableAltException.prototype, "_startToken", void 0);
31356
31771
  exports.NoViableAltException = NoViableAltException;
31357
31772
 
31358
- },{"./Decorators":190,"./Parser":203,"./RecognitionException":209}],203:[function(require,module,exports){
31773
+ },{"./Decorators":193,"./Parser":206,"./RecognitionException":212}],206:[function(require,module,exports){
31359
31774
  (function (process){(function (){
31360
31775
  "use strict";
31361
31776
  /*!
@@ -32201,7 +32616,7 @@ __decorate([
32201
32616
  exports.Parser = Parser;
32202
32617
 
32203
32618
  }).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){
32619
+ },{"./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
32620
  "use strict";
32206
32621
  /*!
32207
32622
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -32209,7 +32624,7 @@ exports.Parser = Parser;
32209
32624
  */
32210
32625
  Object.defineProperty(exports, "__esModule", { value: true });
32211
32626
 
32212
- },{}],205:[function(require,module,exports){
32627
+ },{}],208:[function(require,module,exports){
32213
32628
  "use strict";
32214
32629
  /*!
32215
32630
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -32617,7 +33032,7 @@ ParserInterpreter = __decorate([
32617
33032
  ], ParserInterpreter);
32618
33033
  exports.ParserInterpreter = ParserInterpreter;
32619
33034
 
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){
33035
+ },{"./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
33036
  "use strict";
32622
33037
  /*!
32623
33038
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -32918,7 +33333,7 @@ __decorate([
32918
33333
  ], ParserRuleContext.prototype, "sourceInterval", null);
32919
33334
  exports.ParserRuleContext = ParserRuleContext;
32920
33335
 
32921
- },{"./Decorators":190,"./RuleContext":211,"./misc/Interval":302,"./tree/ErrorNode":310,"./tree/TerminalNode":313}],207:[function(require,module,exports){
33336
+ },{"./Decorators":193,"./RuleContext":214,"./misc/Interval":305,"./tree/ErrorNode":313,"./tree/TerminalNode":316}],210:[function(require,module,exports){
32922
33337
  "use strict";
32923
33338
  /*!
32924
33339
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -32968,7 +33383,7 @@ __decorate([
32968
33383
  ], ProxyErrorListener.prototype, "syntaxError", null);
32969
33384
  exports.ProxyErrorListener = ProxyErrorListener;
32970
33385
 
32971
- },{"./Decorators":190}],208:[function(require,module,exports){
33386
+ },{"./Decorators":193}],211:[function(require,module,exports){
32972
33387
  "use strict";
32973
33388
  /*!
32974
33389
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33027,7 +33442,7 @@ __decorate([
33027
33442
  ], ProxyParserErrorListener.prototype, "reportContextSensitivity", null);
33028
33443
  exports.ProxyParserErrorListener = ProxyParserErrorListener;
33029
33444
 
33030
- },{"./Decorators":190,"./ProxyErrorListener":207}],209:[function(require,module,exports){
33445
+ },{"./Decorators":193,"./ProxyErrorListener":210}],212:[function(require,module,exports){
33031
33446
  "use strict";
33032
33447
  /*!
33033
33448
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33132,7 +33547,7 @@ class RecognitionException extends Error {
33132
33547
  }
33133
33548
  exports.RecognitionException = RecognitionException;
33134
33549
 
33135
- },{}],210:[function(require,module,exports){
33550
+ },{}],213:[function(require,module,exports){
33136
33551
  "use strict";
33137
33552
  /*!
33138
33553
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33351,7 +33766,7 @@ __decorate([
33351
33766
  ], Recognizer.prototype, "getErrorListeners", null);
33352
33767
  exports.Recognizer = Recognizer;
33353
33768
 
33354
- },{"./ConsoleErrorListener":189,"./Decorators":190,"./ProxyErrorListener":207,"./Token":215,"./misc/Utils":309}],211:[function(require,module,exports){
33769
+ },{"./ConsoleErrorListener":192,"./Decorators":193,"./ProxyErrorListener":210,"./Token":218,"./misc/Utils":312}],214:[function(require,module,exports){
33355
33770
  "use strict";
33356
33771
  /*!
33357
33772
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33568,7 +33983,7 @@ __decorate([
33568
33983
  ], RuleContext.prototype, "toStringTree", null);
33569
33984
  exports.RuleContext = RuleContext;
33570
33985
 
33571
- },{"./Decorators":190,"./ParserRuleContext":206,"./Recognizer":210,"./atn/ATN":223,"./misc/Interval":302,"./tree/RuleNode":312,"./tree/Trees":314}],212:[function(require,module,exports){
33986
+ },{"./Decorators":193,"./ParserRuleContext":209,"./Recognizer":213,"./atn/ATN":226,"./misc/Interval":305,"./tree/RuleNode":315,"./tree/Trees":317}],215:[function(require,module,exports){
33572
33987
  "use strict";
33573
33988
  /*!
33574
33989
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33619,7 +34034,7 @@ __decorate([
33619
34034
  ], RuleContextWithAltNum.prototype, "altNumber", null);
33620
34035
  exports.RuleContextWithAltNum = RuleContextWithAltNum;
33621
34036
 
33622
- },{"./Decorators":190,"./ParserRuleContext":206,"./atn/ATN":223}],213:[function(require,module,exports){
34037
+ },{"./Decorators":193,"./ParserRuleContext":209,"./atn/ATN":226}],216:[function(require,module,exports){
33623
34038
  "use strict";
33624
34039
  /*!
33625
34040
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33642,7 +34057,7 @@ function RuleDependency(dependency) {
33642
34057
  }
33643
34058
  exports.RuleDependency = RuleDependency;
33644
34059
 
33645
- },{}],214:[function(require,module,exports){
34060
+ },{}],217:[function(require,module,exports){
33646
34061
  "use strict";
33647
34062
  /*!
33648
34063
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33661,7 +34076,7 @@ function RuleVersion(version) {
33661
34076
  }
33662
34077
  exports.RuleVersion = RuleVersion;
33663
34078
 
33664
- },{}],215:[function(require,module,exports){
34079
+ },{}],218:[function(require,module,exports){
33665
34080
  "use strict";
33666
34081
  /*!
33667
34082
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33701,7 +34116,7 @@ var Token;
33701
34116
  Token.MIN_USER_CHANNEL_VALUE = 2;
33702
34117
  })(Token = exports.Token || (exports.Token = {}));
33703
34118
 
33704
- },{"./IntStream":196}],216:[function(require,module,exports){
34119
+ },{"./IntStream":199}],219:[function(require,module,exports){
33705
34120
  "use strict";
33706
34121
  /*!
33707
34122
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33709,7 +34124,7 @@ var Token;
33709
34124
  */
33710
34125
  Object.defineProperty(exports, "__esModule", { value: true });
33711
34126
 
33712
- },{}],217:[function(require,module,exports){
34127
+ },{}],220:[function(require,module,exports){
33713
34128
  "use strict";
33714
34129
  /*!
33715
34130
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33717,7 +34132,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
33717
34132
  */
33718
34133
  Object.defineProperty(exports, "__esModule", { value: true });
33719
34134
 
33720
- },{}],218:[function(require,module,exports){
34135
+ },{}],221:[function(require,module,exports){
33721
34136
  "use strict";
33722
34137
  /*!
33723
34138
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -33725,7 +34140,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
33725
34140
  */
33726
34141
  Object.defineProperty(exports, "__esModule", { value: true });
33727
34142
 
33728
- },{}],219:[function(require,module,exports){
34143
+ },{}],222:[function(require,module,exports){
33729
34144
  "use strict";
33730
34145
  /*!
33731
34146
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -34233,7 +34648,7 @@ __decorate([
34233
34648
  Decorators_1.Override
34234
34649
  ], ReplaceOp.prototype, "toString", null);
34235
34650
 
34236
- },{"./Decorators":190,"./Token":215,"./misc/Interval":302}],220:[function(require,module,exports){
34651
+ },{"./Decorators":193,"./Token":218,"./misc/Interval":305}],223:[function(require,module,exports){
34237
34652
  "use strict";
34238
34653
  /*!
34239
34654
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -34241,7 +34656,7 @@ __decorate([
34241
34656
  */
34242
34657
  Object.defineProperty(exports, "__esModule", { value: true });
34243
34658
 
34244
- },{}],221:[function(require,module,exports){
34659
+ },{}],224:[function(require,module,exports){
34245
34660
  "use strict";
34246
34661
  /*!
34247
34662
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -34361,7 +34776,7 @@ __decorate([
34361
34776
  ], VocabularyImpl, "EMPTY_VOCABULARY", void 0);
34362
34777
  exports.VocabularyImpl = VocabularyImpl;
34363
34778
 
34364
- },{"./Decorators":190,"./Token":215}],222:[function(require,module,exports){
34779
+ },{"./Decorators":193,"./Token":218}],225:[function(require,module,exports){
34365
34780
  "use strict";
34366
34781
  /*!
34367
34782
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -34369,7 +34784,7 @@ exports.VocabularyImpl = VocabularyImpl;
34369
34784
  */
34370
34785
  Object.defineProperty(exports, "__esModule", { value: true });
34371
34786
 
34372
- },{}],223:[function(require,module,exports){
34787
+ },{}],226:[function(require,module,exports){
34373
34788
  "use strict";
34374
34789
  /*!
34375
34790
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -34591,7 +35006,7 @@ exports.ATN = ATN;
34591
35006
  })(ATN = exports.ATN || (exports.ATN = {}));
34592
35007
  exports.ATN = ATN;
34593
35008
 
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){
35009
+ },{"../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
35010
  "use strict";
34596
35011
  /*!
34597
35012
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -35116,7 +35531,7 @@ ActionSemanticContextATNConfig = __decorate([
35116
35531
  __param(1, Decorators_1.NotNull), __param(2, Decorators_1.NotNull)
35117
35532
  ], ActionSemanticContextATNConfig);
35118
35533
 
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){
35534
+ },{"../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
35535
  "use strict";
35121
35536
  /*!
35122
35537
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -35563,7 +35978,7 @@ __decorate([
35563
35978
  ], ATNConfigSet.prototype, "hashCode", null);
35564
35979
  exports.ATNConfigSet = ATNConfigSet;
35565
35980
 
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){
35981
+ },{"../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
35982
  "use strict";
35568
35983
  /*!
35569
35984
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -35642,7 +36057,7 @@ __decorate([
35642
36057
  ], ATNDeserializationOptions, "defaultOptions", null);
35643
36058
  exports.ATNDeserializationOptions = ATNDeserializationOptions;
35644
36059
 
35645
- },{"../Decorators":190}],227:[function(require,module,exports){
36060
+ },{"../Decorators":193}],230:[function(require,module,exports){
35646
36061
  "use strict";
35647
36062
  /*!
35648
36063
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -36729,7 +37144,7 @@ __decorate([
36729
37144
  ], ATNDeserializer.prototype, "edgeFactory", null);
36730
37145
  exports.ATNDeserializer = ATNDeserializer;
36731
37146
 
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){
37147
+ },{"../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
37148
  "use strict";
36734
37149
  /*!
36735
37150
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -36793,7 +37208,7 @@ exports.ATNSimulator = ATNSimulator;
36793
37208
  })(ATNSimulator = exports.ATNSimulator || (exports.ATNSimulator = {}));
36794
37209
  exports.ATNSimulator = ATNSimulator;
36795
37210
 
36796
- },{"../Decorators":190,"../dfa/DFAState":290,"./ATNConfigSet":225,"./PredictionContext":270}],229:[function(require,module,exports){
37211
+ },{"../Decorators":193,"../dfa/DFAState":293,"./ATNConfigSet":228,"./PredictionContext":273}],232:[function(require,module,exports){
36797
37212
  "use strict";
36798
37213
  /*!
36799
37214
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -36980,7 +37395,7 @@ exports.ATNState = ATNState;
36980
37395
  ATNState.INVALID_STATE_NUMBER = -1;
36981
37396
  })(ATNState = exports.ATNState || (exports.ATNState = {}));
36982
37397
 
36983
- },{"../Decorators":190}],230:[function(require,module,exports){
37398
+ },{"../Decorators":193}],233:[function(require,module,exports){
36984
37399
  "use strict";
36985
37400
  /*!
36986
37401
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37006,7 +37421,7 @@ var ATNStateType;
37006
37421
  ATNStateType[ATNStateType["LOOP_END"] = 12] = "LOOP_END";
37007
37422
  })(ATNStateType = exports.ATNStateType || (exports.ATNStateType = {}));
37008
37423
 
37009
- },{}],231:[function(require,module,exports){
37424
+ },{}],234:[function(require,module,exports){
37010
37425
  "use strict";
37011
37426
  /*!
37012
37427
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37026,7 +37441,7 @@ class AbstractPredicateTransition extends Transition_1.Transition {
37026
37441
  }
37027
37442
  exports.AbstractPredicateTransition = AbstractPredicateTransition;
37028
37443
 
37029
- },{"./Transition":285}],232:[function(require,module,exports){
37444
+ },{"./Transition":288}],235:[function(require,module,exports){
37030
37445
  "use strict";
37031
37446
  /*!
37032
37447
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37082,7 +37497,7 @@ ActionTransition = __decorate([
37082
37497
  ], ActionTransition);
37083
37498
  exports.ActionTransition = ActionTransition;
37084
37499
 
37085
- },{"../Decorators":190,"./Transition":285}],233:[function(require,module,exports){
37500
+ },{"../Decorators":193,"./Transition":288}],236:[function(require,module,exports){
37086
37501
  "use strict";
37087
37502
  /*!
37088
37503
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37169,7 +37584,7 @@ AmbiguityInfo = __decorate([
37169
37584
  ], AmbiguityInfo);
37170
37585
  exports.AmbiguityInfo = AmbiguityInfo;
37171
37586
 
37172
- },{"../Decorators":190,"./DecisionEventInfo":241}],234:[function(require,module,exports){
37587
+ },{"../Decorators":193,"./DecisionEventInfo":244}],237:[function(require,module,exports){
37173
37588
  "use strict";
37174
37589
  /*!
37175
37590
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37227,7 +37642,7 @@ AtomTransition = __decorate([
37227
37642
  ], AtomTransition);
37228
37643
  exports.AtomTransition = AtomTransition;
37229
37644
 
37230
- },{"../Decorators":190,"../misc/IntervalSet":303,"./Transition":285}],235:[function(require,module,exports){
37645
+ },{"../Decorators":193,"../misc/IntervalSet":306,"./Transition":288}],238:[function(require,module,exports){
37231
37646
  "use strict";
37232
37647
  /*!
37233
37648
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37259,7 +37674,7 @@ __decorate([
37259
37674
  ], BasicBlockStartState.prototype, "stateType", null);
37260
37675
  exports.BasicBlockStartState = BasicBlockStartState;
37261
37676
 
37262
- },{"../Decorators":190,"./ATNStateType":230,"./BlockStartState":238}],236:[function(require,module,exports){
37677
+ },{"../Decorators":193,"./ATNStateType":233,"./BlockStartState":241}],239:[function(require,module,exports){
37263
37678
  "use strict";
37264
37679
  /*!
37265
37680
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37291,7 +37706,7 @@ __decorate([
37291
37706
  ], BasicState.prototype, "stateType", null);
37292
37707
  exports.BasicState = BasicState;
37293
37708
 
37294
- },{"../Decorators":190,"./ATNState":229,"./ATNStateType":230}],237:[function(require,module,exports){
37709
+ },{"../Decorators":193,"./ATNState":232,"./ATNStateType":233}],240:[function(require,module,exports){
37295
37710
  "use strict";
37296
37711
  /*!
37297
37712
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37320,7 +37735,7 @@ __decorate([
37320
37735
  ], BlockEndState.prototype, "stateType", null);
37321
37736
  exports.BlockEndState = BlockEndState;
37322
37737
 
37323
- },{"../Decorators":190,"./ATNState":229,"./ATNStateType":230}],238:[function(require,module,exports){
37738
+ },{"../Decorators":193,"./ATNState":232,"./ATNStateType":233}],241:[function(require,module,exports){
37324
37739
  "use strict";
37325
37740
  /*!
37326
37741
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37334,7 +37749,7 @@ class BlockStartState extends DecisionState_1.DecisionState {
37334
37749
  }
37335
37750
  exports.BlockStartState = BlockStartState;
37336
37751
 
37337
- },{"./DecisionState":243}],239:[function(require,module,exports){
37752
+ },{"./DecisionState":246}],242:[function(require,module,exports){
37338
37753
  "use strict";
37339
37754
  /*!
37340
37755
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37404,7 +37819,7 @@ __decorate([
37404
37819
  ], ConflictInfo.prototype, "hashCode", null);
37405
37820
  exports.ConflictInfo = ConflictInfo;
37406
37821
 
37407
- },{"../Decorators":190,"../misc/Utils":309}],240:[function(require,module,exports){
37822
+ },{"../Decorators":193,"../misc/Utils":312}],243:[function(require,module,exports){
37408
37823
  "use strict";
37409
37824
  /*!
37410
37825
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37464,7 +37879,7 @@ ContextSensitivityInfo = __decorate([
37464
37879
  ], ContextSensitivityInfo);
37465
37880
  exports.ContextSensitivityInfo = ContextSensitivityInfo;
37466
37881
 
37467
- },{"../Decorators":190,"./DecisionEventInfo":241}],241:[function(require,module,exports){
37882
+ },{"../Decorators":193,"./DecisionEventInfo":244}],244:[function(require,module,exports){
37468
37883
  "use strict";
37469
37884
  /*!
37470
37885
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37516,7 +37931,7 @@ DecisionEventInfo = __decorate([
37516
37931
  ], DecisionEventInfo);
37517
37932
  exports.DecisionEventInfo = DecisionEventInfo;
37518
37933
 
37519
- },{"../Decorators":190}],242:[function(require,module,exports){
37934
+ },{"../Decorators":193}],245:[function(require,module,exports){
37520
37935
  "use strict";
37521
37936
  /*!
37522
37937
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37729,7 +38144,7 @@ __decorate([
37729
38144
  ], DecisionInfo.prototype, "toString", null);
37730
38145
  exports.DecisionInfo = DecisionInfo;
37731
38146
 
37732
- },{"../Decorators":190}],243:[function(require,module,exports){
38147
+ },{"../Decorators":193}],246:[function(require,module,exports){
37733
38148
  "use strict";
37734
38149
  /*!
37735
38150
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37749,7 +38164,7 @@ class DecisionState extends ATNState_1.ATNState {
37749
38164
  }
37750
38165
  exports.DecisionState = DecisionState;
37751
38166
 
37752
- },{"./ATNState":229}],244:[function(require,module,exports){
38167
+ },{"./ATNState":232}],247:[function(require,module,exports){
37753
38168
  "use strict";
37754
38169
  /*!
37755
38170
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37815,7 +38230,7 @@ EpsilonTransition = __decorate([
37815
38230
  ], EpsilonTransition);
37816
38231
  exports.EpsilonTransition = EpsilonTransition;
37817
38232
 
37818
- },{"../Decorators":190,"./Transition":285}],245:[function(require,module,exports){
38233
+ },{"../Decorators":193,"./Transition":288}],248:[function(require,module,exports){
37819
38234
  "use strict";
37820
38235
  /*!
37821
38236
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37868,7 +38283,7 @@ ErrorInfo = __decorate([
37868
38283
  ], ErrorInfo);
37869
38284
  exports.ErrorInfo = ErrorInfo;
37870
38285
 
37871
- },{"../Decorators":190,"./DecisionEventInfo":241}],246:[function(require,module,exports){
38286
+ },{"../Decorators":193,"./DecisionEventInfo":244}],249:[function(require,module,exports){
37872
38287
  "use strict";
37873
38288
  /*!
37874
38289
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37899,7 +38314,7 @@ __decorate([
37899
38314
  ], InvalidState.prototype, "stateType", null);
37900
38315
  exports.InvalidState = InvalidState;
37901
38316
 
37902
- },{"../Decorators":190,"./ATNStateType":230,"./BasicState":236}],247:[function(require,module,exports){
38317
+ },{"../Decorators":193,"./ATNStateType":233,"./BasicState":239}],250:[function(require,module,exports){
37903
38318
  "use strict";
37904
38319
  /*!
37905
38320
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -38121,7 +38536,7 @@ LL1Analyzer = __decorate([
38121
38536
  ], LL1Analyzer);
38122
38537
  exports.LL1Analyzer = LL1Analyzer;
38123
38538
 
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){
38539
+ },{"../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
38540
  "use strict";
38126
38541
  /*!
38127
38542
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -38838,7 +39253,7 @@ exports.LexerATNSimulator = LexerATNSimulator;
38838
39253
  })(LexerATNSimulator = exports.LexerATNSimulator || (exports.LexerATNSimulator = {}));
38839
39254
  exports.LexerATNSimulator = LexerATNSimulator;
38840
39255
 
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){
39256
+ },{"../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
39257
  "use strict";
38843
39258
  /*!
38844
39259
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39039,7 +39454,7 @@ LexerActionExecutor = __decorate([
39039
39454
  ], LexerActionExecutor);
39040
39455
  exports.LexerActionExecutor = LexerActionExecutor;
39041
39456
 
39042
- },{"../Decorators":190,"../misc/ArrayEqualityComparator":295,"../misc/MurmurHash":305,"./LexerIndexedCustomAction":252}],250:[function(require,module,exports){
39457
+ },{"../Decorators":193,"../misc/ArrayEqualityComparator":298,"../misc/MurmurHash":308,"./LexerIndexedCustomAction":255}],253:[function(require,module,exports){
39043
39458
  "use strict";
39044
39459
  /*!
39045
39460
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39144,7 +39559,7 @@ __decorate([
39144
39559
  ], LexerChannelAction.prototype, "toString", null);
39145
39560
  exports.LexerChannelAction = LexerChannelAction;
39146
39561
 
39147
- },{"../Decorators":190,"../misc/MurmurHash":305}],251:[function(require,module,exports){
39562
+ },{"../Decorators":193,"../misc/MurmurHash":308}],254:[function(require,module,exports){
39148
39563
  "use strict";
39149
39564
  /*!
39150
39565
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39273,7 +39688,7 @@ __decorate([
39273
39688
  ], LexerCustomAction.prototype, "equals", null);
39274
39689
  exports.LexerCustomAction = LexerCustomAction;
39275
39690
 
39276
- },{"../Decorators":190,"../misc/MurmurHash":305}],252:[function(require,module,exports){
39691
+ },{"../Decorators":193,"../misc/MurmurHash":308}],255:[function(require,module,exports){
39277
39692
  "use strict";
39278
39693
  /*!
39279
39694
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39408,7 +39823,7 @@ LexerIndexedCustomAction = __decorate([
39408
39823
  ], LexerIndexedCustomAction);
39409
39824
  exports.LexerIndexedCustomAction = LexerIndexedCustomAction;
39410
39825
 
39411
- },{"../Decorators":190,"../misc/MurmurHash":305}],253:[function(require,module,exports){
39826
+ },{"../Decorators":193,"../misc/MurmurHash":308}],256:[function(require,module,exports){
39412
39827
  "use strict";
39413
39828
  /*!
39414
39829
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39513,7 +39928,7 @@ __decorate([
39513
39928
  ], LexerModeAction.prototype, "toString", null);
39514
39929
  exports.LexerModeAction = LexerModeAction;
39515
39930
 
39516
- },{"../Decorators":190,"../misc/MurmurHash":305}],254:[function(require,module,exports){
39931
+ },{"../Decorators":193,"../misc/MurmurHash":308}],257:[function(require,module,exports){
39517
39932
  "use strict";
39518
39933
  /*!
39519
39934
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39609,7 +40024,7 @@ exports.LexerMoreAction = LexerMoreAction;
39609
40024
  LexerMoreAction.INSTANCE = new LexerMoreAction();
39610
40025
  })(LexerMoreAction = exports.LexerMoreAction || (exports.LexerMoreAction = {}));
39611
40026
 
39612
- },{"../Decorators":190,"../misc/MurmurHash":305}],255:[function(require,module,exports){
40027
+ },{"../Decorators":193,"../misc/MurmurHash":308}],258:[function(require,module,exports){
39613
40028
  "use strict";
39614
40029
  /*!
39615
40030
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39705,7 +40120,7 @@ exports.LexerPopModeAction = LexerPopModeAction;
39705
40120
  LexerPopModeAction.INSTANCE = new LexerPopModeAction();
39706
40121
  })(LexerPopModeAction = exports.LexerPopModeAction || (exports.LexerPopModeAction = {}));
39707
40122
 
39708
- },{"../Decorators":190,"../misc/MurmurHash":305}],256:[function(require,module,exports){
40123
+ },{"../Decorators":193,"../misc/MurmurHash":308}],259:[function(require,module,exports){
39709
40124
  "use strict";
39710
40125
  /*!
39711
40126
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39810,7 +40225,7 @@ __decorate([
39810
40225
  ], LexerPushModeAction.prototype, "toString", null);
39811
40226
  exports.LexerPushModeAction = LexerPushModeAction;
39812
40227
 
39813
- },{"../Decorators":190,"../misc/MurmurHash":305}],257:[function(require,module,exports){
40228
+ },{"../Decorators":193,"../misc/MurmurHash":308}],260:[function(require,module,exports){
39814
40229
  "use strict";
39815
40230
  /*!
39816
40231
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39906,7 +40321,7 @@ exports.LexerSkipAction = LexerSkipAction;
39906
40321
  LexerSkipAction.INSTANCE = new LexerSkipAction();
39907
40322
  })(LexerSkipAction = exports.LexerSkipAction || (exports.LexerSkipAction = {}));
39908
40323
 
39909
- },{"../Decorators":190,"../misc/MurmurHash":305}],258:[function(require,module,exports){
40324
+ },{"../Decorators":193,"../misc/MurmurHash":308}],261:[function(require,module,exports){
39910
40325
  "use strict";
39911
40326
  /*!
39912
40327
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -40010,7 +40425,7 @@ __decorate([
40010
40425
  ], LexerTypeAction.prototype, "toString", null);
40011
40426
  exports.LexerTypeAction = LexerTypeAction;
40012
40427
 
40013
- },{"../Decorators":190,"../misc/MurmurHash":305}],259:[function(require,module,exports){
40428
+ },{"../Decorators":193,"../misc/MurmurHash":308}],262:[function(require,module,exports){
40014
40429
  "use strict";
40015
40430
  /*!
40016
40431
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -40062,7 +40477,7 @@ LookaheadEventInfo = __decorate([
40062
40477
  ], LookaheadEventInfo);
40063
40478
  exports.LookaheadEventInfo = LookaheadEventInfo;
40064
40479
 
40065
- },{"../Decorators":190,"./DecisionEventInfo":241}],260:[function(require,module,exports){
40480
+ },{"../Decorators":193,"./DecisionEventInfo":244}],263:[function(require,module,exports){
40066
40481
  "use strict";
40067
40482
  /*!
40068
40483
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -40091,7 +40506,7 @@ __decorate([
40091
40506
  ], LoopEndState.prototype, "stateType", null);
40092
40507
  exports.LoopEndState = LoopEndState;
40093
40508
 
40094
- },{"../Decorators":190,"./ATNState":229,"./ATNStateType":230}],261:[function(require,module,exports){
40509
+ },{"../Decorators":193,"./ATNState":232,"./ATNStateType":233}],264:[function(require,module,exports){
40095
40510
  "use strict";
40096
40511
  /*!
40097
40512
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -40140,7 +40555,7 @@ NotSetTransition = __decorate([
40140
40555
  ], NotSetTransition);
40141
40556
  exports.NotSetTransition = NotSetTransition;
40142
40557
 
40143
- },{"../Decorators":190,"./SetTransition":279}],262:[function(require,module,exports){
40558
+ },{"../Decorators":193,"./SetTransition":282}],265:[function(require,module,exports){
40144
40559
  "use strict";
40145
40560
  /*!
40146
40561
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -40195,7 +40610,7 @@ __decorate([
40195
40610
  ], OrderedATNConfigSet.prototype, "canMerge", null);
40196
40611
  exports.OrderedATNConfigSet = OrderedATNConfigSet;
40197
40612
 
40198
- },{"../Decorators":190,"./ATNConfigSet":225}],263:[function(require,module,exports){
40613
+ },{"../Decorators":193,"./ATNConfigSet":228}],266:[function(require,module,exports){
40199
40614
  "use strict";
40200
40615
  /*!
40201
40616
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -40357,7 +40772,7 @@ ParseInfo = __decorate([
40357
40772
  ], ParseInfo);
40358
40773
  exports.ParseInfo = ParseInfo;
40359
40774
 
40360
- },{"../Decorators":190}],264:[function(require,module,exports){
40775
+ },{"../Decorators":193}],267:[function(require,module,exports){
40361
40776
  "use strict";
40362
40777
  /*!
40363
40778
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42630,7 +43045,7 @@ ParserATNSimulator = __decorate([
42630
43045
  ], ParserATNSimulator);
42631
43046
  exports.ParserATNSimulator = ParserATNSimulator;
42632
43047
 
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){
43048
+ },{"../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
43049
  "use strict";
42635
43050
  /*!
42636
43051
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42663,7 +43078,7 @@ __decorate([
42663
43078
  ], PlusBlockStartState.prototype, "stateType", null);
42664
43079
  exports.PlusBlockStartState = PlusBlockStartState;
42665
43080
 
42666
- },{"../Decorators":190,"./ATNStateType":230,"./BlockStartState":238}],266:[function(require,module,exports){
43081
+ },{"../Decorators":193,"./ATNStateType":233,"./BlockStartState":241}],269:[function(require,module,exports){
42667
43082
  "use strict";
42668
43083
  /*!
42669
43084
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42694,7 +43109,7 @@ __decorate([
42694
43109
  ], PlusLoopbackState.prototype, "stateType", null);
42695
43110
  exports.PlusLoopbackState = PlusLoopbackState;
42696
43111
 
42697
- },{"../Decorators":190,"./ATNStateType":230,"./DecisionState":243}],267:[function(require,module,exports){
43112
+ },{"../Decorators":193,"./ATNStateType":233,"./DecisionState":246}],270:[function(require,module,exports){
42698
43113
  "use strict";
42699
43114
  /*!
42700
43115
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42757,7 +43172,7 @@ PrecedencePredicateTransition = __decorate([
42757
43172
  ], PrecedencePredicateTransition);
42758
43173
  exports.PrecedencePredicateTransition = PrecedencePredicateTransition;
42759
43174
 
42760
- },{"../Decorators":190,"./AbstractPredicateTransition":231,"./SemanticContext":278}],268:[function(require,module,exports){
43175
+ },{"../Decorators":193,"./AbstractPredicateTransition":234,"./SemanticContext":281}],271:[function(require,module,exports){
42761
43176
  "use strict";
42762
43177
  /*!
42763
43178
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42820,7 +43235,7 @@ PredicateEvalInfo = __decorate([
42820
43235
  ], PredicateEvalInfo);
42821
43236
  exports.PredicateEvalInfo = PredicateEvalInfo;
42822
43237
 
42823
- },{"../Decorators":190,"./DecisionEventInfo":241}],269:[function(require,module,exports){
43238
+ },{"../Decorators":193,"./DecisionEventInfo":244}],272:[function(require,module,exports){
42824
43239
  "use strict";
42825
43240
  /*!
42826
43241
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42886,7 +43301,7 @@ PredicateTransition = __decorate([
42886
43301
  ], PredicateTransition);
42887
43302
  exports.PredicateTransition = PredicateTransition;
42888
43303
 
42889
- },{"../Decorators":190,"./AbstractPredicateTransition":231,"./SemanticContext":278}],270:[function(require,module,exports){
43304
+ },{"../Decorators":193,"./AbstractPredicateTransition":234,"./SemanticContext":281}],273:[function(require,module,exports){
42890
43305
  "use strict";
42891
43306
  /*!
42892
43307
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -43577,7 +43992,7 @@ exports.SingletonPredictionContext = SingletonPredictionContext;
43577
43992
  PredictionContext.IdentityEqualityComparator = IdentityEqualityComparator;
43578
43993
  })(PredictionContext = exports.PredictionContext || (exports.PredictionContext = {}));
43579
43994
 
43580
- },{"../Decorators":190,"../misc/Array2DHashMap":293,"../misc/Array2DHashSet":294,"../misc/Arrays":296,"../misc/MurmurHash":305,"./PredictionContextCache":271,"assert":333}],271:[function(require,module,exports){
43995
+ },{"../Decorators":193,"../misc/Array2DHashMap":296,"../misc/Array2DHashSet":297,"../misc/Arrays":299,"../misc/MurmurHash":308,"./PredictionContextCache":274,"assert":336}],274:[function(require,module,exports){
43581
43996
  "use strict";
43582
43997
  /*!
43583
43998
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -43718,7 +44133,7 @@ PredictionContextCache.UNCACHED = new PredictionContextCache(false);
43718
44133
  PredictionContextCache.IdentityCommutativePredictionContextOperands = IdentityCommutativePredictionContextOperands;
43719
44134
  })(PredictionContextCache = exports.PredictionContextCache || (exports.PredictionContextCache = {}));
43720
44135
 
43721
- },{"../Decorators":190,"../misc/Array2DHashMap":293,"../misc/ObjectEqualityComparator":306,"./PredictionContext":270,"assert":333}],272:[function(require,module,exports){
44136
+ },{"../Decorators":193,"../misc/Array2DHashMap":296,"../misc/ObjectEqualityComparator":309,"./PredictionContext":273,"assert":336}],275:[function(require,module,exports){
43722
44137
  "use strict";
43723
44138
  /*!
43724
44139
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -43879,7 +44294,7 @@ var PredictionMode;
43879
44294
  PredictionMode.allConfigsInRuleStopStates = allConfigsInRuleStopStates;
43880
44295
  })(PredictionMode = exports.PredictionMode || (exports.PredictionMode = {}));
43881
44296
 
43882
- },{"../Decorators":190,"../misc/Array2DHashMap":293,"../misc/MurmurHash":305,"./RuleStopState":276}],273:[function(require,module,exports){
44297
+ },{"../Decorators":193,"../misc/Array2DHashMap":296,"../misc/MurmurHash":308,"./RuleStopState":279}],276:[function(require,module,exports){
43883
44298
  (function (process){(function (){
43884
44299
  "use strict";
43885
44300
  /*!
@@ -44148,7 +44563,7 @@ __decorate([
44148
44563
  exports.ProfilingATNSimulator = ProfilingATNSimulator;
44149
44564
 
44150
44565
  }).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){
44566
+ },{"../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
44567
  "use strict";
44153
44568
  /*!
44154
44569
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44206,7 +44621,7 @@ RangeTransition = __decorate([
44206
44621
  ], RangeTransition);
44207
44622
  exports.RangeTransition = RangeTransition;
44208
44623
 
44209
- },{"../Decorators":190,"../misc/IntervalSet":303,"./Transition":285}],275:[function(require,module,exports){
44624
+ },{"../Decorators":193,"../misc/IntervalSet":306,"./Transition":288}],278:[function(require,module,exports){
44210
44625
  "use strict";
44211
44626
  /*!
44212
44627
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44239,7 +44654,7 @@ __decorate([
44239
44654
  ], RuleStartState.prototype, "stateType", null);
44240
44655
  exports.RuleStartState = RuleStartState;
44241
44656
 
44242
- },{"../Decorators":190,"./ATNState":229,"./ATNStateType":230}],276:[function(require,module,exports){
44657
+ },{"../Decorators":193,"./ATNState":232,"./ATNStateType":233}],279:[function(require,module,exports){
44243
44658
  "use strict";
44244
44659
  /*!
44245
44660
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44278,7 +44693,7 @@ __decorate([
44278
44693
  ], RuleStopState.prototype, "stateType", null);
44279
44694
  exports.RuleStopState = RuleStopState;
44280
44695
 
44281
- },{"../Decorators":190,"./ATNState":229,"./ATNStateType":230}],277:[function(require,module,exports){
44696
+ },{"../Decorators":193,"./ATNState":232,"./ATNStateType":233}],280:[function(require,module,exports){
44282
44697
  "use strict";
44283
44698
  /*!
44284
44699
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44334,7 +44749,7 @@ RuleTransition = __decorate([
44334
44749
  ], RuleTransition);
44335
44750
  exports.RuleTransition = RuleTransition;
44336
44751
 
44337
- },{"../Decorators":190,"./Transition":285}],278:[function(require,module,exports){
44752
+ },{"../Decorators":193,"./Transition":288}],281:[function(require,module,exports){
44338
44753
  "use strict";
44339
44754
  /*!
44340
44755
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44814,7 +45229,7 @@ exports.SemanticContext = SemanticContext;
44814
45229
  SemanticContext.OR = OR;
44815
45230
  })(SemanticContext = exports.SemanticContext || (exports.SemanticContext = {}));
44816
45231
 
44817
- },{"../Decorators":190,"../misc/Array2DHashSet":294,"../misc/ArrayEqualityComparator":295,"../misc/MurmurHash":305,"../misc/ObjectEqualityComparator":306,"../misc/Utils":309}],279:[function(require,module,exports){
45232
+ },{"../Decorators":193,"../misc/Array2DHashSet":297,"../misc/ArrayEqualityComparator":298,"../misc/MurmurHash":308,"../misc/ObjectEqualityComparator":309,"../misc/Utils":312}],282:[function(require,module,exports){
44818
45233
  "use strict";
44819
45234
  /*!
44820
45235
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44880,7 +45295,7 @@ SetTransition = __decorate([
44880
45295
  ], SetTransition);
44881
45296
  exports.SetTransition = SetTransition;
44882
45297
 
44883
- },{"../Decorators":190,"../Token":215,"../misc/IntervalSet":303,"./Transition":285}],280:[function(require,module,exports){
45298
+ },{"../Decorators":193,"../Token":218,"../misc/IntervalSet":306,"./Transition":288}],283:[function(require,module,exports){
44884
45299
  "use strict";
44885
45300
  /*!
44886
45301
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44916,7 +45331,7 @@ SimulatorState = __decorate([
44916
45331
  ], SimulatorState);
44917
45332
  exports.SimulatorState = SimulatorState;
44918
45333
 
44919
- },{"../Decorators":190,"../ParserRuleContext":206}],281:[function(require,module,exports){
45334
+ },{"../Decorators":193,"../ParserRuleContext":209}],284:[function(require,module,exports){
44920
45335
  "use strict";
44921
45336
  /*!
44922
45337
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44944,7 +45359,7 @@ __decorate([
44944
45359
  ], StarBlockStartState.prototype, "stateType", null);
44945
45360
  exports.StarBlockStartState = StarBlockStartState;
44946
45361
 
44947
- },{"../Decorators":190,"./ATNStateType":230,"./BlockStartState":238}],282:[function(require,module,exports){
45362
+ },{"../Decorators":193,"./ATNStateType":233,"./BlockStartState":241}],285:[function(require,module,exports){
44948
45363
  "use strict";
44949
45364
  /*!
44950
45365
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45001,7 +45416,7 @@ __decorate([
45001
45416
  ], StarLoopEntryState.prototype, "stateType", null);
45002
45417
  exports.StarLoopEntryState = StarLoopEntryState;
45003
45418
 
45004
- },{"../Decorators":190,"../misc/BitSet":297,"./ATNStateType":230,"./DecisionState":243}],283:[function(require,module,exports){
45419
+ },{"../Decorators":193,"../misc/BitSet":300,"./ATNStateType":233,"./DecisionState":246}],286:[function(require,module,exports){
45005
45420
  "use strict";
45006
45421
  /*!
45007
45422
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45032,7 +45447,7 @@ __decorate([
45032
45447
  ], StarLoopbackState.prototype, "stateType", null);
45033
45448
  exports.StarLoopbackState = StarLoopbackState;
45034
45449
 
45035
- },{"../Decorators":190,"./ATNState":229,"./ATNStateType":230}],284:[function(require,module,exports){
45450
+ },{"../Decorators":193,"./ATNState":232,"./ATNStateType":233}],287:[function(require,module,exports){
45036
45451
  "use strict";
45037
45452
  /*!
45038
45453
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45061,7 +45476,7 @@ __decorate([
45061
45476
  ], TokensStartState.prototype, "stateType", null);
45062
45477
  exports.TokensStartState = TokensStartState;
45063
45478
 
45064
- },{"../Decorators":190,"./ATNStateType":230,"./DecisionState":243}],285:[function(require,module,exports){
45479
+ },{"../Decorators":193,"./ATNStateType":233,"./DecisionState":246}],288:[function(require,module,exports){
45065
45480
  "use strict";
45066
45481
  /*!
45067
45482
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45135,7 +45550,7 @@ Transition = __decorate([
45135
45550
  ], Transition);
45136
45551
  exports.Transition = Transition;
45137
45552
 
45138
- },{"../Decorators":190}],286:[function(require,module,exports){
45553
+ },{"../Decorators":193}],289:[function(require,module,exports){
45139
45554
  "use strict";
45140
45555
  /*!
45141
45556
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45183,7 +45598,7 @@ WildcardTransition = __decorate([
45183
45598
  ], WildcardTransition);
45184
45599
  exports.WildcardTransition = WildcardTransition;
45185
45600
 
45186
- },{"../Decorators":190,"./Transition":285}],287:[function(require,module,exports){
45601
+ },{"../Decorators":193,"./Transition":288}],290:[function(require,module,exports){
45187
45602
  "use strict";
45188
45603
  /*!
45189
45604
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45225,7 +45640,7 @@ class AcceptStateInfo {
45225
45640
  }
45226
45641
  exports.AcceptStateInfo = AcceptStateInfo;
45227
45642
 
45228
- },{}],288:[function(require,module,exports){
45643
+ },{}],291:[function(require,module,exports){
45229
45644
  "use strict";
45230
45645
  /*!
45231
45646
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45400,7 +45815,7 @@ DFA = __decorate([
45400
45815
  ], DFA);
45401
45816
  exports.DFA = DFA;
45402
45817
 
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){
45818
+ },{"../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
45819
  "use strict";
45405
45820
  /*!
45406
45821
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45542,7 +45957,7 @@ __decorate([
45542
45957
  ], DFASerializer.prototype, "toString", null);
45543
45958
  exports.DFASerializer = DFASerializer;
45544
45959
 
45545
- },{"../Decorators":190,"../Recognizer":210,"../VocabularyImpl":221,"../atn/ATNSimulator":228,"../atn/PredictionContext":270}],290:[function(require,module,exports){
45960
+ },{"../Decorators":193,"../Recognizer":213,"../VocabularyImpl":224,"../atn/ATNSimulator":231,"../atn/PredictionContext":273}],293:[function(require,module,exports){
45546
45961
  "use strict";
45547
45962
  /*!
45548
45963
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45773,7 +46188,7 @@ exports.DFAState = DFAState;
45773
46188
  DFAState.PredPrediction = PredPrediction;
45774
46189
  })(DFAState = exports.DFAState || (exports.DFAState = {}));
45775
46190
 
45776
- },{"../Decorators":190,"../atn/ATN":223,"../atn/PredictionContext":270,"../misc/BitSet":297,"../misc/MurmurHash":305,"assert":333}],291:[function(require,module,exports){
46191
+ },{"../Decorators":193,"../atn/ATN":226,"../atn/PredictionContext":273,"../misc/BitSet":300,"../misc/MurmurHash":308,"assert":336}],294:[function(require,module,exports){
45777
46192
  "use strict";
45778
46193
  /*!
45779
46194
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45810,7 +46225,7 @@ LexerDFASerializer = __decorate([
45810
46225
  ], LexerDFASerializer);
45811
46226
  exports.LexerDFASerializer = LexerDFASerializer;
45812
46227
 
45813
- },{"../Decorators":190,"../VocabularyImpl":221,"./DFASerializer":289}],292:[function(require,module,exports){
46228
+ },{"../Decorators":193,"../VocabularyImpl":224,"./DFASerializer":292}],295:[function(require,module,exports){
45814
46229
  "use strict";
45815
46230
  /*!
45816
46231
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45876,7 +46291,7 @@ __exportStar(require("./Vocabulary"), exports);
45876
46291
  __exportStar(require("./VocabularyImpl"), exports);
45877
46292
  __exportStar(require("./WritableToken"), exports);
45878
46293
 
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){
46294
+ },{"./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
46295
  "use strict";
45881
46296
  /*!
45882
46297
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45959,7 +46374,7 @@ class Array2DHashMap {
45959
46374
  }
45960
46375
  exports.Array2DHashMap = Array2DHashMap;
45961
46376
 
45962
- },{"./Array2DHashSet":294}],294:[function(require,module,exports){
46377
+ },{"./Array2DHashSet":297}],297:[function(require,module,exports){
45963
46378
  "use strict";
45964
46379
  /*!
45965
46380
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46326,7 +46741,7 @@ __decorate([
46326
46741
  ], Array2DHashSet.prototype, "createBuckets", null);
46327
46742
  exports.Array2DHashSet = Array2DHashSet;
46328
46743
 
46329
- },{"../Decorators":190,"./DefaultEqualityComparator":299,"./MurmurHash":305,"assert":333}],295:[function(require,module,exports){
46744
+ },{"../Decorators":193,"./DefaultEqualityComparator":302,"./MurmurHash":308,"assert":336}],298:[function(require,module,exports){
46330
46745
  "use strict";
46331
46746
  /*!
46332
46747
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46398,7 +46813,7 @@ __decorate([
46398
46813
  ], ArrayEqualityComparator.prototype, "equals", null);
46399
46814
  exports.ArrayEqualityComparator = ArrayEqualityComparator;
46400
46815
 
46401
- },{"../Decorators":190,"./MurmurHash":305,"./ObjectEqualityComparator":306}],296:[function(require,module,exports){
46816
+ },{"../Decorators":193,"./MurmurHash":308,"./ObjectEqualityComparator":309}],299:[function(require,module,exports){
46402
46817
  "use strict";
46403
46818
  /*!
46404
46819
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46468,7 +46883,7 @@ var Arrays;
46468
46883
  Arrays.toString = toString;
46469
46884
  })(Arrays = exports.Arrays || (exports.Arrays = {}));
46470
46885
 
46471
- },{}],297:[function(require,module,exports){
46886
+ },{}],300:[function(require,module,exports){
46472
46887
  "use strict";
46473
46888
  /*!
46474
46889
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -47140,7 +47555,7 @@ class BitSetIterator {
47140
47555
  [Symbol.iterator]() { return this; }
47141
47556
  }
47142
47557
 
47143
- },{"./MurmurHash":305,"util":386}],298:[function(require,module,exports){
47558
+ },{"./MurmurHash":308,"util":389}],301:[function(require,module,exports){
47144
47559
  "use strict";
47145
47560
  /*!
47146
47561
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -47161,7 +47576,7 @@ function isSupplementaryCodePoint(ch) {
47161
47576
  }
47162
47577
  exports.isSupplementaryCodePoint = isSupplementaryCodePoint;
47163
47578
 
47164
- },{}],299:[function(require,module,exports){
47579
+ },{}],302:[function(require,module,exports){
47165
47580
  "use strict";
47166
47581
  /*!
47167
47582
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -47232,7 +47647,7 @@ __decorate([
47232
47647
  ], DefaultEqualityComparator.prototype, "equals", null);
47233
47648
  exports.DefaultEqualityComparator = DefaultEqualityComparator;
47234
47649
 
47235
- },{"../Decorators":190,"./MurmurHash":305,"./ObjectEqualityComparator":306}],300:[function(require,module,exports){
47650
+ },{"../Decorators":193,"./MurmurHash":308,"./ObjectEqualityComparator":309}],303:[function(require,module,exports){
47236
47651
  "use strict";
47237
47652
  /*!
47238
47653
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -47526,7 +47941,7 @@ __decorate([
47526
47941
  ], IntegerList.prototype, "toString", null);
47527
47942
  exports.IntegerList = IntegerList;
47528
47943
 
47529
- },{"../Decorators":190,"./Arrays":296}],301:[function(require,module,exports){
47944
+ },{"../Decorators":193,"./Arrays":299}],304:[function(require,module,exports){
47530
47945
  "use strict";
47531
47946
  /*!
47532
47947
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -47556,7 +47971,7 @@ class IntegerStack extends IntegerList_1.IntegerList {
47556
47971
  }
47557
47972
  exports.IntegerStack = IntegerStack;
47558
47973
 
47559
- },{"./IntegerList":300}],302:[function(require,module,exports){
47974
+ },{"./IntegerList":303}],305:[function(require,module,exports){
47560
47975
  "use strict";
47561
47976
  /*!
47562
47977
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -47699,7 +48114,7 @@ __decorate([
47699
48114
  ], Interval.prototype, "toString", null);
47700
48115
  exports.Interval = Interval;
47701
48116
 
47702
- },{"../Decorators":190}],303:[function(require,module,exports){
48117
+ },{"../Decorators":193}],306:[function(require,module,exports){
47703
48118
  "use strict";
47704
48119
  /*!
47705
48120
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48345,7 +48760,7 @@ __decorate([
48345
48760
  ], IntervalSet, "subtract", null);
48346
48761
  exports.IntervalSet = IntervalSet;
48347
48762
 
48348
- },{"../Decorators":190,"../Lexer":198,"../Token":215,"./ArrayEqualityComparator":295,"./IntegerList":300,"./Interval":302,"./MurmurHash":305}],304:[function(require,module,exports){
48763
+ },{"../Decorators":193,"../Lexer":201,"../Token":218,"./ArrayEqualityComparator":298,"./IntegerList":303,"./Interval":305,"./MurmurHash":308}],307:[function(require,module,exports){
48349
48764
  "use strict";
48350
48765
  /*!
48351
48766
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48378,7 +48793,7 @@ class MultiMap extends Map {
48378
48793
  }
48379
48794
  exports.MultiMap = MultiMap;
48380
48795
 
48381
- },{}],305:[function(require,module,exports){
48796
+ },{}],308:[function(require,module,exports){
48382
48797
  "use strict";
48383
48798
  /*!
48384
48799
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48493,7 +48908,7 @@ var MurmurHash;
48493
48908
  }
48494
48909
  })(MurmurHash = exports.MurmurHash || (exports.MurmurHash = {}));
48495
48910
 
48496
- },{}],306:[function(require,module,exports){
48911
+ },{}],309:[function(require,module,exports){
48497
48912
  "use strict";
48498
48913
  /*!
48499
48914
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48552,7 +48967,7 @@ __decorate([
48552
48967
  ], ObjectEqualityComparator.prototype, "equals", null);
48553
48968
  exports.ObjectEqualityComparator = ObjectEqualityComparator;
48554
48969
 
48555
- },{"../Decorators":190}],307:[function(require,module,exports){
48970
+ },{"../Decorators":193}],310:[function(require,module,exports){
48556
48971
  "use strict";
48557
48972
  /*!
48558
48973
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48581,7 +48996,7 @@ class ParseCancellationException extends Error {
48581
48996
  }
48582
48997
  exports.ParseCancellationException = ParseCancellationException;
48583
48998
 
48584
- },{}],308:[function(require,module,exports){
48999
+ },{}],311:[function(require,module,exports){
48585
49000
  "use strict";
48586
49001
  /*!
48587
49002
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48635,7 +49050,7 @@ class UUID {
48635
49050
  }
48636
49051
  exports.UUID = UUID;
48637
49052
 
48638
- },{"./MurmurHash":305}],309:[function(require,module,exports){
49053
+ },{"./MurmurHash":308}],312:[function(require,module,exports){
48639
49054
  "use strict";
48640
49055
  /*!
48641
49056
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48810,7 +49225,7 @@ exports.toCharArray = toCharArray;
48810
49225
  // return s;
48811
49226
  // }
48812
49227
 
48813
- },{}],310:[function(require,module,exports){
49228
+ },{}],313:[function(require,module,exports){
48814
49229
  "use strict";
48815
49230
  /*!
48816
49231
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48846,7 +49261,7 @@ __decorate([
48846
49261
  ], ErrorNode.prototype, "accept", null);
48847
49262
  exports.ErrorNode = ErrorNode;
48848
49263
 
48849
- },{"../Decorators":190,"./TerminalNode":313}],311:[function(require,module,exports){
49264
+ },{"../Decorators":193,"./TerminalNode":316}],314:[function(require,module,exports){
48850
49265
  "use strict";
48851
49266
  /*!
48852
49267
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48951,7 +49366,7 @@ exports.ParseTreeWalker = ParseTreeWalker;
48951
49366
  ParseTreeWalker.DEFAULT = new ParseTreeWalker();
48952
49367
  })(ParseTreeWalker = exports.ParseTreeWalker || (exports.ParseTreeWalker = {}));
48953
49368
 
48954
- },{"./ErrorNode":310,"./RuleNode":312,"./TerminalNode":313}],312:[function(require,module,exports){
49369
+ },{"./ErrorNode":313,"./RuleNode":315,"./TerminalNode":316}],315:[function(require,module,exports){
48955
49370
  "use strict";
48956
49371
  /*!
48957
49372
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48963,7 +49378,7 @@ class RuleNode {
48963
49378
  }
48964
49379
  exports.RuleNode = RuleNode;
48965
49380
 
48966
- },{}],313:[function(require,module,exports){
49381
+ },{}],316:[function(require,module,exports){
48967
49382
  "use strict";
48968
49383
  /*!
48969
49384
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -49055,7 +49470,7 @@ __decorate([
49055
49470
  ], TerminalNode.prototype, "toString", null);
49056
49471
  exports.TerminalNode = TerminalNode;
49057
49472
 
49058
- },{"../Decorators":190,"../Token":215,"../misc/Interval":302}],314:[function(require,module,exports){
49473
+ },{"../Decorators":193,"../Token":218,"../misc/Interval":305}],317:[function(require,module,exports){
49059
49474
  "use strict";
49060
49475
  /*!
49061
49476
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -49299,7 +49714,7 @@ __decorate([
49299
49714
  ], Trees, "getRootOfSubtreeEnclosingRegion", null);
49300
49715
  exports.Trees = Trees;
49301
49716
 
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){
49717
+ },{"../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
49718
  "use strict";
49304
49719
  /*!
49305
49720
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -49323,7 +49738,7 @@ class Chunk {
49323
49738
  }
49324
49739
  exports.Chunk = Chunk;
49325
49740
 
49326
- },{}],316:[function(require,module,exports){
49741
+ },{}],319:[function(require,module,exports){
49327
49742
  "use strict";
49328
49743
  /*!
49329
49744
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -49503,7 +49918,7 @@ ParseTreeMatch = __decorate([
49503
49918
  ], ParseTreeMatch);
49504
49919
  exports.ParseTreeMatch = ParseTreeMatch;
49505
49920
 
49506
- },{"../../Decorators":190}],317:[function(require,module,exports){
49921
+ },{"../../Decorators":193}],320:[function(require,module,exports){
49507
49922
  "use strict";
49508
49923
  /*!
49509
49924
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -49661,7 +50076,7 @@ ParseTreePattern = __decorate([
49661
50076
  ], ParseTreePattern);
49662
50077
  exports.ParseTreePattern = ParseTreePattern;
49663
50078
 
49664
- },{"../../Decorators":190,"../xpath/XPath":323}],318:[function(require,module,exports){
50079
+ },{"../../Decorators":193,"../xpath/XPath":326}],321:[function(require,module,exports){
49665
50080
  "use strict";
49666
50081
  /*!
49667
50082
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -50139,7 +50554,7 @@ exports.ParseTreePatternMatcher = ParseTreePatternMatcher;
50139
50554
  ParseTreePatternMatcher.StartRuleDoesNotConsumeFullPattern = StartRuleDoesNotConsumeFullPattern;
50140
50555
  })(ParseTreePatternMatcher = exports.ParseTreePatternMatcher || (exports.ParseTreePatternMatcher = {}));
50141
50556
 
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){
50557
+ },{"../../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
50558
  "use strict";
50144
50559
  /*!
50145
50560
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -50337,7 +50752,7 @@ RuleTagToken = __decorate([
50337
50752
  ], RuleTagToken);
50338
50753
  exports.RuleTagToken = RuleTagToken;
50339
50754
 
50340
- },{"../../Decorators":190,"../../Token":215}],320:[function(require,module,exports){
50755
+ },{"../../Decorators":193,"../../Token":218}],323:[function(require,module,exports){
50341
50756
  "use strict";
50342
50757
  /*!
50343
50758
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -50424,7 +50839,7 @@ __decorate([
50424
50839
  ], TagChunk.prototype, "toString", null);
50425
50840
  exports.TagChunk = TagChunk;
50426
50841
 
50427
- },{"../../Decorators":190,"./Chunk":315}],321:[function(require,module,exports){
50842
+ },{"../../Decorators":193,"./Chunk":318}],324:[function(require,module,exports){
50428
50843
  "use strict";
50429
50844
  /*!
50430
50845
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -50494,7 +50909,7 @@ TextChunk = __decorate([
50494
50909
  ], TextChunk);
50495
50910
  exports.TextChunk = TextChunk;
50496
50911
 
50497
- },{"../../Decorators":190,"./Chunk":315}],322:[function(require,module,exports){
50912
+ },{"../../Decorators":193,"./Chunk":318}],325:[function(require,module,exports){
50498
50913
  "use strict";
50499
50914
  /*!
50500
50915
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -50589,7 +51004,7 @@ TokenTagToken = __decorate([
50589
51004
  ], TokenTagToken);
50590
51005
  exports.TokenTagToken = TokenTagToken;
50591
51006
 
50592
- },{"../../CommonToken":186,"../../Decorators":190}],323:[function(require,module,exports){
51007
+ },{"../../CommonToken":189,"../../Decorators":193}],326:[function(require,module,exports){
50593
51008
  "use strict";
50594
51009
  /*!
50595
51010
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -50786,7 +51201,7 @@ exports.XPath = XPath;
50786
51201
  XPath.WILDCARD = "*"; // word not operator/separator
50787
51202
  XPath.NOT = "!"; // word for invert operator
50788
51203
 
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){
51204
+ },{"../../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
51205
  "use strict";
50791
51206
  /*!
50792
51207
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -50821,7 +51236,7 @@ __decorate([
50821
51236
  ], XPathElement.prototype, "toString", null);
50822
51237
  exports.XPathElement = XPathElement;
50823
51238
 
50824
- },{"../../Decorators":190}],325:[function(require,module,exports){
51239
+ },{"../../Decorators":193}],328:[function(require,module,exports){
50825
51240
  "use strict";
50826
51241
  // Generated from XPathLexer.g4 by ANTLR 4.9.0-SNAPSHOT
50827
51242
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -51296,7 +51711,7 @@ XPathLexer._serializedATN = Utils.join([
51296
51711
  XPathLexer._serializedATNSegment1,
51297
51712
  ], "");
51298
51713
 
51299
- },{"../../Lexer":198,"../../VocabularyImpl":221,"../../atn/ATNDeserializer":227,"../../atn/LexerATNSimulator":248,"../../misc/Utils":309}],326:[function(require,module,exports){
51714
+ },{"../../Lexer":201,"../../VocabularyImpl":224,"../../atn/ATNDeserializer":230,"../../atn/LexerATNSimulator":251,"../../misc/Utils":312}],329:[function(require,module,exports){
51300
51715
  "use strict";
51301
51716
  /*!
51302
51717
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51321,7 +51736,7 @@ __decorate([
51321
51736
  ], XPathLexerErrorListener.prototype, "syntaxError", null);
51322
51737
  exports.XPathLexerErrorListener = XPathLexerErrorListener;
51323
51738
 
51324
- },{"../../Decorators":190}],327:[function(require,module,exports){
51739
+ },{"../../Decorators":193}],330:[function(require,module,exports){
51325
51740
  "use strict";
51326
51741
  /*!
51327
51742
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51355,7 +51770,7 @@ __decorate([
51355
51770
  ], XPathRuleAnywhereElement.prototype, "evaluate", null);
51356
51771
  exports.XPathRuleAnywhereElement = XPathRuleAnywhereElement;
51357
51772
 
51358
- },{"../../Decorators":190,"../Trees":314,"./XPathElement":324}],328:[function(require,module,exports){
51773
+ },{"../../Decorators":193,"../Trees":317,"./XPathElement":327}],331:[function(require,module,exports){
51359
51774
  "use strict";
51360
51775
  /*!
51361
51776
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51398,7 +51813,7 @@ __decorate([
51398
51813
  ], XPathRuleElement.prototype, "evaluate", null);
51399
51814
  exports.XPathRuleElement = XPathRuleElement;
51400
51815
 
51401
- },{"../../Decorators":190,"../../ParserRuleContext":206,"../Trees":314,"./XPathElement":324}],329:[function(require,module,exports){
51816
+ },{"../../Decorators":193,"../../ParserRuleContext":209,"../Trees":317,"./XPathElement":327}],332:[function(require,module,exports){
51402
51817
  "use strict";
51403
51818
  /*!
51404
51819
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51430,7 +51845,7 @@ __decorate([
51430
51845
  ], XPathTokenAnywhereElement.prototype, "evaluate", null);
51431
51846
  exports.XPathTokenAnywhereElement = XPathTokenAnywhereElement;
51432
51847
 
51433
- },{"../../Decorators":190,"../Trees":314,"./XPathElement":324}],330:[function(require,module,exports){
51848
+ },{"../../Decorators":193,"../Trees":317,"./XPathElement":327}],333:[function(require,module,exports){
51434
51849
  "use strict";
51435
51850
  /*!
51436
51851
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51473,7 +51888,7 @@ __decorate([
51473
51888
  ], XPathTokenElement.prototype, "evaluate", null);
51474
51889
  exports.XPathTokenElement = XPathTokenElement;
51475
51890
 
51476
- },{"../../Decorators":190,"../TerminalNode":313,"../Trees":314,"./XPathElement":324}],331:[function(require,module,exports){
51891
+ },{"../../Decorators":193,"../TerminalNode":316,"../Trees":317,"./XPathElement":327}],334:[function(require,module,exports){
51477
51892
  "use strict";
51478
51893
  /*!
51479
51894
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51509,7 +51924,7 @@ __decorate([
51509
51924
  ], XPathWildcardAnywhereElement.prototype, "evaluate", null);
51510
51925
  exports.XPathWildcardAnywhereElement = XPathWildcardAnywhereElement;
51511
51926
 
51512
- },{"../../Decorators":190,"../Trees":314,"./XPath":323,"./XPathElement":324}],332:[function(require,module,exports){
51927
+ },{"../../Decorators":193,"../Trees":317,"./XPath":326,"./XPathElement":327}],335:[function(require,module,exports){
51513
51928
  "use strict";
51514
51929
  /*!
51515
51930
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51549,7 +51964,7 @@ __decorate([
51549
51964
  ], XPathWildcardElement.prototype, "evaluate", null);
51550
51965
  exports.XPathWildcardElement = XPathWildcardElement;
51551
51966
 
51552
- },{"../../Decorators":190,"../Trees":314,"./XPath":323,"./XPathElement":324}],333:[function(require,module,exports){
51967
+ },{"../../Decorators":193,"../Trees":317,"./XPath":326,"./XPathElement":327}],336:[function(require,module,exports){
51553
51968
  (function (global){(function (){
51554
51969
  'use strict';
51555
51970
 
@@ -52059,7 +52474,7 @@ var objectKeys = Object.keys || function (obj) {
52059
52474
  };
52060
52475
 
52061
52476
  }).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){
52477
+ },{"object.assign/polyfill":382,"util/":339}],337:[function(require,module,exports){
52063
52478
  if (typeof Object.create === 'function') {
52064
52479
  // implementation from standard node.js 'util' module
52065
52480
  module.exports = function inherits(ctor, superCtor) {
@@ -52084,14 +52499,14 @@ if (typeof Object.create === 'function') {
52084
52499
  }
52085
52500
  }
52086
52501
 
52087
- },{}],335:[function(require,module,exports){
52502
+ },{}],338:[function(require,module,exports){
52088
52503
  module.exports = function isBuffer(arg) {
52089
52504
  return arg && typeof arg === 'object'
52090
52505
  && typeof arg.copy === 'function'
52091
52506
  && typeof arg.fill === 'function'
52092
52507
  && typeof arg.readUInt8 === 'function';
52093
52508
  }
52094
- },{}],336:[function(require,module,exports){
52509
+ },{}],339:[function(require,module,exports){
52095
52510
  (function (process,global){(function (){
52096
52511
  // Copyright Joyent, Inc. and other Node contributors.
52097
52512
  //
@@ -52681,7 +53096,7 @@ function hasOwnProperty(obj, prop) {
52681
53096
  }
52682
53097
 
52683
53098
  }).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){
53099
+ },{"./support/isBuffer":338,"_process":384,"inherits":337}],340:[function(require,module,exports){
52685
53100
  (function (global){(function (){
52686
53101
  'use strict';
52687
53102
 
@@ -52702,7 +53117,7 @@ module.exports = function availableTypedArrays() {
52702
53117
  };
52703
53118
 
52704
53119
  }).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){
53120
+ },{"possible-typed-array-names":383}],341:[function(require,module,exports){
52706
53121
  (function (process,global){(function (){
52707
53122
  module.exports = process.hrtime || hrtime
52708
53123
 
@@ -52733,7 +53148,7 @@ function hrtime(previousTimestamp){
52733
53148
  return [seconds,nanoseconds]
52734
53149
  }
52735
53150
  }).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){
53151
+ },{"_process":384}],342:[function(require,module,exports){
52737
53152
  'use strict';
52738
53153
 
52739
53154
  var GetIntrinsic = require('get-intrinsic');
@@ -52750,7 +53165,7 @@ module.exports = function callBoundIntrinsic(name, allowMissing) {
52750
53165
  return intrinsic;
52751
53166
  };
52752
53167
 
52753
- },{"./":340,"get-intrinsic":343}],340:[function(require,module,exports){
53168
+ },{"./":343,"get-intrinsic":346}],343:[function(require,module,exports){
52754
53169
  'use strict';
52755
53170
 
52756
53171
  var bind = require('function-bind');
@@ -52799,7 +53214,7 @@ if ($defineProperty) {
52799
53214
  module.exports.apply = applyBind;
52800
53215
  }
52801
53216
 
52802
- },{"function-bind":342,"get-intrinsic":343}],341:[function(require,module,exports){
53217
+ },{"function-bind":345,"get-intrinsic":346}],344:[function(require,module,exports){
52803
53218
  'use strict';
52804
53219
 
52805
53220
  /* eslint no-invalid-this: 1 */
@@ -52853,14 +53268,14 @@ module.exports = function bind(that) {
52853
53268
  return bound;
52854
53269
  };
52855
53270
 
52856
- },{}],342:[function(require,module,exports){
53271
+ },{}],345:[function(require,module,exports){
52857
53272
  'use strict';
52858
53273
 
52859
53274
  var implementation = require('./implementation');
52860
53275
 
52861
53276
  module.exports = Function.prototype.bind || implementation;
52862
53277
 
52863
- },{"./implementation":341}],343:[function(require,module,exports){
53278
+ },{"./implementation":344}],346:[function(require,module,exports){
52864
53279
  'use strict';
52865
53280
 
52866
53281
  var undefined;
@@ -53206,7 +53621,7 @@ module.exports = function GetIntrinsic(name, allowMissing) {
53206
53621
  return value;
53207
53622
  };
53208
53623
 
53209
- },{"function-bind":342,"has":367,"has-symbols":362}],344:[function(require,module,exports){
53624
+ },{"function-bind":345,"has":370,"has-symbols":365}],347:[function(require,module,exports){
53210
53625
  'use strict';
53211
53626
 
53212
53627
  var $defineProperty = require('es-define-property');
@@ -53264,7 +53679,7 @@ module.exports = function defineDataProperty(
53264
53679
  }
53265
53680
  };
53266
53681
 
53267
- },{"es-define-property":345,"es-errors/syntax":350,"es-errors/type":351,"gopd":357}],345:[function(require,module,exports){
53682
+ },{"es-define-property":348,"es-errors/syntax":353,"es-errors/type":354,"gopd":360}],348:[function(require,module,exports){
53268
53683
  'use strict';
53269
53684
 
53270
53685
  var GetIntrinsic = require('get-intrinsic');
@@ -53282,49 +53697,49 @@ if ($defineProperty) {
53282
53697
 
53283
53698
  module.exports = $defineProperty;
53284
53699
 
53285
- },{"get-intrinsic":356}],346:[function(require,module,exports){
53700
+ },{"get-intrinsic":359}],349:[function(require,module,exports){
53286
53701
  'use strict';
53287
53702
 
53288
53703
  /** @type {import('./eval')} */
53289
53704
  module.exports = EvalError;
53290
53705
 
53291
- },{}],347:[function(require,module,exports){
53706
+ },{}],350:[function(require,module,exports){
53292
53707
  'use strict';
53293
53708
 
53294
53709
  /** @type {import('.')} */
53295
53710
  module.exports = Error;
53296
53711
 
53297
- },{}],348:[function(require,module,exports){
53712
+ },{}],351:[function(require,module,exports){
53298
53713
  'use strict';
53299
53714
 
53300
53715
  /** @type {import('./range')} */
53301
53716
  module.exports = RangeError;
53302
53717
 
53303
- },{}],349:[function(require,module,exports){
53718
+ },{}],352:[function(require,module,exports){
53304
53719
  'use strict';
53305
53720
 
53306
53721
  /** @type {import('./ref')} */
53307
53722
  module.exports = ReferenceError;
53308
53723
 
53309
- },{}],350:[function(require,module,exports){
53724
+ },{}],353:[function(require,module,exports){
53310
53725
  'use strict';
53311
53726
 
53312
53727
  /** @type {import('./syntax')} */
53313
53728
  module.exports = SyntaxError;
53314
53729
 
53315
- },{}],351:[function(require,module,exports){
53730
+ },{}],354:[function(require,module,exports){
53316
53731
  'use strict';
53317
53732
 
53318
53733
  /** @type {import('./type')} */
53319
53734
  module.exports = TypeError;
53320
53735
 
53321
- },{}],352:[function(require,module,exports){
53736
+ },{}],355:[function(require,module,exports){
53322
53737
  'use strict';
53323
53738
 
53324
53739
  /** @type {import('./uri')} */
53325
53740
  module.exports = URIError;
53326
53741
 
53327
- },{}],353:[function(require,module,exports){
53742
+ },{}],356:[function(require,module,exports){
53328
53743
  'use strict';
53329
53744
 
53330
53745
  var isCallable = require('is-callable');
@@ -53388,7 +53803,7 @@ var forEach = function forEach(list, iterator, thisArg) {
53388
53803
 
53389
53804
  module.exports = forEach;
53390
53805
 
53391
- },{"is-callable":371}],354:[function(require,module,exports){
53806
+ },{"is-callable":374}],357:[function(require,module,exports){
53392
53807
  'use strict';
53393
53808
 
53394
53809
  /* eslint no-invalid-this: 1 */
@@ -53474,9 +53889,9 @@ module.exports = function bind(that) {
53474
53889
  return bound;
53475
53890
  };
53476
53891
 
53477
- },{}],355:[function(require,module,exports){
53478
- arguments[4][342][0].apply(exports,arguments)
53479
- },{"./implementation":354,"dup":342}],356:[function(require,module,exports){
53892
+ },{}],358:[function(require,module,exports){
53893
+ arguments[4][345][0].apply(exports,arguments)
53894
+ },{"./implementation":357,"dup":345}],359:[function(require,module,exports){
53480
53895
  'use strict';
53481
53896
 
53482
53897
  var undefined;
@@ -53837,7 +54252,7 @@ module.exports = function GetIntrinsic(name, allowMissing) {
53837
54252
  return value;
53838
54253
  };
53839
54254
 
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){
54255
+ },{"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
54256
  'use strict';
53842
54257
 
53843
54258
  var GetIntrinsic = require('get-intrinsic');
@@ -53855,13 +54270,13 @@ if ($gOPD) {
53855
54270
 
53856
54271
  module.exports = $gOPD;
53857
54272
 
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){
54273
+ },{"get-intrinsic":363}],361:[function(require,module,exports){
54274
+ arguments[4][344][0].apply(exports,arguments)
54275
+ },{"dup":344}],362:[function(require,module,exports){
54276
+ arguments[4][345][0].apply(exports,arguments)
54277
+ },{"./implementation":361,"dup":345}],363:[function(require,module,exports){
54278
+ arguments[4][346][0].apply(exports,arguments)
54279
+ },{"dup":346,"function-bind":362,"has":370,"has-symbols":365}],364:[function(require,module,exports){
53865
54280
  'use strict';
53866
54281
 
53867
54282
  var test = {
@@ -53874,7 +54289,7 @@ module.exports = function hasProto() {
53874
54289
  return { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);
53875
54290
  };
53876
54291
 
53877
- },{}],362:[function(require,module,exports){
54292
+ },{}],365:[function(require,module,exports){
53878
54293
  'use strict';
53879
54294
 
53880
54295
  var origSymbol = typeof Symbol !== 'undefined' && Symbol;
@@ -53889,7 +54304,7 @@ module.exports = function hasNativeSymbols() {
53889
54304
  return hasSymbolSham();
53890
54305
  };
53891
54306
 
53892
- },{"./shams":363}],363:[function(require,module,exports){
54307
+ },{"./shams":366}],366:[function(require,module,exports){
53893
54308
  'use strict';
53894
54309
 
53895
54310
  /* eslint complexity: [2, 18], max-statements: [2, 33] */
@@ -53933,7 +54348,7 @@ module.exports = function hasSymbols() {
53933
54348
  return true;
53934
54349
  };
53935
54350
 
53936
- },{}],364:[function(require,module,exports){
54351
+ },{}],367:[function(require,module,exports){
53937
54352
  'use strict';
53938
54353
 
53939
54354
  var hasSymbols = require('has-symbols/shams');
@@ -53942,18 +54357,18 @@ module.exports = function hasToStringTagShams() {
53942
54357
  return hasSymbols() && !!Symbol.toStringTag;
53943
54358
  };
53944
54359
 
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){
54360
+ },{"has-symbols/shams":366}],368:[function(require,module,exports){
54361
+ arguments[4][344][0].apply(exports,arguments)
54362
+ },{"dup":344}],369:[function(require,module,exports){
54363
+ arguments[4][345][0].apply(exports,arguments)
54364
+ },{"./implementation":368,"dup":345}],370:[function(require,module,exports){
53950
54365
  'use strict';
53951
54366
 
53952
54367
  var bind = require('function-bind');
53953
54368
 
53954
54369
  module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
53955
54370
 
53956
- },{"function-bind":366}],368:[function(require,module,exports){
54371
+ },{"function-bind":369}],371:[function(require,module,exports){
53957
54372
  'use strict';
53958
54373
 
53959
54374
  var call = Function.prototype.call;
@@ -53963,7 +54378,7 @@ var bind = require('function-bind');
53963
54378
  /** @type {import('.')} */
53964
54379
  module.exports = bind.call(call, $hasOwn);
53965
54380
 
53966
- },{"function-bind":355}],369:[function(require,module,exports){
54381
+ },{"function-bind":358}],372:[function(require,module,exports){
53967
54382
  if (typeof Object.create === 'function') {
53968
54383
  // implementation from standard node.js 'util' module
53969
54384
  module.exports = function inherits(ctor, superCtor) {
@@ -53992,7 +54407,7 @@ if (typeof Object.create === 'function') {
53992
54407
  }
53993
54408
  }
53994
54409
 
53995
- },{}],370:[function(require,module,exports){
54410
+ },{}],373:[function(require,module,exports){
53996
54411
  'use strict';
53997
54412
 
53998
54413
  var hasToStringTag = require('has-tostringtag/shams')();
@@ -54027,7 +54442,7 @@ isStandardArguments.isLegacyArguments = isLegacyArguments; // for tests
54027
54442
 
54028
54443
  module.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;
54029
54444
 
54030
- },{"call-bind/callBound":339,"has-tostringtag/shams":364}],371:[function(require,module,exports){
54445
+ },{"call-bind/callBound":342,"has-tostringtag/shams":367}],374:[function(require,module,exports){
54031
54446
  'use strict';
54032
54447
 
54033
54448
  var fnToStr = Function.prototype.toString;
@@ -54130,7 +54545,7 @@ module.exports = reflectApply
54130
54545
  return tryFunctionObject(value);
54131
54546
  };
54132
54547
 
54133
- },{}],372:[function(require,module,exports){
54548
+ },{}],375:[function(require,module,exports){
54134
54549
  'use strict';
54135
54550
 
54136
54551
  var toStr = Object.prototype.toString;
@@ -54170,7 +54585,7 @@ module.exports = function isGeneratorFunction(fn) {
54170
54585
  return getProto(fn) === GeneratorFunction;
54171
54586
  };
54172
54587
 
54173
- },{"has-tostringtag/shams":364}],373:[function(require,module,exports){
54588
+ },{"has-tostringtag/shams":367}],376:[function(require,module,exports){
54174
54589
  'use strict';
54175
54590
 
54176
54591
  var whichTypedArray = require('which-typed-array');
@@ -54180,7 +54595,7 @@ module.exports = function isTypedArray(value) {
54180
54595
  return !!whichTypedArray(value);
54181
54596
  };
54182
54597
 
54183
- },{"which-typed-array":387}],374:[function(require,module,exports){
54598
+ },{"which-typed-array":390}],377:[function(require,module,exports){
54184
54599
  (function (global){(function (){
54185
54600
  /**
54186
54601
  * @license
@@ -71393,7 +71808,7 @@ module.exports = function isTypedArray(value) {
71393
71808
  }.call(this));
71394
71809
 
71395
71810
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
71396
- },{}],375:[function(require,module,exports){
71811
+ },{}],378:[function(require,module,exports){
71397
71812
  'use strict';
71398
71813
 
71399
71814
  var keysShim;
@@ -71517,7 +71932,7 @@ if (!Object.keys) {
71517
71932
  }
71518
71933
  module.exports = keysShim;
71519
71934
 
71520
- },{"./isArguments":377}],376:[function(require,module,exports){
71935
+ },{"./isArguments":380}],379:[function(require,module,exports){
71521
71936
  'use strict';
71522
71937
 
71523
71938
  var slice = Array.prototype.slice;
@@ -71551,7 +71966,7 @@ keysShim.shim = function shimObjectKeys() {
71551
71966
 
71552
71967
  module.exports = keysShim;
71553
71968
 
71554
- },{"./implementation":375,"./isArguments":377}],377:[function(require,module,exports){
71969
+ },{"./implementation":378,"./isArguments":380}],380:[function(require,module,exports){
71555
71970
  'use strict';
71556
71971
 
71557
71972
  var toStr = Object.prototype.toString;
@@ -71570,7 +71985,7 @@ module.exports = function isArguments(value) {
71570
71985
  return isArgs;
71571
71986
  };
71572
71987
 
71573
- },{}],378:[function(require,module,exports){
71988
+ },{}],381:[function(require,module,exports){
71574
71989
  'use strict';
71575
71990
 
71576
71991
  // modified from https://github.com/es-shims/es6-shim
@@ -71618,7 +72033,7 @@ module.exports = function assign(target, source1) {
71618
72033
  return to; // step 4
71619
72034
  };
71620
72035
 
71621
- },{"call-bind/callBound":339,"has-symbols/shams":363,"object-keys":376}],379:[function(require,module,exports){
72036
+ },{"call-bind/callBound":342,"has-symbols/shams":366,"object-keys":379}],382:[function(require,module,exports){
71622
72037
  'use strict';
71623
72038
 
71624
72039
  var implementation = require('./implementation');
@@ -71675,7 +72090,7 @@ module.exports = function getPolyfill() {
71675
72090
  return Object.assign;
71676
72091
  };
71677
72092
 
71678
- },{"./implementation":378}],380:[function(require,module,exports){
72093
+ },{"./implementation":381}],383:[function(require,module,exports){
71679
72094
  'use strict';
71680
72095
 
71681
72096
  /** @type {import('.')} */
@@ -71693,7 +72108,7 @@ module.exports = [
71693
72108
  'BigUint64Array'
71694
72109
  ];
71695
72110
 
71696
- },{}],381:[function(require,module,exports){
72111
+ },{}],384:[function(require,module,exports){
71697
72112
  // shim for using process in browser
71698
72113
  var process = module.exports = {};
71699
72114
 
@@ -71879,7 +72294,7 @@ process.chdir = function (dir) {
71879
72294
  };
71880
72295
  process.umask = function() { return 0; };
71881
72296
 
71882
- },{}],382:[function(require,module,exports){
72297
+ },{}],385:[function(require,module,exports){
71883
72298
  'use strict';
71884
72299
 
71885
72300
  var GetIntrinsic = require('get-intrinsic');
@@ -71923,7 +72338,7 @@ module.exports = function setFunctionLength(fn, length) {
71923
72338
  return fn;
71924
72339
  };
71925
72340
 
71926
- },{"define-data-property":344,"es-errors/type":351,"get-intrinsic":356,"gopd":357,"has-property-descriptors":383}],383:[function(require,module,exports){
72341
+ },{"define-data-property":347,"es-errors/type":354,"get-intrinsic":359,"gopd":360,"has-property-descriptors":386}],386:[function(require,module,exports){
71927
72342
  'use strict';
71928
72343
 
71929
72344
  var $defineProperty = require('es-define-property');
@@ -71947,9 +72362,9 @@ hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBu
71947
72362
 
71948
72363
  module.exports = hasPropertyDescriptors;
71949
72364
 
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){
72365
+ },{"es-define-property":348}],387:[function(require,module,exports){
72366
+ arguments[4][338][0].apply(exports,arguments)
72367
+ },{"dup":338}],388:[function(require,module,exports){
71953
72368
  // Currently in sync with Node.js lib/internal/util/types.js
71954
72369
  // https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9
71955
72370
 
@@ -72285,7 +72700,7 @@ exports.isAnyArrayBuffer = isAnyArrayBuffer;
72285
72700
  });
72286
72701
  });
72287
72702
 
72288
- },{"is-arguments":370,"is-generator-function":372,"is-typed-array":373,"which-typed-array":387}],386:[function(require,module,exports){
72703
+ },{"is-arguments":373,"is-generator-function":375,"is-typed-array":376,"which-typed-array":390}],389:[function(require,module,exports){
72289
72704
  (function (process){(function (){
72290
72705
  // Copyright Joyent, Inc. and other Node contributors.
72291
72706
  //
@@ -73004,7 +73419,7 @@ function callbackify(original) {
73004
73419
  exports.callbackify = callbackify;
73005
73420
 
73006
73421
  }).call(this)}).call(this,require('_process'))
73007
- },{"./support/isBuffer":384,"./support/types":385,"_process":381,"inherits":369}],387:[function(require,module,exports){
73422
+ },{"./support/isBuffer":387,"./support/types":388,"_process":384,"inherits":372}],390:[function(require,module,exports){
73008
73423
  (function (global){(function (){
73009
73424
  'use strict';
73010
73425
 
@@ -73124,9 +73539,9 @@ module.exports = function whichTypedArray(value) {
73124
73539
  };
73125
73540
 
73126
73541
  }).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){
73542
+ },{"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){
73543
+ arguments[4][342][0].apply(exports,arguments)
73544
+ },{"./":392,"dup":342,"get-intrinsic":359}],392:[function(require,module,exports){
73130
73545
  'use strict';
73131
73546
 
73132
73547
  var bind = require('function-bind');
@@ -73163,7 +73578,7 @@ if ($defineProperty) {
73163
73578
  module.exports.apply = applyBind;
73164
73579
  }
73165
73580
 
73166
- },{"es-define-property":345,"es-errors/type":351,"function-bind":355,"get-intrinsic":356,"set-function-length":382}],390:[function(require,module,exports){
73581
+ },{"es-define-property":348,"es-errors/type":354,"function-bind":358,"get-intrinsic":359,"set-function-length":385}],393:[function(require,module,exports){
73167
73582
  'use strict';
73168
73583
 
73169
73584
  var hasSymbols = require('has-symbols/shams');
@@ -73173,5 +73588,5 @@ module.exports = function hasToStringTagShams() {
73173
73588
  return hasSymbols() && !!Symbol.toStringTag;
73174
73589
  };
73175
73590
 
73176
- },{"has-symbols/shams":363}]},{},[113])(113)
73591
+ },{"has-symbols/shams":366}]},{},[116])(116)
73177
73592
  });