@designliquido/delegua 1.17.0 → 1.17.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 (58) hide show
  1. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  2. package/avaliador-sintatico/avaliador-sintatico.js +25 -0
  3. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  4. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.d.ts +68 -11
  5. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.d.ts.map +1 -1
  6. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js +433 -62
  7. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js.map +1 -1
  8. package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts +9 -0
  9. package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts.map +1 -1
  10. package/bibliotecas/dialetos/pitugues/biblioteca-global.js +30 -0
  11. package/bibliotecas/dialetos/pitugues/biblioteca-global.js.map +1 -1
  12. package/bibliotecas/primitivas-dicionario.d.ts.map +1 -1
  13. package/bibliotecas/primitivas-dicionario.js +31 -0
  14. package/bibliotecas/primitivas-dicionario.js.map +1 -1
  15. package/bin/package.json +1 -1
  16. package/estilizador/quebrador-linha.d.ts.map +1 -1
  17. package/estilizador/quebrador-linha.js +13 -0
  18. package/estilizador/quebrador-linha.js.map +1 -1
  19. package/estilizador/regras/index.d.ts +1 -0
  20. package/estilizador/regras/index.d.ts.map +1 -1
  21. package/estilizador/regras/index.js +1 -0
  22. package/estilizador/regras/index.js.map +1 -1
  23. package/estilizador/regras/regra-convencao-nomenclatura.d.ts +3 -0
  24. package/estilizador/regras/regra-convencao-nomenclatura.d.ts.map +1 -1
  25. package/estilizador/regras/regra-convencao-nomenclatura.js +34 -14
  26. package/estilizador/regras/regra-convencao-nomenclatura.js.map +1 -1
  27. package/estilizador/regras/regra-explicitar-tipos-parametros.d.ts +16 -0
  28. package/estilizador/regras/regra-explicitar-tipos-parametros.d.ts.map +1 -0
  29. package/estilizador/regras/regra-explicitar-tipos-parametros.js +50 -0
  30. package/estilizador/regras/regra-explicitar-tipos-parametros.js.map +1 -0
  31. package/formatadores/formatador-delegua.d.ts +1 -0
  32. package/formatadores/formatador-delegua.d.ts.map +1 -1
  33. package/formatadores/formatador-delegua.js +9 -3
  34. package/formatadores/formatador-delegua.js.map +1 -1
  35. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +60 -107
  36. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts.map +1 -1
  37. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +435 -336
  38. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  39. package/interpretador/interpretador-base.d.ts.map +1 -1
  40. package/interpretador/interpretador-base.js +16 -2
  41. package/interpretador/interpretador-base.js.map +1 -1
  42. package/lexador/dialetos/lexador-portugol-ipt.d.ts.map +1 -1
  43. package/lexador/dialetos/lexador-portugol-ipt.js +71 -19
  44. package/lexador/dialetos/lexador-portugol-ipt.js.map +1 -1
  45. package/lexador/dialetos/palavras-reservadas/portugol-ipt.d.ts +34 -6
  46. package/lexador/dialetos/palavras-reservadas/portugol-ipt.d.ts.map +1 -1
  47. package/lexador/dialetos/palavras-reservadas/portugol-ipt.js +44 -6
  48. package/lexador/dialetos/palavras-reservadas/portugol-ipt.js.map +1 -1
  49. package/package.json +1 -1
  50. package/tipos-de-simbolos/portugol-ipt.d.ts +43 -19
  51. package/tipos-de-simbolos/portugol-ipt.d.ts.map +1 -1
  52. package/tipos-de-simbolos/portugol-ipt.js +59 -19
  53. package/tipos-de-simbolos/portugol-ipt.js.map +1 -1
  54. package/tradutores/tradutor-portugol-ipt.d.ts +34 -12
  55. package/tradutores/tradutor-portugol-ipt.d.ts.map +1 -1
  56. package/tradutores/tradutor-portugol-ipt.js +309 -19
  57. package/tradutores/tradutor-portugol-ipt.js.map +1 -1
  58. package/umd/delegua.js +1458 -506
package/umd/delegua.js CHANGED
@@ -476,7 +476,7 @@ class AnalisadorSemanticoBase {
476
476
  }
477
477
  exports.AnalisadorSemanticoBase = AnalisadorSemanticoBase;
478
478
 
479
- },{"../construtos":62,"../declaracoes":110,"../interfaces":150,"../quebras":218,"./gerenciador-escopos":5}],2:[function(require,module,exports){
479
+ },{"../construtos":62,"../declaracoes":110,"../interfaces":151,"../quebras":219,"./gerenciador-escopos":5}],2:[function(require,module,exports){
480
480
  "use strict";
481
481
  Object.defineProperty(exports, "__esModule", { value: true });
482
482
  exports.AnalisadorSemantico = void 0;
@@ -1635,7 +1635,7 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
1635
1635
  }
1636
1636
  exports.AnalisadorSemantico = AnalisadorSemantico;
1637
1637
 
1638
- },{"../avaliador-sintatico/comum":11,"../avaliador-sintatico/micro-avaliador-sintatico":24,"../construtos":62,"../declaracoes":110,"../interfaces/erros":147,"../lexador/micro-lexador":215,"./analisador-semantico-base":1,"./gerenciador-escopos":5,"./pilha-variaveis":7}],3:[function(require,module,exports){
1638
+ },{"../avaliador-sintatico/comum":11,"../avaliador-sintatico/micro-avaliador-sintatico":24,"../construtos":62,"../declaracoes":110,"../interfaces/erros":148,"../lexador/micro-lexador":216,"./analisador-semantico-base":1,"./gerenciador-escopos":5,"./pilha-variaveis":7}],3:[function(require,module,exports){
1639
1639
  "use strict";
1640
1640
  Object.defineProperty(exports, "__esModule", { value: true });
1641
1641
 
@@ -2053,7 +2053,7 @@ class AvaliadorSintaticoBase {
2053
2053
  }
2054
2054
  exports.AvaliadorSintaticoBase = AvaliadorSintaticoBase;
2055
2055
 
2056
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/comum":223,"./erro-avaliador-sintatico":20}],10:[function(require,module,exports){
2056
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/comum":224,"./erro-avaliador-sintatico":20}],10:[function(require,module,exports){
2057
2057
  "use strict";
2058
2058
  var __importDefault = (this && this.__importDefault) || function (mod) {
2059
2059
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -2140,8 +2140,33 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
2140
2140
  if (!tipoElementarResolvido) {
2141
2141
  throw this.erro(this.simbolos[this.atual], `Tipo de dados desconhecido: '${this.simbolos[this.atual].lexema}'.`);
2142
2142
  }
2143
+ if ((tipoElementarResolvido === 'funcao' || tipoElementarResolvido === 'função') &&
2144
+ this.verificarTipoProximoSimbolo(delegua_2.default.MENOR)) {
2145
+ this.avancarEDevolverAnterior(); // avança por 'funcao'
2146
+ this.avancarEDevolverAnterior(); // avança por '<'
2147
+ const tiposParametros = [];
2148
+ do {
2149
+ tiposParametros.push(this.simbolos[this.atual].lexema);
2150
+ this.avancarEDevolverAnterior();
2151
+ } while (this.verificarSeSimboloAtualEIgualA(delegua_2.default.VIRGULA));
2152
+ // this.atual aponta para '>'
2153
+ const tipoFuncaoGenerico = `${tipoElementarResolvido}<${tiposParametros.join(', ')}>`;
2154
+ if (this.verificarTipoProximoSimbolo(delegua_2.default.COLCHETE_ESQUERDO)) {
2155
+ this.avancarEDevolverAnterior(); // avança por '>'
2156
+ // this.atual aponta para '['
2157
+ if (!this.verificarTipoProximoSimbolo(delegua_2.default.COLCHETE_DIREITO)) {
2158
+ throw this.erro(this.simbolos[this.atual], `Esperado símbolo de fechamento do vetor: ']'. Atual: ${this.simbolos[this.atual].lexema}`);
2159
+ }
2160
+ this.avancarEDevolverAnterior(); // avança por '['
2161
+ // this.atual aponta para ']'
2162
+ return `${tipoFuncaoGenerico}[]`;
2163
+ }
2164
+ return tipoFuncaoGenerico;
2165
+ }
2143
2166
  if (this.verificarTipoProximoSimbolo(delegua_2.default.COLCHETE_ESQUERDO)) {
2144
2167
  const tiposVetores = [
2168
+ 'funcao[]',
2169
+ 'função[]',
2145
2170
  'inteiro[]',
2146
2171
  'numero[]',
2147
2172
  'número[]',
@@ -4956,7 +4981,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
4956
4981
  }
4957
4982
  exports.AvaliadorSintatico = AvaliadorSintatico;
4958
4983
 
4959
- },{"../bibliotecas/primitivas-dicionario":29,"../bibliotecas/primitivas-numero":30,"../bibliotecas/primitivas-texto":31,"../bibliotecas/primitivas-vetor":32,"../construtos":62,"../construtos/tuplas":80,"../declaracoes":110,"../inferenciador":138,"../informacao-elemento-sintatico":139,"../tipos-de-dados/delegua":219,"../tipos-de-simbolos/delegua":224,"./avaliador-sintatico-base":9,"./comum":11,"./elemento-montao-tipos":19,"./erro-avaliador-sintatico":20,"./informacao-escopo":22,"./montao-tipos":25,"./pilha-escopos":26,"browser-process-hrtime":417}],11:[function(require,module,exports){
4984
+ },{"../bibliotecas/primitivas-dicionario":29,"../bibliotecas/primitivas-numero":30,"../bibliotecas/primitivas-texto":31,"../bibliotecas/primitivas-vetor":32,"../construtos":62,"../construtos/tuplas":80,"../declaracoes":110,"../inferenciador":139,"../informacao-elemento-sintatico":140,"../tipos-de-dados/delegua":220,"../tipos-de-simbolos/delegua":225,"./avaliador-sintatico-base":9,"./comum":11,"./elemento-montao-tipos":19,"./erro-avaliador-sintatico":20,"./informacao-escopo":22,"./montao-tipos":25,"./pilha-escopos":26,"browser-process-hrtime":418}],11:[function(require,module,exports){
4960
4985
  "use strict";
4961
4986
  Object.defineProperty(exports, "__esModule", { value: true });
4962
4987
  exports.buscarRetornos = buscarRetornos;
@@ -5071,7 +5096,7 @@ function registrarPrimitiva(primitivasConhecidas, tipo, catalogoPrimitivas) {
5071
5096
  }
5072
5097
  }
5073
5098
 
5074
- },{"../declaracoes":110,"../informacao-elemento-sintatico":139}],12:[function(require,module,exports){
5099
+ },{"../declaracoes":110,"../informacao-elemento-sintatico":140}],12:[function(require,module,exports){
5075
5100
  "use strict";
5076
5101
  var __importDefault = (this && this.__importDefault) || function (mod) {
5077
5102
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -5731,7 +5756,7 @@ class AvaliadorSintaticoEguaClassico {
5731
5756
  }
5732
5757
  exports.AvaliadorSintaticoEguaClassico = AvaliadorSintaticoEguaClassico;
5733
5758
 
5734
- },{"../../construtos":62,"../../declaracoes":110,"../../tipos-de-simbolos/egua-classico":225,"../erro-avaliador-sintatico":20}],13:[function(require,module,exports){
5759
+ },{"../../construtos":62,"../../declaracoes":110,"../../tipos-de-simbolos/egua-classico":226,"../erro-avaliador-sintatico":20}],13:[function(require,module,exports){
5735
5760
  "use strict";
5736
5761
  var __importDefault = (this && this.__importDefault) || function (mod) {
5737
5762
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -7442,7 +7467,7 @@ class AvaliadorSintaticoPitugues {
7442
7467
  }
7443
7468
  exports.AvaliadorSintaticoPitugues = AvaliadorSintaticoPitugues;
7444
7469
 
7445
- },{"../../bibliotecas/dialetos/pitugues/primitivas-tupla":28,"../../bibliotecas/primitivas-dicionario":29,"../../bibliotecas/primitivas-numero":30,"../../bibliotecas/primitivas-texto":31,"../../bibliotecas/primitivas-vetor":32,"../../construtos":62,"../../declaracoes":110,"../../inferenciador":138,"../../informacao-elemento-sintatico":139,"../../lexador":209,"../../lexador/micro-lexador-pitugues":214,"../../tipos-de-dados/dialetos/pitugues":220,"../../tipos-de-simbolos/pitugues":228,"../comum":11,"../erro-avaliador-sintatico":20,"../informacao-escopo":22,"../pilha-escopos":26,"./micro-avaliador-sintatico-pitugues":18,"browser-process-hrtime":417}],14:[function(require,module,exports){
7470
+ },{"../../bibliotecas/dialetos/pitugues/primitivas-tupla":28,"../../bibliotecas/primitivas-dicionario":29,"../../bibliotecas/primitivas-numero":30,"../../bibliotecas/primitivas-texto":31,"../../bibliotecas/primitivas-vetor":32,"../../construtos":62,"../../declaracoes":110,"../../inferenciador":139,"../../informacao-elemento-sintatico":140,"../../lexador":210,"../../lexador/micro-lexador-pitugues":215,"../../tipos-de-dados/dialetos/pitugues":221,"../../tipos-de-simbolos/pitugues":229,"../comum":11,"../erro-avaliador-sintatico":20,"../informacao-escopo":22,"../pilha-escopos":26,"./micro-avaliador-sintatico-pitugues":18,"browser-process-hrtime":418}],14:[function(require,module,exports){
7446
7471
  "use strict";
7447
7472
  var __importDefault = (this && this.__importDefault) || function (mod) {
7448
7473
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -7450,32 +7475,202 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7450
7475
  Object.defineProperty(exports, "__esModule", { value: true });
7451
7476
  exports.AvaliadorSintaticoPortugolIpt = void 0;
7452
7477
  const construtos_1 = require("../../construtos");
7478
+ const simbolo_1 = require("../../lexador/simbolo");
7453
7479
  const declaracoes_1 = require("../../declaracoes");
7454
7480
  const avaliador_sintatico_base_1 = require("../avaliador-sintatico-base");
7455
7481
  const portugol_ipt_1 = __importDefault(require("../../tipos-de-simbolos/portugol-ipt"));
7456
7482
  class AvaliadorSintaticoPortugolIpt extends avaliador_sintatico_base_1.AvaliadorSintaticoBase {
7483
+ simboloAtualEh(tipo) {
7484
+ return !this.estaNoFinal() && this.simbolos[this.atual].tipo === tipo;
7485
+ }
7486
+ fechamentoEnquantoAtual() {
7487
+ return (this.simboloAtualEh(portugol_ipt_1.default.FIMENQUANTO) ||
7488
+ (this.simboloAtualEh(portugol_ipt_1.default.FIM) &&
7489
+ this.simbolos[this.atual + 1]?.tipo === portugol_ipt_1.default.ENQUANTO));
7490
+ }
7491
+ consumirFechamentoEnquanto() {
7492
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.FIMENQUANTO)) {
7493
+ return;
7494
+ }
7495
+ this.consumir(portugol_ipt_1.default.FIM, "Esperado 'fimenquanto' ou 'fim enquanto'.");
7496
+ this.consumir(portugol_ipt_1.default.ENQUANTO, "Esperado 'enquanto' após 'fim'.");
7497
+ }
7498
+ fechamentoEscolheAtual() {
7499
+ return (this.simboloAtualEh(portugol_ipt_1.default.FIMESCOLHE) ||
7500
+ (this.simboloAtualEh(portugol_ipt_1.default.FIM) &&
7501
+ this.simbolos[this.atual + 1]?.tipo === portugol_ipt_1.default.ESCOLHE));
7502
+ }
7503
+ consumirFechamentoEscolhe() {
7504
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.FIMESCOLHE)) {
7505
+ return;
7506
+ }
7507
+ this.consumir(portugol_ipt_1.default.FIM, "Esperado 'fimescolhe' ou 'fim escolhe'.");
7508
+ this.consumir(portugol_ipt_1.default.ESCOLHE, "Esperado 'escolhe' após 'fim'.");
7509
+ }
7510
+ avaliarExpressaoNumericaConstante(expressao) {
7511
+ if (expressao instanceof construtos_1.Literal && typeof expressao.valor === 'number') {
7512
+ return Number(expressao.valor);
7513
+ }
7514
+ if (expressao instanceof construtos_1.Agrupamento) {
7515
+ return this.avaliarExpressaoNumericaConstante(expressao.expressao);
7516
+ }
7517
+ if (expressao instanceof construtos_1.Unario) {
7518
+ const operando = this.avaliarExpressaoNumericaConstante(expressao.operando);
7519
+ if (operando === null)
7520
+ return null;
7521
+ switch (expressao.operador.tipo) {
7522
+ case portugol_ipt_1.default.SUBTRACAO:
7523
+ return -operando;
7524
+ default:
7525
+ return null;
7526
+ }
7527
+ }
7528
+ if (expressao instanceof construtos_1.Binario) {
7529
+ const esquerda = this.avaliarExpressaoNumericaConstante(expressao.esquerda);
7530
+ const direita = this.avaliarExpressaoNumericaConstante(expressao.direita);
7531
+ if (esquerda === null || direita === null)
7532
+ return null;
7533
+ switch (expressao.operador.tipo) {
7534
+ case portugol_ipt_1.default.ADICAO:
7535
+ return esquerda + direita;
7536
+ case portugol_ipt_1.default.SUBTRACAO:
7537
+ return esquerda - direita;
7538
+ case portugol_ipt_1.default.MULTIPLICACAO:
7539
+ return esquerda * direita;
7540
+ case portugol_ipt_1.default.DIVISAO:
7541
+ return esquerda / direita;
7542
+ case portugol_ipt_1.default.MODULO:
7543
+ return esquerda % direita;
7544
+ case portugol_ipt_1.default.EXPONENCIACAO:
7545
+ return Math.pow(esquerda, direita);
7546
+ default:
7547
+ return null;
7548
+ }
7549
+ }
7550
+ return null;
7551
+ }
7552
+ // ── Helpers ────────────────────────────────────────────────────────────────
7553
+ /**
7554
+ * Consome quebras de linha opcionais.
7555
+ */
7556
+ consumirQuebrasLinha() {
7557
+ while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.QUEBRA_LINHA))
7558
+ ;
7559
+ }
7560
+ /**
7561
+ * Coleta declarações até encontrar um token cujo tipo esteja em `tiposParada`.
7562
+ * O token de parada NÃO é consumido.
7563
+ */
7564
+ async resolverBloco(tiposParada) {
7565
+ const declaracoes = [];
7566
+ const primeiroSimbolo = this.simbolos[this.atual];
7567
+ while (!this.estaNoFinal() && !tiposParada.includes(this.simbolos[this.atual].tipo)) {
7568
+ const resolucao = await this.resolverDeclaracaoForaDeBloco();
7569
+ if (Array.isArray(resolucao)) {
7570
+ declaracoes.push(...resolucao);
7571
+ }
7572
+ else if (resolucao !== null && resolucao !== undefined) {
7573
+ declaracoes.push(resolucao);
7574
+ }
7575
+ }
7576
+ return new declaracoes_1.Bloco(this.hashArquivo, Number(primeiroSimbolo?.linha ?? 0), declaracoes.filter((d) => d));
7577
+ }
7578
+ // ── Expressões ─────────────────────────────────────────────────────────────
7457
7579
  async primario() {
7458
7580
  switch (this.simbolos[this.atual].tipo) {
7459
- case portugol_ipt_1.default.IDENTIFICADOR:
7581
+ case portugol_ipt_1.default.IDENTIFICADOR: {
7460
7582
  const simboloIdentificador = this.avancarEDevolverAnterior();
7461
7583
  return new construtos_1.Variavel(this.hashArquivo, simboloIdentificador);
7584
+ }
7462
7585
  case portugol_ipt_1.default.INTEIRO:
7463
- case portugol_ipt_1.default.TEXTO:
7586
+ case portugol_ipt_1.default.NUMERO:
7587
+ case portugol_ipt_1.default.TEXTO: {
7464
7588
  const simboloAnterior = this.avancarEDevolverAnterior();
7589
+ if (simboloAnterior.literal === null) {
7590
+ throw this.erro(simboloAnterior, 'Esperado expressão.');
7591
+ }
7465
7592
  return new construtos_1.Literal(this.hashArquivo, Number(simboloAnterior.linha), simboloAnterior.literal);
7466
- case portugol_ipt_1.default.PARENTESE_ESQUERDO:
7593
+ }
7594
+ case portugol_ipt_1.default.PARENTESE_ESQUERDO: {
7467
7595
  this.avancarEDevolverAnterior();
7468
7596
  const expressao = await this.expressao();
7469
7597
  this.consumir(portugol_ipt_1.default.PARENTESE_DIREITO, "Esperado ')' após a expressão.");
7470
7598
  return new construtos_1.Agrupamento(this.hashArquivo, Number(this.simbolos[this.atual].linha), expressao);
7599
+ }
7471
7600
  }
7601
+ throw this.erro(this.simbolos[this.atual], 'Esperado expressão.');
7472
7602
  }
7473
7603
  /**
7474
- * Aparentemente, o Portugol IPT não suporta chamadas de função.
7475
- * @returns O retorno da chamada de `primario()`.
7604
+ * Suporta chamadas de funções embutidas: SEN(x), COS(x), POTENCIA(b,e), etc.
7476
7605
  */
7477
7606
  async chamar() {
7478
- return await this.primario();
7607
+ let expressao = await this.primario();
7608
+ while (true) {
7609
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.PARENTESE_ESQUERDO)) {
7610
+ const argumentos = [];
7611
+ if (!this.verificarTipoSimboloAtual(portugol_ipt_1.default.PARENTESE_DIREITO)) {
7612
+ do {
7613
+ argumentos.push(await this.expressao());
7614
+ } while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.VIRGULA));
7615
+ }
7616
+ this.consumir(portugol_ipt_1.default.PARENTESE_DIREITO, "Esperado ')' após argumentos.");
7617
+ expressao = new construtos_1.Chamada(this.hashArquivo, expressao, argumentos);
7618
+ }
7619
+ else if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.COLCHETE_ESQUERDO)) {
7620
+ const indice = await this.expressao();
7621
+ const fechamento = this.consumir(portugol_ipt_1.default.COLCHETE_DIREITO, "Esperado ']' após índice.");
7622
+ expressao = new construtos_1.AcessoIndiceVariavel(this.hashArquivo, expressao, indice, fechamento);
7623
+ }
7624
+ else {
7625
+ break;
7626
+ }
7627
+ }
7628
+ return expressao;
7629
+ }
7630
+ /**
7631
+ * Override de `unario()` para incluir operadores unários aritméticos.
7632
+ * `NAO` é tratado em `e()` para ter precedência menor que comparações.
7633
+ */
7634
+ async unario() {
7635
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.NEGACAO, portugol_ipt_1.default.SUBTRACAO)) {
7636
+ const operador = this.simbolos[this.atual - 1];
7637
+ const direito = await this.unario();
7638
+ return new construtos_1.Unario(this.hashArquivo, operador, direito, 'ANTES');
7639
+ }
7640
+ return await this.chamar();
7641
+ }
7642
+ /**
7643
+ * Override de `e()` para suportar o operador lógico `NAO` com precedência
7644
+ * menor que comparações: `nao x = 0` → `nao (x = 0)`.
7645
+ */
7646
+ async e() {
7647
+ let expressao;
7648
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.NAO)) {
7649
+ const operador = this.simbolos[this.atual - 1];
7650
+ const operando = await this.comparacaoIgualdade();
7651
+ expressao = new construtos_1.Unario(this.hashArquivo, operador, operando, 'ANTES');
7652
+ }
7653
+ else {
7654
+ expressao = await this.comparacaoIgualdade();
7655
+ }
7656
+ while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.E)) {
7657
+ const operador = this.simbolos[this.atual - 1];
7658
+ const direito = await this.comparacaoIgualdade();
7659
+ expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
7660
+ }
7661
+ return expressao;
7662
+ }
7663
+ /**
7664
+ * Override de `ou()` para incluir o operador lógico `XOU`.
7665
+ */
7666
+ async ou() {
7667
+ let expressao = await this.e();
7668
+ while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.OU, portugol_ipt_1.default.XOU)) {
7669
+ const operador = this.simbolos[this.atual - 1];
7670
+ const direito = await this.e();
7671
+ expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
7672
+ }
7673
+ return expressao;
7479
7674
  }
7480
7675
  async atribuir() {
7481
7676
  const expressao = await this.ou();
@@ -7492,12 +7687,12 @@ class AvaliadorSintaticoPortugolIpt extends avaliador_sintatico_base_1.Avaliador
7492
7687
  }
7493
7688
  return expressao;
7494
7689
  }
7690
+ // ── Declarações ────────────────────────────────────────────────────────────
7495
7691
  /**
7496
- * A declaração escreva (ou escrever) do Portugol IPT é sempre na mesma linha.
7692
+ * `escrever expr [, expr ...]`
7497
7693
  */
7498
7694
  async declaracaoEscreva() {
7499
7695
  const simboloAtual = this.avancarEDevolverAnterior();
7500
- // const argumentos = this.logicaComumEscreva();
7501
7696
  const argumentos = [];
7502
7697
  do {
7503
7698
  const valor = await this.expressao();
@@ -7505,56 +7700,157 @@ class AvaliadorSintaticoPortugolIpt extends avaliador_sintatico_base_1.Avaliador
7505
7700
  } while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.VIRGULA));
7506
7701
  return new declaracoes_1.EscrevaMesmaLinha(Number(simboloAtual.linha), this.hashArquivo, argumentos);
7507
7702
  }
7508
- blocoEscopo() {
7509
- throw new Error('Método não implementado.');
7510
- }
7703
+ /**
7704
+ * `se cond entao ... [senao ...] fimse`
7705
+ */
7511
7706
  async declaracaoSe() {
7512
- this.avancarEDevolverAnterior();
7707
+ this.avancarEDevolverAnterior(); // consome 'se'
7513
7708
  const condicao = await this.expressao();
7514
- this.consumir(portugol_ipt_1.default.ENTAO, "Esperado 'então' ou 'entao' após condição do se.");
7515
- this.consumir(portugol_ipt_1.default.QUEBRA_LINHA, "Esperado quebra de linha após palavra reservada 'então' ou 'entao' em condição se.");
7516
- const caminhoEntao = (await this.resolverDeclaracaoForaDeBloco());
7517
- while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.QUEBRA_LINHA))
7518
- ;
7709
+ this.consumir(portugol_ipt_1.default.ENTAO, "Esperado 'então' após condição do se.");
7710
+ this.consumirQuebrasLinha();
7711
+ const caminhoEntao = await this.resolverBloco([
7712
+ portugol_ipt_1.default.SENAO,
7713
+ portugol_ipt_1.default.FIMSE,
7714
+ ]);
7715
+ this.consumirQuebrasLinha();
7519
7716
  let caminhoSenao = null;
7520
7717
  if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.SENAO)) {
7521
- this.consumir(portugol_ipt_1.default.QUEBRA_LINHA, "Esperado quebra de linha após palavra reservada 'senão' ou 'senao' em instrução se.");
7522
- caminhoSenao = await this.resolverDeclaracaoForaDeBloco();
7718
+ this.consumirQuebrasLinha();
7719
+ caminhoSenao = await this.resolverBloco([portugol_ipt_1.default.FIMSE]);
7523
7720
  }
7524
- this.consumir(portugol_ipt_1.default.QUEBRA_LINHA, "Esperado quebra de linha após palavra reservada 'então' ou 'entao' em condição se.");
7525
- this.consumir(portugol_ipt_1.default.FIMSE, "Esperado 'fimse' para finalização de uma instrução se.");
7721
+ this.consumirQuebrasLinha();
7722
+ this.consumir(portugol_ipt_1.default.FIMSE, "Esperado 'fimse' para fechar instrução se.");
7526
7723
  return new declaracoes_1.Se(condicao, caminhoEntao, [], caminhoSenao);
7527
7724
  }
7528
- declaracaoEnquanto() {
7529
- throw new Error('Método não implementado.');
7725
+ /**
7726
+ * `enquanto cond faz ... fimenquanto`
7727
+ */
7728
+ async declaracaoEnquanto() {
7729
+ this.avancarEDevolverAnterior(); // consome 'enquanto'
7730
+ const condicao = await this.expressao();
7731
+ this.consumir(portugol_ipt_1.default.FAZ, "Esperado 'faz' após condição do enquanto.");
7732
+ this.consumirQuebrasLinha();
7733
+ const declaracoes = [];
7734
+ const primeiroSimbolo = this.simbolos[this.atual];
7735
+ while (!this.estaNoFinal() && !this.fechamentoEnquantoAtual()) {
7736
+ const resolucao = await this.resolverDeclaracaoForaDeBloco();
7737
+ if (Array.isArray(resolucao)) {
7738
+ declaracoes.push(...resolucao);
7739
+ }
7740
+ else if (resolucao !== null && resolucao !== undefined) {
7741
+ declaracoes.push(resolucao);
7742
+ }
7743
+ }
7744
+ const corpo = new declaracoes_1.Bloco(this.hashArquivo, Number(primeiroSimbolo?.linha ?? 0), declaracoes.filter((d) => d));
7745
+ this.consumirFechamentoEnquanto();
7746
+ return new declaracoes_1.Enquanto(condicao, corpo);
7530
7747
  }
7531
- declaracaoPara() {
7532
- throw new Error('Método não implementado.');
7748
+ /**
7749
+ * `para v de ini ate fim [passo p]` + corpo + `proximo`
7750
+ */
7751
+ async declaracaoPara() {
7752
+ const simboloPara = this.avancarEDevolverAnterior(); // consome 'para'
7753
+ const linha = Number(simboloPara.linha);
7754
+ const identificador = this.consumir(portugol_ipt_1.default.IDENTIFICADOR, "Esperado identificador após 'para'.");
7755
+ this.consumir(portugol_ipt_1.default.DE, "Esperado 'de' após variável do 'para'.");
7756
+ const inicioExpr = await this.expressao();
7757
+ this.consumir(portugol_ipt_1.default.ATE, "Esperado 'ate' após valor inicial do 'para'.");
7758
+ const fimExpr = await this.expressao();
7759
+ let passoExpr = new construtos_1.Literal(this.hashArquivo, linha, 1, 'inteiro');
7760
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.PASSO)) {
7761
+ passoExpr = await this.expressao();
7762
+ }
7763
+ this.consumirQuebrasLinha();
7764
+ const corpo = await this.resolverBloco([portugol_ipt_1.default.PROXIMO]);
7765
+ this.consumir(portugol_ipt_1.default.PROXIMO, "Esperado 'proximo' para fechar o laço 'para'.");
7766
+ const varIteracao = new construtos_1.Variavel(this.hashArquivo, identificador, 'inteiro');
7767
+ const simboloMenorIgual = new simbolo_1.Simbolo(portugol_ipt_1.default.MENOR_IGUAL, '<=', null, linha, this.hashArquivo);
7768
+ const simboloAdicao = new simbolo_1.Simbolo(portugol_ipt_1.default.ADICAO, '+', null, linha, this.hashArquivo);
7769
+ const inicializador = new declaracoes_1.Expressao(new construtos_1.Atribuir(this.hashArquivo, varIteracao, inicioExpr));
7770
+ const condicao = new construtos_1.Binario(this.hashArquivo, varIteracao, simboloMenorIgual, fimExpr);
7771
+ const incrementar = new construtos_1.Atribuir(this.hashArquivo, varIteracao, new construtos_1.Binario(this.hashArquivo, varIteracao, simboloAdicao, passoExpr));
7772
+ return new declaracoes_1.Para(this.hashArquivo, linha, inicializador, condicao, incrementar, corpo);
7533
7773
  }
7534
- declaracaoEscolha() {
7535
- throw new Error('Método não implementado.');
7774
+ /**
7775
+ * `repete ... ate cond`
7776
+ * Semântica: executa o corpo e repete enquanto a condição for FALSA (repeat-until).
7777
+ * Mapeado para `Fazer` com a condição invertida via `nao`.
7778
+ */
7779
+ async declaracaoRepete() {
7780
+ const simboloRepete = this.avancarEDevolverAnterior(); // consome 'repete'
7781
+ this.consumirQuebrasLinha();
7782
+ const corpo = await this.resolverBloco([portugol_ipt_1.default.ATE]);
7783
+ this.consumir(portugol_ipt_1.default.ATE, "Esperado 'ate' para fechar o laço 'repete'.");
7784
+ const condicaoAte = await this.expressao();
7785
+ // Inverte a condição: o loop continua enquanto `ate cond` for falso
7786
+ const operadorNao = new simbolo_1.Simbolo(portugol_ipt_1.default.NAO, 'nao', null, condicaoAte.linha, this.hashArquivo);
7787
+ const condicaoInvertida = new construtos_1.Unario(this.hashArquivo, operadorNao, condicaoAte, 'ANTES');
7788
+ return new declaracoes_1.Fazer(this.hashArquivo, Number(simboloRepete.linha), corpo, condicaoInvertida);
7536
7789
  }
7537
- declaracaoFazer() {
7538
- throw new Error('Método não implementado.');
7790
+ /**
7791
+ * `faz ... enquanto cond`
7792
+ * O `enquanto` de fechamento é distinguido no lexer (FAZENQUANTO) do `enquanto` de abertura.
7793
+ */
7794
+ async declaracaoFazer() {
7795
+ const simboloFaz = this.avancarEDevolverAnterior(); // consome 'faz'
7796
+ this.consumirQuebrasLinha();
7797
+ const corpo = await this.resolverBloco([portugol_ipt_1.default.FAZENQUANTO]);
7798
+ this.consumir(portugol_ipt_1.default.FAZENQUANTO, "Esperado 'enquanto' para fechar o laço 'faz'.");
7799
+ const condicao = await this.expressao();
7800
+ return new declaracoes_1.Fazer(this.hashArquivo, Number(simboloFaz.linha), corpo, condicao);
7539
7801
  }
7540
- async declaracaoInteiros() {
7541
- const simboloInteiro = this.consumir(portugol_ipt_1.default.INTEIRO, '');
7542
- const inicializacoes = [];
7543
- do {
7544
- const identificador = this.consumir(portugol_ipt_1.default.IDENTIFICADOR, "Esperado identificador após palavra reservada 'inteiro'.");
7545
- // Inicializações de variáveis podem ter valores definidos.
7546
- let valorInicializacao = 0;
7547
- if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.IGUAL)) {
7548
- const literalInicializacao = this.consumir(portugol_ipt_1.default.INTEIRO, 'Esperado literal inteiro após símbolo de igual em declaração de variável.');
7549
- valorInicializacao = Number(literalInicializacao.literal);
7550
- }
7551
- inicializacoes.push(new declaracoes_1.Var(identificador, new construtos_1.Literal(this.hashArquivo, Number(simboloInteiro.linha), valorInicializacao, 'inteiro')));
7552
- } while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.VIRGULA));
7553
- return Promise.resolve(inicializacoes);
7802
+ /**
7803
+ * `escolhe expr caso v[, v...]: instr ... [defeito: instr] fimescolhe`
7804
+ */
7805
+ declaracaoEscolha() {
7806
+ this.avancarEDevolverAnterior(); // consome 'escolhe'
7807
+ const identificador = this.primario();
7808
+ // A versão síncrona é necessária porque a interface do base declara este como não-async.
7809
+ // Fazemos o cast após — o analisar() é async e usa await nos callers.
7810
+ throw new Error('Use declaracaoEscolhaAsync() internamente.');
7811
+ }
7812
+ async declaracaoEscolhaAsync() {
7813
+ this.avancarEDevolverAnterior(); // consome 'escolhe'
7814
+ const identificador = await this.expressao();
7815
+ this.consumirQuebrasLinha();
7816
+ const caminhos = [];
7817
+ let caminhoPadrao = null;
7818
+ while (!this.estaNoFinal() && !this.fechamentoEscolheAtual()) {
7819
+ this.consumirQuebrasLinha();
7820
+ if (this.estaNoFinal() || this.fechamentoEscolheAtual()) {
7821
+ break;
7822
+ }
7823
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.CASO)) {
7824
+ // Múltiplos valores por caso: `caso 1, 2, 3:`
7825
+ const condicoes = [];
7826
+ do {
7827
+ condicoes.push(await this.expressao());
7828
+ } while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.VIRGULA));
7829
+ this.consumir(portugol_ipt_1.default.DOIS_PONTOS, "Esperado ':' após valor do 'caso'.");
7830
+ this.consumirQuebrasLinha();
7831
+ const bloco = await this.resolverBloco([
7832
+ portugol_ipt_1.default.CASO,
7833
+ portugol_ipt_1.default.DEFEITO,
7834
+ portugol_ipt_1.default.FIMESCOLHE,
7835
+ portugol_ipt_1.default.FIM,
7836
+ ]);
7837
+ caminhos.push({ condicoes, declaracoes: bloco.declaracoes });
7838
+ }
7839
+ else if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.DEFEITO)) {
7840
+ this.consumir(portugol_ipt_1.default.DOIS_PONTOS, "Esperado ':' após 'defeito'.");
7841
+ this.consumirQuebrasLinha();
7842
+ const bloco = await this.resolverBloco([portugol_ipt_1.default.FIMESCOLHE, portugol_ipt_1.default.FIM]);
7843
+ caminhoPadrao = { condicoes: [], declaracoes: bloco.declaracoes };
7844
+ }
7845
+ else {
7846
+ break;
7847
+ }
7848
+ }
7849
+ this.consumirFechamentoEscolhe();
7850
+ return new declaracoes_1.Escolha(identificador, caminhos, caminhoPadrao);
7554
7851
  }
7555
7852
  /**
7556
- * Análise de uma declaração `leia()`. No VisuAlg, `leia()` aceita 1..N argumentos.
7557
- * @returns Uma declaração `Leia`.
7853
+ * `ler var [, var ...]`
7558
7854
  */
7559
7855
  async expressaoLeia() {
7560
7856
  const simboloAtual = this.avancarEDevolverAnterior();
@@ -7564,48 +7860,148 @@ class AvaliadorSintaticoPortugolIpt extends avaliador_sintatico_base_1.Avaliador
7564
7860
  } while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.VIRGULA));
7565
7861
  return new construtos_1.Leia(simboloAtual, argumentos);
7566
7862
  }
7567
- corpoDaFuncao(tipo) {
7568
- throw new Error('Método não implementado.');
7863
+ /**
7864
+ * Declara variáveis de um dado tipo, com suporte a arrays e valor inicial.
7865
+ * Ex: `inteiro x`, `real y = 3.14`, `logico v[5]`
7866
+ */
7867
+ async declaracaoVariaveis(tipoToken, tipoDelegua, valorPadrao) {
7868
+ const simboloTipo = this.avancarEDevolverAnterior();
7869
+ const linha = Number(simboloTipo.linha);
7870
+ const inicializacoes = [];
7871
+ do {
7872
+ const identificador = this.consumir(portugol_ipt_1.default.IDENTIFICADOR, `Esperado identificador após '${simboloTipo.lexema}'.`);
7873
+ // Array: `inteiro v[10]`
7874
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.COLCHETE_ESQUERDO)) {
7875
+ const expressaoTamanho = await this.expressao();
7876
+ const tamanhoConstante = this.avaliarExpressaoNumericaConstante(expressaoTamanho);
7877
+ if (tamanhoConstante === null ||
7878
+ !Number.isInteger(tamanhoConstante) ||
7879
+ tamanhoConstante < 0) {
7880
+ throw this.erro(identificador, 'Tamanho do vetor deve ser expressão numérica inteira constante e não-negativa.');
7881
+ }
7882
+ const tamanho = Number(tamanhoConstante);
7883
+ this.consumir(portugol_ipt_1.default.COLCHETE_DIREITO, "Esperado ']' após tamanho do vetor.");
7884
+ const elementos = Array.from({ length: tamanho }, () => new construtos_1.Literal(this.hashArquivo, linha, valorPadrao, tipoDelegua));
7885
+ inicializacoes.push(new declaracoes_1.Var(identificador, new construtos_1.Vetor(this.hashArquivo, linha, elementos, `${tipoDelegua}[]`)));
7886
+ }
7887
+ else {
7888
+ // Inicialização opcional: `inteiro x = 5` (usa = como igualdade aqui, não seta)
7889
+ let valorInicial = new construtos_1.Literal(this.hashArquivo, linha, valorPadrao, tipoDelegua);
7890
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.IGUAL)) {
7891
+ valorInicial = await this.expressao();
7892
+ }
7893
+ inicializacoes.push(new declaracoes_1.Var(identificador, valorInicial, tipoDelegua));
7894
+ }
7895
+ } while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.VIRGULA));
7896
+ return inicializacoes;
7897
+ }
7898
+ /**
7899
+ * `constante tipo nome = valor`
7900
+ */
7901
+ async declaracaoConstante() {
7902
+ this.avancarEDevolverAnterior(); // consome 'constante'
7903
+ // Tipo obrigatório após 'constante'
7904
+ const tipoSimbolo = this.simbolos[this.atual];
7905
+ const mapaValoresPadrao = {
7906
+ [portugol_ipt_1.default.INTEIRO]: 0,
7907
+ [portugol_ipt_1.default.TEXTO]: '',
7908
+ [portugol_ipt_1.default.REAL]: 0.0,
7909
+ [portugol_ipt_1.default.LOGICO]: false,
7910
+ [portugol_ipt_1.default.CARACTER]: '',
7911
+ };
7912
+ const mapaTipos = {
7913
+ [portugol_ipt_1.default.INTEIRO]: 'inteiro',
7914
+ [portugol_ipt_1.default.TEXTO]: 'texto',
7915
+ [portugol_ipt_1.default.REAL]: 'real',
7916
+ [portugol_ipt_1.default.LOGICO]: 'lógico',
7917
+ [portugol_ipt_1.default.CARACTER]: 'caracter',
7918
+ };
7919
+ if (!(tipoSimbolo.tipo in mapaValoresPadrao)) {
7920
+ throw this.erro(tipoSimbolo, "Esperado tipo após 'constante'.");
7921
+ }
7922
+ this.avancarEDevolverAnterior(); // consome o tipo
7923
+ const tipoDelegua = mapaTipos[tipoSimbolo.tipo];
7924
+ const constantes = [];
7925
+ do {
7926
+ const identificador = this.consumir(portugol_ipt_1.default.IDENTIFICADOR, `Esperado identificador após '${tipoSimbolo.lexema}'.`);
7927
+ this.consumir(portugol_ipt_1.default.IGUAL, "Esperado '=' após nome da constante.");
7928
+ const valor = await this.expressao();
7929
+ constantes.push(new declaracoes_1.Const(identificador, valor, tipoDelegua, true));
7930
+ } while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.VIRGULA));
7931
+ return constantes;
7569
7932
  }
7933
+ // ── Ponto de entrada de declarações ────────────────────────────────────────
7570
7934
  async resolverDeclaracaoForaDeBloco() {
7571
7935
  const simboloAtual = this.simbolos[this.atual];
7572
7936
  switch (simboloAtual.tipo) {
7573
7937
  case portugol_ipt_1.default.ESCREVER:
7574
7938
  return await this.declaracaoEscreva();
7575
- case portugol_ipt_1.default.INTEIRO:
7576
- return await this.declaracaoInteiros();
7577
7939
  case portugol_ipt_1.default.LER:
7578
7940
  return new declaracoes_1.Expressao(await this.expressaoLeia());
7941
+ case portugol_ipt_1.default.SE:
7942
+ return await this.declaracaoSe();
7943
+ case portugol_ipt_1.default.ENQUANTO:
7944
+ return await this.declaracaoEnquanto();
7945
+ case portugol_ipt_1.default.PARA:
7946
+ return await this.declaracaoPara();
7947
+ case portugol_ipt_1.default.REPETE:
7948
+ return await this.declaracaoRepete();
7949
+ case portugol_ipt_1.default.FAZ:
7950
+ return await this.declaracaoFazer();
7951
+ case portugol_ipt_1.default.ESCOLHE:
7952
+ return await this.declaracaoEscolhaAsync();
7953
+ case portugol_ipt_1.default.INTEIRO:
7954
+ return await this.declaracaoVariaveis(portugol_ipt_1.default.INTEIRO, 'inteiro', 0);
7955
+ case portugol_ipt_1.default.TEXTO:
7956
+ if (simboloAtual.literal === null &&
7957
+ String(simboloAtual.lexema).toLowerCase() === 'texto') {
7958
+ return await this.declaracaoVariaveis(portugol_ipt_1.default.TEXTO, 'texto', '');
7959
+ }
7960
+ return new declaracoes_1.Expressao(await this.expressao());
7961
+ case portugol_ipt_1.default.REAL:
7962
+ return await this.declaracaoVariaveis(portugol_ipt_1.default.REAL, 'real', 0.0);
7963
+ case portugol_ipt_1.default.LOGICO:
7964
+ return await this.declaracaoVariaveis(portugol_ipt_1.default.LOGICO, 'lógico', false);
7965
+ case portugol_ipt_1.default.CARACTER:
7966
+ return await this.declaracaoVariaveis(portugol_ipt_1.default.CARACTER, 'caracter', '');
7967
+ case portugol_ipt_1.default.CONSTANTE:
7968
+ return await this.declaracaoConstante();
7969
+ case portugol_ipt_1.default.VARIAVEL: {
7970
+ // 'variavel' é apenas um modificador opcional; avança e processa o tipo
7971
+ this.avancarEDevolverAnterior();
7972
+ return await this.resolverDeclaracaoForaDeBloco();
7973
+ }
7579
7974
  case portugol_ipt_1.default.QUEBRA_LINHA:
7580
7975
  this.avancarEDevolverAnterior();
7581
7976
  return null;
7582
- case portugol_ipt_1.default.SE:
7583
- return await this.declaracaoSe();
7584
7977
  default:
7585
7978
  return new declaracoes_1.Expressao(await this.expressao());
7586
7979
  }
7587
7980
  }
7588
- validarSegmentoInicio() {
7589
- this.consumir(portugol_ipt_1.default.INICIO, `Esperada expressão 'inicio' para marcar escopo do algoritmo.`);
7981
+ // ── Métodos obrigatórios não usados em Portugol IPT ────────────────────────
7982
+ blocoEscopo() {
7983
+ throw new Error('Método não implementado.');
7984
+ }
7985
+ corpoDaFuncao(_tipo) {
7986
+ throw new Error('Portugol IPT não suporta funções definidas pelo utilizador.');
7590
7987
  }
7988
+ // ── Ponto de entrada principal ─────────────────────────────────────────────
7591
7989
  async analisar(retornoLexador, hashArquivo) {
7592
7990
  this.erros = [];
7593
7991
  this.atual = 0;
7594
7992
  this.blocos = 0;
7595
7993
  this.hashArquivo = hashArquivo || 0;
7596
7994
  this.simbolos = retornoLexador?.simbolos || [];
7597
- while (this.verificarTipoSimboloAtual(portugol_ipt_1.default.QUEBRA_LINHA)) {
7598
- this.avancarEDevolverAnterior();
7599
- }
7995
+ this.consumirQuebrasLinha();
7996
+ this.consumir(portugol_ipt_1.default.INICIO, "Esperado 'inicio' para marcar o início do algoritmo.");
7600
7997
  let declaracoes = [];
7601
- this.validarSegmentoInicio();
7602
7998
  while (!this.estaNoFinal() && this.simbolos[this.atual].tipo !== portugol_ipt_1.default.FIM) {
7603
- const resolucaoDeclaracao = await this.resolverDeclaracaoForaDeBloco();
7604
- if (Array.isArray(resolucaoDeclaracao)) {
7605
- declaracoes = declaracoes.concat(resolucaoDeclaracao);
7999
+ const resolucao = await this.resolverDeclaracaoForaDeBloco();
8000
+ if (Array.isArray(resolucao)) {
8001
+ declaracoes = declaracoes.concat(resolucao);
7606
8002
  }
7607
- else {
7608
- declaracoes.push(resolucaoDeclaracao);
8003
+ else if (resolucao !== null && resolucao !== undefined) {
8004
+ declaracoes.push(resolucao);
7609
8005
  }
7610
8006
  }
7611
8007
  return {
@@ -7616,7 +8012,7 @@ class AvaliadorSintaticoPortugolIpt extends avaliador_sintatico_base_1.Avaliador
7616
8012
  }
7617
8013
  exports.AvaliadorSintaticoPortugolIpt = AvaliadorSintaticoPortugolIpt;
7618
8014
 
7619
- },{"../../construtos":62,"../../declaracoes":110,"../../tipos-de-simbolos/portugol-ipt":229,"../avaliador-sintatico-base":9}],15:[function(require,module,exports){
8015
+ },{"../../construtos":62,"../../declaracoes":110,"../../lexador/simbolo":218,"../../tipos-de-simbolos/portugol-ipt":230,"../avaliador-sintatico-base":9}],15:[function(require,module,exports){
7620
8016
  "use strict";
7621
8017
  var __importDefault = (this && this.__importDefault) || function (mod) {
7622
8018
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -8586,7 +8982,7 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
8586
8982
  }
8587
8983
  exports.AvaliadorSintaticoPrisma = AvaliadorSintaticoPrisma;
8588
8984
 
8589
- },{"../../bibliotecas/primitivas-dicionario":29,"../../bibliotecas/primitivas-numero":30,"../../bibliotecas/primitivas-texto":31,"../../bibliotecas/primitivas-vetor":32,"../../construtos":62,"../../declaracoes":110,"../../inferenciador":138,"../../informacao-elemento-sintatico":139,"../../lexador":209,"../../tipos-de-simbolos/prisma":230,"../avaliador-sintatico-base":9,"../comum":11,"../erro-avaliador-sintatico":20,"../informacao-escopo":22,"../pilha-escopos":26,"browser-process-hrtime":417}],16:[function(require,module,exports){
8985
+ },{"../../bibliotecas/primitivas-dicionario":29,"../../bibliotecas/primitivas-numero":30,"../../bibliotecas/primitivas-texto":31,"../../bibliotecas/primitivas-vetor":32,"../../construtos":62,"../../declaracoes":110,"../../inferenciador":139,"../../informacao-elemento-sintatico":140,"../../lexador":210,"../../tipos-de-simbolos/prisma":231,"../avaliador-sintatico-base":9,"../comum":11,"../erro-avaliador-sintatico":20,"../informacao-escopo":22,"../pilha-escopos":26,"browser-process-hrtime":418}],16:[function(require,module,exports){
8590
8986
  "use strict";
8591
8987
  var __importDefault = (this && this.__importDefault) || function (mod) {
8592
8988
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -9598,7 +9994,7 @@ class AvaliadorSintaticoTenda extends avaliador_sintatico_base_1.AvaliadorSintat
9598
9994
  }
9599
9995
  exports.AvaliadorSintaticoTenda = AvaliadorSintaticoTenda;
9600
9996
 
9601
- },{"../../bibliotecas/primitivas-dicionario":29,"../../bibliotecas/primitivas-numero":30,"../../bibliotecas/primitivas-texto":31,"../../bibliotecas/primitivas-vetor":32,"../../construtos":62,"../../construtos/tuplas":80,"../../declaracoes":110,"../../inferenciador":138,"../../informacao-elemento-sintatico":139,"../../lexador/simbolo":217,"../../tipos-de-dados/delegua":219,"../../tipos-de-simbolos/tenda":231,"../avaliador-sintatico-base":9,"./../erro-avaliador-sintatico":20,"./../informacao-escopo":22,"./../pilha-escopos":26,"browser-process-hrtime":417}],17:[function(require,module,exports){
9997
+ },{"../../bibliotecas/primitivas-dicionario":29,"../../bibliotecas/primitivas-numero":30,"../../bibliotecas/primitivas-texto":31,"../../bibliotecas/primitivas-vetor":32,"../../construtos":62,"../../construtos/tuplas":80,"../../declaracoes":110,"../../inferenciador":139,"../../informacao-elemento-sintatico":140,"../../lexador/simbolo":218,"../../tipos-de-dados/delegua":220,"../../tipos-de-simbolos/tenda":232,"../avaliador-sintatico-base":9,"./../erro-avaliador-sintatico":20,"./../informacao-escopo":22,"./../pilha-escopos":26,"browser-process-hrtime":418}],17:[function(require,module,exports){
9602
9998
  "use strict";
9603
9999
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9604
10000
  if (k2 === undefined) k2 = k;
@@ -9861,7 +10257,7 @@ class MicroAvaliadorSintaticoPitugues extends micro_avaliador_sintatico_base_1.M
9861
10257
  }
9862
10258
  exports.MicroAvaliadorSintaticoPitugues = MicroAvaliadorSintaticoPitugues;
9863
10259
 
9864
- },{"../../construtos":62,"../../declaracoes":110,"../../inferenciador":138,"../../tipos-de-simbolos/pitugues":228,"../micro-avaliador-sintatico-base":23}],19:[function(require,module,exports){
10260
+ },{"../../construtos":62,"../../declaracoes":110,"../../inferenciador":139,"../../tipos-de-simbolos/pitugues":229,"../micro-avaliador-sintatico-base":23}],19:[function(require,module,exports){
9865
10261
  "use strict";
9866
10262
  Object.defineProperty(exports, "__esModule", { value: true });
9867
10263
  exports.ElementoMontaoTipos = void 0;
@@ -10043,7 +10439,7 @@ class MicroAvaliadorSintaticoBase {
10043
10439
  }
10044
10440
  exports.MicroAvaliadorSintaticoBase = MicroAvaliadorSintaticoBase;
10045
10441
 
10046
- },{"../construtos":62,"../tipos-de-simbolos/comum":223,"./erro-avaliador-sintatico":20}],24:[function(require,module,exports){
10442
+ },{"../construtos":62,"../tipos-de-simbolos/comum":224,"./erro-avaliador-sintatico":20}],24:[function(require,module,exports){
10047
10443
  "use strict";
10048
10444
  var __importDefault = (this && this.__importDefault) || function (mod) {
10049
10445
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -10258,7 +10654,7 @@ class MicroAvaliadorSintatico extends micro_avaliador_sintatico_base_1.MicroAval
10258
10654
  }
10259
10655
  exports.MicroAvaliadorSintatico = MicroAvaliadorSintatico;
10260
10656
 
10261
- },{"../construtos":62,"../tipos-de-simbolos/microgramaticas/delegua":227,"./micro-avaliador-sintatico-base":23}],25:[function(require,module,exports){
10657
+ },{"../construtos":62,"../tipos-de-simbolos/microgramaticas/delegua":228,"./micro-avaliador-sintatico-base":23}],25:[function(require,module,exports){
10262
10658
  "use strict";
10263
10659
  Object.defineProperty(exports, "__esModule", { value: true });
10264
10660
  exports.MontaoTipos = void 0;
@@ -10309,7 +10705,7 @@ class MontaoTipos {
10309
10705
  }
10310
10706
  exports.MontaoTipos = MontaoTipos;
10311
10707
 
10312
- },{"../geracao-identificadores":136,"./erro-avaliador-sintatico":20}],26:[function(require,module,exports){
10708
+ },{"../geracao-identificadores":137,"./erro-avaliador-sintatico":20}],26:[function(require,module,exports){
10313
10709
  "use strict";
10314
10710
  Object.defineProperty(exports, "__esModule", { value: true });
10315
10711
  exports.PilhaEscopos = void 0;
@@ -11551,7 +11947,7 @@ async function vetor(interpretador, tupla) {
11551
11947
  return resultadoFinal;
11552
11948
  }
11553
11949
 
11554
- },{"../construtos":62,"../excecoes":132,"../interpretador/estruturas":180,"../interpretador/estruturas/descritor-tipo-classe":178,"../interpretador/estruturas/funcao-padrao":179,"../interpretador/estruturas/objeto-delegua-classe":185,"../quebras":218}],28:[function(require,module,exports){
11950
+ },{"../construtos":62,"../excecoes":133,"../interpretador/estruturas":181,"../interpretador/estruturas/descritor-tipo-classe":179,"../interpretador/estruturas/funcao-padrao":180,"../interpretador/estruturas/objeto-delegua-classe":186,"../quebras":219}],28:[function(require,module,exports){
11555
11951
  "use strict";
11556
11952
  Object.defineProperty(exports, "__esModule", { value: true });
11557
11953
  const excecoes_1 = require("../../../excecoes");
@@ -11574,7 +11970,7 @@ exports.default = {
11574
11970
  },
11575
11971
  };
11576
11972
 
11577
- },{"../../../construtos":62,"../../../excecoes":132}],29:[function(require,module,exports){
11973
+ },{"../../../construtos":62,"../../../excecoes":133}],29:[function(require,module,exports){
11578
11974
  "use strict";
11579
11975
  Object.defineProperty(exports, "__esModule", { value: true });
11580
11976
  const construtos_1 = require("../construtos");
@@ -11599,6 +11995,37 @@ const contemComum = (nome) => {
11599
11995
  };
11600
11996
  };
11601
11997
  exports.default = {
11998
+ mesclar: {
11999
+ tipoRetorno: 'dicionário',
12000
+ argumentos: [
12001
+ new informacao_elemento_sintatico_1.InformacaoElementoSintatico('outroDicionario', 'dicionário', true, [], 'Outro dicionário a ser mesclado com este dicionário.'),
12002
+ ],
12003
+ implementacao: (interpretador, valor, outroDicionario) => {
12004
+ if (!outroDicionario ||
12005
+ Array.isArray(outroDicionario) ||
12006
+ outroDicionario.constructor !== Object) {
12007
+ return Promise.reject(new Error('O argumento de dicionário.mesclar() deve ser um dicionário.'));
12008
+ }
12009
+ return Promise.resolve(Object.assign({}, valor, outroDicionario));
12010
+ },
12011
+ assinaturaFormato: 'dicionário.mesclar(outroDicionario: dicionário)',
12012
+ },
12013
+ // Compatibilidade retroativa com versões anteriores.
12014
+ concatenar: {
12015
+ tipoRetorno: 'dicionário',
12016
+ argumentos: [
12017
+ new informacao_elemento_sintatico_1.InformacaoElementoSintatico('outroDicionario', 'dicionário', true, [], 'Outro dicionário a ser mesclado com este dicionário.'),
12018
+ ],
12019
+ implementacao: (interpretador, valor, outroDicionario) => {
12020
+ if (!outroDicionario ||
12021
+ Array.isArray(outroDicionario) ||
12022
+ outroDicionario.constructor !== Object) {
12023
+ return Promise.reject(new Error('O argumento de dicionário.mesclar() deve ser um dicionário.'));
12024
+ }
12025
+ return Promise.resolve(Object.assign({}, valor, outroDicionario));
12026
+ },
12027
+ assinaturaFormato: 'dicionário.concatenar(outroDicionario: dicionário)',
12028
+ },
11602
12029
  chaves: {
11603
12030
  tipoRetorno: 'texto[]',
11604
12031
  argumentos: [],
@@ -11656,7 +12083,7 @@ exports.default = {
11656
12083
  },
11657
12084
  };
11658
12085
 
11659
- },{"../construtos":62,"../informacao-elemento-sintatico":139}],30:[function(require,module,exports){
12086
+ },{"../construtos":62,"../informacao-elemento-sintatico":140}],30:[function(require,module,exports){
11660
12087
  "use strict";
11661
12088
  Object.defineProperty(exports, "__esModule", { value: true });
11662
12089
  const informacao_elemento_sintatico_1 = require("../informacao-elemento-sintatico");
@@ -11741,7 +12168,7 @@ exports.default = {
11741
12168
  },
11742
12169
  };
11743
12170
 
11744
- },{"../informacao-elemento-sintatico":139}],31:[function(require,module,exports){
12171
+ },{"../informacao-elemento-sintatico":140}],31:[function(require,module,exports){
11745
12172
  "use strict";
11746
12173
  Object.defineProperty(exports, "__esModule", { value: true });
11747
12174
  exports.implementacaoParticao = void 0;
@@ -12140,7 +12567,7 @@ exports.default = {
12140
12567
  },
12141
12568
  };
12142
12569
 
12143
- },{"../construtos":62,"../excecoes":132,"../informacao-elemento-sintatico":139}],32:[function(require,module,exports){
12570
+ },{"../construtos":62,"../excecoes":133,"../informacao-elemento-sintatico":140}],32:[function(require,module,exports){
12144
12571
  "use strict";
12145
12572
  Object.defineProperty(exports, "__esModule", { value: true });
12146
12573
  const informacao_elemento_sintatico_1 = require("../informacao-elemento-sintatico");
@@ -12551,7 +12978,7 @@ exports.default = {
12551
12978
  },
12552
12979
  };
12553
12980
 
12554
- },{"../construtos":62,"../excecoes":132,"../inferenciador":138,"../informacao-elemento-sintatico":139}],33:[function(require,module,exports){
12981
+ },{"../construtos":62,"../excecoes":133,"../inferenciador":139,"../informacao-elemento-sintatico":140}],33:[function(require,module,exports){
12555
12982
  "use strict";
12556
12983
  Object.defineProperty(exports, "__esModule", { value: true });
12557
12984
  exports.AcessoElementoMatriz = void 0;
@@ -13026,7 +13453,7 @@ class Chamada {
13026
13453
  }
13027
13454
  exports.Chamada = Chamada;
13028
13455
 
13029
- },{"../geracao-identificadores":136}],47:[function(require,module,exports){
13456
+ },{"../geracao-identificadores":137}],47:[function(require,module,exports){
13030
13457
  "use strict";
13031
13458
  Object.defineProperty(exports, "__esModule", { value: true });
13032
13459
  exports.ComentarioComoConstruto = void 0;
@@ -13537,7 +13964,7 @@ class Leia {
13537
13964
  }
13538
13965
  exports.Leia = Leia;
13539
13966
 
13540
- },{"../geracao-identificadores":136}],65:[function(require,module,exports){
13967
+ },{"../geracao-identificadores":137}],65:[function(require,module,exports){
13541
13968
  "use strict";
13542
13969
  Object.defineProperty(exports, "__esModule", { value: true });
13543
13970
  exports.ListaCompreensao = void 0;
@@ -14766,7 +15193,7 @@ class FuncaoDeclaracao extends declaracao_1.Declaracao {
14766
15193
  }
14767
15194
  exports.FuncaoDeclaracao = FuncaoDeclaracao;
14768
15195
 
14769
- },{"../geracao-identificadores":136,"./declaracao":99}],109:[function(require,module,exports){
15196
+ },{"../geracao-identificadores":137,"./declaracao":99}],109:[function(require,module,exports){
14770
15197
  "use strict";
14771
15198
  Object.defineProperty(exports, "__esModule", { value: true });
14772
15199
  exports.Importar = void 0;
@@ -15446,7 +15873,7 @@ class EstilizadorDelegua {
15446
15873
  }
15447
15874
  exports.EstilizadorDelegua = EstilizadorDelegua;
15448
15875
 
15449
- },{"../formatadores":135,"./quebrador-linha":126}],125:[function(require,module,exports){
15876
+ },{"../formatadores":136,"./quebrador-linha":126}],125:[function(require,module,exports){
15450
15877
  "use strict";
15451
15878
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15452
15879
  if (k2 === undefined) k2 = k;
@@ -15515,6 +15942,17 @@ function obterIndentacao(linha) {
15515
15942
  const match = linha.match(/^(\s*)/);
15516
15943
  return match ? match[1] : '';
15517
15944
  }
15945
+ /**
15946
+ * Detecta linhas de comentário que devem ser preservadas intactas.
15947
+ */
15948
+ function ehLinhaComentario(linha) {
15949
+ const semIndentacao = linha.trimStart();
15950
+ return (semIndentacao.startsWith('//') ||
15951
+ semIndentacao.startsWith('#') ||
15952
+ semIndentacao.startsWith('/*') ||
15953
+ semIndentacao.startsWith('*') ||
15954
+ semIndentacao.startsWith('*/'));
15955
+ }
15518
15956
  /**
15519
15957
  * Encontra todos os pontos de quebra válidos em uma linha, retornando os índices
15520
15958
  * onde a próxima linha de continuação deve começar (já avançado o espaço separador).
@@ -15568,6 +16006,8 @@ function encontrarPontosDeQuebra(linha) {
15568
16006
  * Se a linha não puder ser melhorada (apenas 1 segmento), retorna a original intacta.
15569
16007
  */
15570
16008
  function quebrarLinha(linha, maximo, indentacaoContinuacao) {
16009
+ if (ehLinhaComentario(linha))
16010
+ return [linha];
15571
16011
  if (linha.length <= maximo)
15572
16012
  return [linha];
15573
16013
  const pontos = encontrarPontosDeQuebra(linha);
@@ -15671,9 +16111,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15671
16111
  Object.defineProperty(exports, "__esModule", { value: true });
15672
16112
  __exportStar(require("./regra-fortalecer-tipos"), exports);
15673
16113
  __exportStar(require("./regra-convencao-nomenclatura"), exports);
16114
+ __exportStar(require("./regra-explicitar-tipos-parametros"), exports);
15674
16115
  __exportStar(require("./regra-paradigma-consistente"), exports);
15675
16116
 
15676
- },{"./regra-convencao-nomenclatura":128,"./regra-fortalecer-tipos":129,"./regra-paradigma-consistente":130}],128:[function(require,module,exports){
16117
+ },{"./regra-convencao-nomenclatura":128,"./regra-explicitar-tipos-parametros":129,"./regra-fortalecer-tipos":130,"./regra-paradigma-consistente":131}],128:[function(require,module,exports){
15677
16118
  "use strict";
15678
16119
  Object.defineProperty(exports, "__esModule", { value: true });
15679
16120
  exports.RegraConvencaoNomenclatura = void 0;
@@ -15697,20 +16138,13 @@ class RegraConvencaoNomenclatura {
15697
16138
  };
15698
16139
  }
15699
16140
  aplicarEmDeclaracao(declaracao) {
15700
- // Valida/transforma nomes de variáveis
15701
- if (declaracao instanceof declaracoes_1.Var) {
15702
- return this.aplicarConvencaoVar(declaracao);
15703
- }
15704
- // Valida/transforma nomes de constantes
15705
- if (declaracao instanceof declaracoes_1.Const) {
15706
- return this.aplicarConvencaoConst(declaracao);
15707
- }
15708
- // Valida/transforma nomes de funções
15709
- if (declaracao instanceof declaracoes_1.FuncaoDeclaracao) {
15710
- return this.aplicarConvencaoFuncao(declaracao);
15711
- }
16141
+ this.visitarObjeto(declaracao, new Set());
15712
16142
  return declaracao;
15713
16143
  }
16144
+ aplicarEmConstruto(construto) {
16145
+ this.visitarObjeto(construto, new Set());
16146
+ return construto;
16147
+ }
15714
16148
  /**
15715
16149
  * Aplica convenção em declaração Var.
15716
16150
  */
@@ -15792,14 +16226,41 @@ class RegraConvencaoNomenclatura {
15792
16226
  */
15793
16227
  paraSnakeCase(nome) {
15794
16228
  return (nome
15795
- // Adiciona underscore antes de letras maiúsculas
15796
- .replace(/([A-Z])/g, '_$1')
16229
+ // Separa limites entre minúsculas/dígitos e maiúsculas.
16230
+ .replace(/([a-z0-9])([A-Z])/g, '$1_$2')
16231
+ // Separa blocos maiúsculos quando o último inicia uma palavra normal.
16232
+ .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2')
16233
+ .replace(/[\s-]+/g, '_')
15797
16234
  .toLowerCase()
15798
16235
  // Remove underscores duplicados
15799
16236
  .replace(/__+/g, '_')
15800
16237
  // Remove underscore inicial se houver
15801
16238
  .replace(/^_/, ''));
15802
16239
  }
16240
+ visitarObjeto(objeto, visitados) {
16241
+ if (!objeto || typeof objeto !== 'object' || visitados.has(objeto)) {
16242
+ return;
16243
+ }
16244
+ visitados.add(objeto);
16245
+ if (objeto instanceof declaracoes_1.Var) {
16246
+ this.aplicarConvencaoVar(objeto);
16247
+ }
16248
+ else if (objeto instanceof declaracoes_1.Const) {
16249
+ this.aplicarConvencaoConst(objeto);
16250
+ }
16251
+ else if (objeto instanceof declaracoes_1.FuncaoDeclaracao) {
16252
+ this.aplicarConvencaoFuncao(objeto);
16253
+ }
16254
+ if (Array.isArray(objeto)) {
16255
+ for (const item of objeto) {
16256
+ this.visitarObjeto(item, visitados);
16257
+ }
16258
+ return;
16259
+ }
16260
+ for (const valor of Object.values(objeto)) {
16261
+ this.visitarObjeto(valor, visitados);
16262
+ }
16263
+ }
15803
16264
  /**
15804
16265
  * Converte nome para PascalCase.
15805
16266
  */
@@ -15825,6 +16286,57 @@ exports.RegraConvencaoNomenclatura = RegraConvencaoNomenclatura;
15825
16286
  },{"../../declaracoes":110}],129:[function(require,module,exports){
15826
16287
  "use strict";
15827
16288
  Object.defineProperty(exports, "__esModule", { value: true });
16289
+ exports.RegraExplicitarTiposParametros = void 0;
16290
+ /**
16291
+ * Regra que explicita o tipo `qualquer` em parâmetros sem anotação.
16292
+ */
16293
+ class RegraExplicitarTiposParametros {
16294
+ constructor() {
16295
+ this.nome = 'explicitar-tipos-parametros';
16296
+ this.descricao = 'Explicita o tipo `qualquer` em parâmetros sem tipo declarado';
16297
+ }
16298
+ aplicarEmDeclaracao(declaracao) {
16299
+ this.visitarObjeto(declaracao, new Set());
16300
+ return declaracao;
16301
+ }
16302
+ aplicarEmConstruto(construto) {
16303
+ this.visitarObjeto(construto, new Set());
16304
+ return construto;
16305
+ }
16306
+ visitarObjeto(objeto, visitados) {
16307
+ if (!objeto || typeof objeto !== 'object' || visitados.has(objeto)) {
16308
+ return;
16309
+ }
16310
+ visitados.add(objeto);
16311
+ if (Array.isArray(objeto)) {
16312
+ for (const item of objeto) {
16313
+ this.visitarObjeto(item, visitados);
16314
+ }
16315
+ return;
16316
+ }
16317
+ if (this.ehAssinaturaComParametros(objeto)) {
16318
+ this.explicitarParametros(objeto.parametros);
16319
+ }
16320
+ for (const valor of Object.values(objeto)) {
16321
+ this.visitarObjeto(valor, visitados);
16322
+ }
16323
+ }
16324
+ ehAssinaturaComParametros(objeto) {
16325
+ return 'parametros' in objeto && Array.isArray(objeto.parametros);
16326
+ }
16327
+ explicitarParametros(parametros) {
16328
+ for (const parametro of parametros) {
16329
+ if (!parametro.tipoDado) {
16330
+ parametro.tipoDado = 'qualquer';
16331
+ }
16332
+ }
16333
+ }
16334
+ }
16335
+ exports.RegraExplicitarTiposParametros = RegraExplicitarTiposParametros;
16336
+
16337
+ },{}],130:[function(require,module,exports){
16338
+ "use strict";
16339
+ Object.defineProperty(exports, "__esModule", { value: true });
15828
16340
  exports.RegraFortalecerTipos = void 0;
15829
16341
  const declaracoes_1 = require("../../declaracoes");
15830
16342
  const construtos_1 = require("../../construtos");
@@ -15907,7 +16419,7 @@ class RegraFortalecerTipos {
15907
16419
  }
15908
16420
  exports.RegraFortalecerTipos = RegraFortalecerTipos;
15909
16421
 
15910
- },{"../../construtos":62,"../../declaracoes":110,"../../inferenciador":138}],130:[function(require,module,exports){
16422
+ },{"../../construtos":62,"../../declaracoes":110,"../../inferenciador":139}],131:[function(require,module,exports){
15911
16423
  "use strict";
15912
16424
  Object.defineProperty(exports, "__esModule", { value: true });
15913
16425
  exports.RegraParadigmaConsistente = void 0;
@@ -15997,7 +16509,7 @@ class RegraParadigmaConsistente {
15997
16509
  }
15998
16510
  exports.RegraParadigmaConsistente = RegraParadigmaConsistente;
15999
16511
 
16000
- },{"../../construtos/leia":64,"../../declaracoes":110,"../../lexador/mapeamento-paradigmas":213}],131:[function(require,module,exports){
16512
+ },{"../../construtos/leia":64,"../../declaracoes":110,"../../lexador/mapeamento-paradigmas":214}],132:[function(require,module,exports){
16001
16513
  "use strict";
16002
16514
  Object.defineProperty(exports, "__esModule", { value: true });
16003
16515
  exports.ErroEmTempoDeExecucao = void 0;
@@ -16012,7 +16524,7 @@ class ErroEmTempoDeExecucao extends Error {
16012
16524
  }
16013
16525
  exports.ErroEmTempoDeExecucao = ErroEmTempoDeExecucao;
16014
16526
 
16015
- },{}],132:[function(require,module,exports){
16527
+ },{}],133:[function(require,module,exports){
16016
16528
  "use strict";
16017
16529
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16018
16530
  if (k2 === undefined) k2 = k;
@@ -16031,7 +16543,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16031
16543
  Object.defineProperty(exports, "__esModule", { value: true });
16032
16544
  __exportStar(require("./erro-em-tempo-de-execucao"), exports);
16033
16545
 
16034
- },{"./erro-em-tempo-de-execucao":131}],133:[function(require,module,exports){
16546
+ },{"./erro-em-tempo-de-execucao":132}],134:[function(require,module,exports){
16035
16547
  "use strict";
16036
16548
  var __importDefault = (this && this.__importDefault) || function (mod) {
16037
16549
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -16082,7 +16594,7 @@ class FormatadorDelegua {
16082
16594
  for (let metodo of declaracao.metodos) {
16083
16595
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}${metodo.nome.lexema}(`;
16084
16596
  for (let parametro of metodo.parametros) {
16085
- this.codigoFormatado += `${parametro.nome.lexema}: ${parametro.tipoDado || 'qualquer'}, `;
16597
+ this.codigoFormatado += `${this.formatarParametro(parametro)}, `;
16086
16598
  }
16087
16599
  if (metodo.parametros.length > 0) {
16088
16600
  this.codigoFormatado = this.codigoFormatado.slice(0, -2);
@@ -16278,7 +16790,7 @@ class FormatadorDelegua {
16278
16790
  // Métodos estrangeiros: emitir apenas a assinatura, sem corpo.
16279
16791
  this.codigoFormatado += `(`;
16280
16792
  for (let argumento of metodo.funcao.parametros) {
16281
- this.codigoFormatado += `${argumento.nome.lexema}: ${argumento.tipoDado || 'qualquer'}, `;
16793
+ this.codigoFormatado += `${this.formatarParametro(argumento)}, `;
16282
16794
  }
16283
16795
  if (metodo.funcao.parametros.length > 0) {
16284
16796
  this.codigoFormatado = this.codigoFormatado.slice(0, -2);
@@ -16688,7 +17200,7 @@ class FormatadorDelegua {
16688
17200
  visitarExpressaoFuncaoConstruto(expressao) {
16689
17201
  this.codigoFormatado += `(`;
16690
17202
  for (let argumento of expressao.parametros) {
16691
- this.codigoFormatado += `${argumento.nome.lexema}: ${argumento.tipoDado || 'qualquer'}, `;
17203
+ this.codigoFormatado += `${this.formatarParametro(argumento)}, `;
16692
17204
  }
16693
17205
  if (expressao.parametros.length > 0) {
16694
17206
  this.codigoFormatado = this.codigoFormatado.slice(0, -2);
@@ -16700,6 +17212,12 @@ class FormatadorDelegua {
16700
17212
  this.codigoFormatado += ' ';
16701
17213
  this.formatarBlocoOuVetorDeclaracoes(expressao.corpo);
16702
17214
  }
17215
+ formatarParametro(parametro) {
17216
+ if (parametro.tipoDado) {
17217
+ return `${parametro.nome.lexema}: ${parametro.tipoDado}`;
17218
+ }
17219
+ return parametro.nome.lexema;
17220
+ }
16703
17221
  visitarExpressaoImportar(expressao) {
16704
17222
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}importar(`;
16705
17223
  this.formatarDeclaracaoOuConstruto(expressao.caminho);
@@ -16986,7 +17504,7 @@ class FormatadorDelegua {
16986
17504
  }
16987
17505
  exports.FormatadorDelegua = FormatadorDelegua;
16988
17506
 
16989
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":224}],134:[function(require,module,exports){
17507
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":225}],135:[function(require,module,exports){
16990
17508
  "use strict";
16991
17509
  var __importDefault = (this && this.__importDefault) || function (mod) {
16992
17510
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -17448,7 +17966,7 @@ class FormatadorPitugues {
17448
17966
  }
17449
17967
  exports.FormatadorPitugues = FormatadorPitugues;
17450
17968
 
17451
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/pitugues":228}],135:[function(require,module,exports){
17969
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/pitugues":229}],136:[function(require,module,exports){
17452
17970
  "use strict";
17453
17971
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17454
17972
  if (k2 === undefined) k2 = k;
@@ -17468,7 +17986,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17468
17986
  __exportStar(require("./formatador-delegua"), exports);
17469
17987
  __exportStar(require("./formatador-pitugues"), exports);
17470
17988
 
17471
- },{"./formatador-delegua":133,"./formatador-pitugues":134}],136:[function(require,module,exports){
17989
+ },{"./formatador-delegua":134,"./formatador-pitugues":135}],137:[function(require,module,exports){
17472
17990
  "use strict";
17473
17991
  Object.defineProperty(exports, "__esModule", { value: true });
17474
17992
  exports.cyrb53 = cyrb53;
@@ -17512,7 +18030,7 @@ function uuidv4() {
17512
18030
  });
17513
18031
  }
17514
18032
 
17515
- },{}],137:[function(require,module,exports){
18033
+ },{}],138:[function(require,module,exports){
17516
18034
  "use strict";
17517
18035
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17518
18036
  if (k2 === undefined) k2 = k;
@@ -17541,7 +18059,7 @@ __exportStar(require("./interpretador"), exports);
17541
18059
  __exportStar(require("./lexador"), exports);
17542
18060
  __exportStar(require("./tradutores"), exports);
17543
18061
 
17544
- },{"./analisador-semantico":6,"./avaliador-sintatico":21,"./construtos":62,"./declaracoes":110,"./estilizador":125,"./formatadores":135,"./geracao-identificadores":136,"./interfaces":150,"./interpretador":189,"./lexador":209,"./tradutores":232}],138:[function(require,module,exports){
18062
+ },{"./analisador-semantico":6,"./avaliador-sintatico":21,"./construtos":62,"./declaracoes":110,"./estilizador":125,"./formatadores":136,"./geracao-identificadores":137,"./interfaces":151,"./interpretador":190,"./lexador":210,"./tradutores":233}],139:[function(require,module,exports){
17545
18063
  "use strict";
17546
18064
  var __importDefault = (this && this.__importDefault) || function (mod) {
17547
18065
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -17663,7 +18181,7 @@ function inferirTipoVariavel(variavel) {
17663
18181
  }
17664
18182
  }
17665
18183
 
17666
- },{"./tipos-de-dados/delegua":219,"./tipos-de-dados/primitivos":221,"./tipos-de-simbolos/delegua":224}],139:[function(require,module,exports){
18184
+ },{"./tipos-de-dados/delegua":220,"./tipos-de-dados/primitivos":222,"./tipos-de-simbolos/delegua":225}],140:[function(require,module,exports){
17667
18185
  "use strict";
17668
18186
  Object.defineProperty(exports, "__esModule", { value: true });
17669
18187
  exports.InformacaoElementoSintatico = void 0;
@@ -17682,10 +18200,6 @@ class InformacaoElementoSintatico {
17682
18200
  }
17683
18201
  exports.InformacaoElementoSintatico = InformacaoElementoSintatico;
17684
18202
 
17685
- },{}],140:[function(require,module,exports){
17686
- "use strict";
17687
- Object.defineProperty(exports, "__esModule", { value: true });
17688
-
17689
18203
  },{}],141:[function(require,module,exports){
17690
18204
  "use strict";
17691
18205
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -17705,6 +18219,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
17705
18219
  },{}],145:[function(require,module,exports){
17706
18220
  "use strict";
17707
18221
  Object.defineProperty(exports, "__esModule", { value: true });
18222
+
18223
+ },{}],146:[function(require,module,exports){
18224
+ "use strict";
18225
+ Object.defineProperty(exports, "__esModule", { value: true });
17708
18226
  exports.DiagnosticoSeveridade = void 0;
17709
18227
  var DiagnosticoSeveridade;
17710
18228
  (function (DiagnosticoSeveridade) {
@@ -17714,11 +18232,11 @@ var DiagnosticoSeveridade;
17714
18232
  DiagnosticoSeveridade[DiagnosticoSeveridade["SUGESTAO"] = 3] = "SUGESTAO";
17715
18233
  })(DiagnosticoSeveridade || (exports.DiagnosticoSeveridade = DiagnosticoSeveridade = {}));
17716
18234
 
17717
- },{}],146:[function(require,module,exports){
18235
+ },{}],147:[function(require,module,exports){
17718
18236
  "use strict";
17719
18237
  Object.defineProperty(exports, "__esModule", { value: true });
17720
18238
 
17721
- },{}],147:[function(require,module,exports){
18239
+ },{}],148:[function(require,module,exports){
17722
18240
  "use strict";
17723
18241
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17724
18242
  if (k2 === undefined) k2 = k;
@@ -17739,15 +18257,15 @@ __exportStar(require("./correcao-sugerida-interface"), exports);
17739
18257
  __exportStar(require("./diagnostico-analisador-semantico"), exports);
17740
18258
  __exportStar(require("./erro-interpretador-interface"), exports);
17741
18259
 
17742
- },{"./correcao-sugerida-interface":144,"./diagnostico-analisador-semantico":145,"./erro-interpretador-interface":146}],148:[function(require,module,exports){
18260
+ },{"./correcao-sugerida-interface":145,"./diagnostico-analisador-semantico":146,"./erro-interpretador-interface":147}],149:[function(require,module,exports){
17743
18261
  "use strict";
17744
18262
  Object.defineProperty(exports, "__esModule", { value: true });
17745
18263
 
17746
- },{}],149:[function(require,module,exports){
18264
+ },{}],150:[function(require,module,exports){
17747
18265
  "use strict";
17748
18266
  Object.defineProperty(exports, "__esModule", { value: true });
17749
18267
 
17750
- },{}],150:[function(require,module,exports){
18268
+ },{}],151:[function(require,module,exports){
17751
18269
  "use strict";
17752
18270
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17753
18271
  if (k2 === undefined) k2 = k;
@@ -17788,11 +18306,7 @@ __exportStar(require("./construtos"), exports);
17788
18306
  __exportStar(require("./erros"), exports);
17789
18307
  __exportStar(require("./retornos"), exports);
17790
18308
 
17791
- },{"./avaliador-sintatico-interface":140,"./componente-modulo-classe-interface":141,"./componente-modulo-funcao-interface":142,"./construtos":143,"./erros":147,"./estilizador/estilizador-interface":148,"./formatador-comum-interface":149,"./interpretador-com-depuracao-interface":151,"./interpretador-interface":152,"./lexador-interface":153,"./modulo-interface":154,"./parametro-interface":155,"./pilha-interface":156,"./primitiva-interface":157,"./resolvedor-interface":158,"./resultado-parcial-interpretador-interface":159,"./retornos":160,"./retornos/retorno-execucao-interface":163,"./simbolo-interface":166,"./tradutor-interface":167,"./variavel-interface":168,"./visitante-comum-interface":169,"./visitante-delegua-interface":170}],151:[function(require,module,exports){
17792
- "use strict";
17793
- Object.defineProperty(exports, "__esModule", { value: true });
17794
-
17795
- },{}],152:[function(require,module,exports){
18309
+ },{"./avaliador-sintatico-interface":141,"./componente-modulo-classe-interface":142,"./componente-modulo-funcao-interface":143,"./construtos":144,"./erros":148,"./estilizador/estilizador-interface":149,"./formatador-comum-interface":150,"./interpretador-com-depuracao-interface":152,"./interpretador-interface":153,"./lexador-interface":154,"./modulo-interface":155,"./parametro-interface":156,"./pilha-interface":157,"./primitiva-interface":158,"./resolvedor-interface":159,"./resultado-parcial-interpretador-interface":160,"./retornos":161,"./retornos/retorno-execucao-interface":164,"./simbolo-interface":167,"./tradutor-interface":168,"./variavel-interface":169,"./visitante-comum-interface":170,"./visitante-delegua-interface":171}],152:[function(require,module,exports){
17796
18310
  "use strict";
17797
18311
  Object.defineProperty(exports, "__esModule", { value: true });
17798
18312
 
@@ -17826,6 +18340,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
17826
18340
 
17827
18341
  },{}],160:[function(require,module,exports){
17828
18342
  "use strict";
18343
+ Object.defineProperty(exports, "__esModule", { value: true });
18344
+
18345
+ },{}],161:[function(require,module,exports){
18346
+ "use strict";
17829
18347
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17830
18348
  if (k2 === undefined) k2 = k;
17831
18349
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -17847,11 +18365,7 @@ __exportStar(require("./retorno-execucao-interface"), exports);
17847
18365
  __exportStar(require("./retorno-interpretador-interface"), exports);
17848
18366
  __exportStar(require("./retorno-lexador"), exports);
17849
18367
 
17850
- },{"./retorno-analisador-semantico":161,"./retorno-avaliador-sintatico":162,"./retorno-execucao-interface":163,"./retorno-interpretador-interface":164,"./retorno-lexador":165}],161:[function(require,module,exports){
17851
- "use strict";
17852
- Object.defineProperty(exports, "__esModule", { value: true });
17853
-
17854
- },{}],162:[function(require,module,exports){
18368
+ },{"./retorno-analisador-semantico":162,"./retorno-avaliador-sintatico":163,"./retorno-execucao-interface":164,"./retorno-interpretador-interface":165,"./retorno-lexador":166}],162:[function(require,module,exports){
17855
18369
  "use strict";
17856
18370
  Object.defineProperty(exports, "__esModule", { value: true });
17857
18371
 
@@ -17889,6 +18403,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
17889
18403
 
17890
18404
  },{}],171:[function(require,module,exports){
17891
18405
  "use strict";
18406
+ Object.defineProperty(exports, "__esModule", { value: true });
18407
+
18408
+ },{}],172:[function(require,module,exports){
18409
+ "use strict";
17892
18410
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17893
18411
  if (k2 === undefined) k2 = k;
17894
18412
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -18489,7 +19007,7 @@ function obterAjudaFuncaoPadrao(funcaoPadrao) {
18489
19007
  }
18490
19008
  }
18491
19009
 
18492
- },{"../bibliotecas/biblioteca-global":27,"../construtos":62,"./estruturas/delegua-funcao":177,"./estruturas/descritor-tipo-classe":178,"./estruturas/funcao-padrao":179,"./estruturas/objeto-delegua-classe":185}],172:[function(require,module,exports){
19010
+ },{"../bibliotecas/biblioteca-global":27,"../construtos":62,"./estruturas/delegua-funcao":178,"./estruturas/descritor-tipo-classe":179,"./estruturas/funcao-padrao":180,"./estruturas/objeto-delegua-classe":186}],173:[function(require,module,exports){
18493
19011
  "use strict";
18494
19012
  Object.defineProperty(exports, "__esModule", { value: true });
18495
19013
  exports.EspacoMemoria = void 0;
@@ -18514,7 +19032,7 @@ class EspacoMemoria {
18514
19032
  }
18515
19033
  exports.EspacoMemoria = EspacoMemoria;
18516
19034
 
18517
- },{}],173:[function(require,module,exports){
19035
+ },{}],174:[function(require,module,exports){
18518
19036
  "use strict";
18519
19037
  Object.defineProperty(exports, "__esModule", { value: true });
18520
19038
  exports.Chamavel = void 0;
@@ -18531,7 +19049,7 @@ class Chamavel {
18531
19049
  }
18532
19050
  exports.Chamavel = Chamavel;
18533
19051
 
18534
- },{}],174:[function(require,module,exports){
19052
+ },{}],175:[function(require,module,exports){
18535
19053
  "use strict";
18536
19054
  Object.defineProperty(exports, "__esModule", { value: true });
18537
19055
  exports.ClasseDeModulo = void 0;
@@ -18552,7 +19070,7 @@ class ClasseDeModulo extends chamavel_1.Chamavel {
18552
19070
  }
18553
19071
  exports.ClasseDeModulo = ClasseDeModulo;
18554
19072
 
18555
- },{"./chamavel":173}],175:[function(require,module,exports){
19073
+ },{"./chamavel":174}],176:[function(require,module,exports){
18556
19074
  "use strict";
18557
19075
  Object.defineProperty(exports, "__esModule", { value: true });
18558
19076
  exports.ClassePadrao = void 0;
@@ -18593,7 +19111,7 @@ class ClassePadrao extends chamavel_1.Chamavel {
18593
19111
  }
18594
19112
  exports.ClassePadrao = ClassePadrao;
18595
19113
 
18596
- },{"./chamavel":173}],176:[function(require,module,exports){
19114
+ },{"./chamavel":174}],177:[function(require,module,exports){
18597
19115
  "use strict";
18598
19116
  Object.defineProperty(exports, "__esModule", { value: true });
18599
19117
  exports.DeleguaFuncaoNativa = void 0;
@@ -18636,7 +19154,7 @@ class DeleguaFuncaoNativa extends delegua_funcao_1.DeleguaFuncao {
18636
19154
  }
18637
19155
  exports.DeleguaFuncaoNativa = DeleguaFuncaoNativa;
18638
19156
 
18639
- },{"./delegua-funcao":177}],177:[function(require,module,exports){
19157
+ },{"./delegua-funcao":178}],178:[function(require,module,exports){
18640
19158
  "use strict";
18641
19159
  Object.defineProperty(exports, "__esModule", { value: true });
18642
19160
  exports.DeleguaFuncao = void 0;
@@ -18828,7 +19346,7 @@ function tipoDeDados(valor) {
18828
19346
  }
18829
19347
  }
18830
19348
 
18831
- },{"../../declaracoes":110,"../../quebras":218,"../espaco-memoria":172,"./chamavel":173,"./objeto-delegua-classe":185}],178:[function(require,module,exports){
19349
+ },{"../../declaracoes":110,"../../quebras":219,"../espaco-memoria":173,"./chamavel":174,"./objeto-delegua-classe":186}],179:[function(require,module,exports){
18832
19350
  "use strict";
18833
19351
  Object.defineProperty(exports, "__esModule", { value: true });
18834
19352
  exports.DescritorTipoClasse = void 0;
@@ -19142,7 +19660,7 @@ class DescritorTipoClasse extends chamavel_1.Chamavel {
19142
19660
  }
19143
19661
  exports.DescritorTipoClasse = DescritorTipoClasse;
19144
19662
 
19145
- },{"../../excecoes":132,"./chamavel":173,"./metodo-polimorfico":181,"./objeto-delegua-classe":185}],179:[function(require,module,exports){
19663
+ },{"../../excecoes":133,"./chamavel":174,"./metodo-polimorfico":182,"./objeto-delegua-classe":186}],180:[function(require,module,exports){
19146
19664
  "use strict";
19147
19665
  Object.defineProperty(exports, "__esModule", { value: true });
19148
19666
  exports.FuncaoPadrao = void 0;
@@ -19181,7 +19699,7 @@ class FuncaoPadrao extends chamavel_1.Chamavel {
19181
19699
  }
19182
19700
  exports.FuncaoPadrao = FuncaoPadrao;
19183
19701
 
19184
- },{"./chamavel":173}],180:[function(require,module,exports){
19702
+ },{"./chamavel":174}],181:[function(require,module,exports){
19185
19703
  "use strict";
19186
19704
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
19187
19705
  if (k2 === undefined) k2 = k;
@@ -19214,7 +19732,7 @@ __exportStar(require("./objeto-padrao"), exports);
19214
19732
  __exportStar(require("./referencia-montao"), exports);
19215
19733
  __exportStar(require("./super-proxy"), exports);
19216
19734
 
19217
- },{"./chamavel":173,"./classe-de-modulo":174,"./classe-padrao":175,"./delegua-funcao":177,"./delegua-funcao-nativa":176,"./descritor-tipo-classe":178,"./funcao-padrao":179,"./metodo-polimorfico":181,"./metodo-primitiva":182,"./modulo":183,"./objeto-base":184,"./objeto-delegua-classe":185,"./objeto-padrao":186,"./referencia-montao":187,"./super-proxy":188}],181:[function(require,module,exports){
19735
+ },{"./chamavel":174,"./classe-de-modulo":175,"./classe-padrao":176,"./delegua-funcao":178,"./delegua-funcao-nativa":177,"./descritor-tipo-classe":179,"./funcao-padrao":180,"./metodo-polimorfico":182,"./metodo-primitiva":183,"./modulo":184,"./objeto-base":185,"./objeto-delegua-classe":186,"./objeto-padrao":187,"./referencia-montao":188,"./super-proxy":189}],182:[function(require,module,exports){
19218
19736
  "use strict";
19219
19737
  Object.defineProperty(exports, "__esModule", { value: true });
19220
19738
  exports.MetodoPolimorfico = void 0;
@@ -19392,7 +19910,7 @@ class MetodoPolimorfico extends chamavel_1.Chamavel {
19392
19910
  }
19393
19911
  exports.MetodoPolimorfico = MetodoPolimorfico;
19394
19912
 
19395
- },{"../../excecoes":132,"../../inferenciador":138,"./chamavel":173}],182:[function(require,module,exports){
19913
+ },{"../../excecoes":133,"../../inferenciador":139,"./chamavel":174}],183:[function(require,module,exports){
19396
19914
  "use strict";
19397
19915
  Object.defineProperty(exports, "__esModule", { value: true });
19398
19916
  exports.MetodoPrimitiva = void 0;
@@ -19438,7 +19956,7 @@ class MetodoPrimitiva extends chamavel_1.Chamavel {
19438
19956
  }
19439
19957
  exports.MetodoPrimitiva = MetodoPrimitiva;
19440
19958
 
19441
- },{"./chamavel":173}],183:[function(require,module,exports){
19959
+ },{"./chamavel":174}],184:[function(require,module,exports){
19442
19960
  "use strict";
19443
19961
  Object.defineProperty(exports, "__esModule", { value: true });
19444
19962
  exports.DeleguaModulo = void 0;
@@ -19464,7 +19982,7 @@ class DeleguaModulo {
19464
19982
  }
19465
19983
  exports.DeleguaModulo = DeleguaModulo;
19466
19984
 
19467
- },{}],184:[function(require,module,exports){
19985
+ },{}],185:[function(require,module,exports){
19468
19986
  "use strict";
19469
19987
  Object.defineProperty(exports, "__esModule", { value: true });
19470
19988
  exports.OBJETO_BASE = void 0;
@@ -19538,7 +20056,7 @@ function criarDescritorObjeto() {
19538
20056
  }
19539
20057
  exports.OBJETO_BASE = criarDescritorObjeto();
19540
20058
 
19541
- },{"./delegua-funcao-nativa":176,"./descritor-tipo-classe":178}],185:[function(require,module,exports){
20059
+ },{"./delegua-funcao-nativa":177,"./descritor-tipo-classe":179}],186:[function(require,module,exports){
19542
20060
  "use strict";
19543
20061
  Object.defineProperty(exports, "__esModule", { value: true });
19544
20062
  exports.ObjetoDeleguaClasse = void 0;
@@ -19714,7 +20232,7 @@ class ObjetoDeleguaClasse {
19714
20232
  }
19715
20233
  exports.ObjetoDeleguaClasse = ObjetoDeleguaClasse;
19716
20234
 
19717
- },{"../../excecoes":132}],186:[function(require,module,exports){
20235
+ },{"../../excecoes":133}],187:[function(require,module,exports){
19718
20236
  "use strict";
19719
20237
  Object.defineProperty(exports, "__esModule", { value: true });
19720
20238
  exports.ObjetoPadrao = void 0;
@@ -19748,7 +20266,7 @@ class ObjetoPadrao {
19748
20266
  }
19749
20267
  exports.ObjetoPadrao = ObjetoPadrao;
19750
20268
 
19751
- },{}],187:[function(require,module,exports){
20269
+ },{}],188:[function(require,module,exports){
19752
20270
  "use strict";
19753
20271
  Object.defineProperty(exports, "__esModule", { value: true });
19754
20272
  exports.ReferenciaMontao = void 0;
@@ -19773,7 +20291,7 @@ class ReferenciaMontao {
19773
20291
  }
19774
20292
  exports.ReferenciaMontao = ReferenciaMontao;
19775
20293
 
19776
- },{}],188:[function(require,module,exports){
20294
+ },{}],189:[function(require,module,exports){
19777
20295
  "use strict";
19778
20296
  Object.defineProperty(exports, "__esModule", { value: true });
19779
20297
  exports.SuperProxy = void 0;
@@ -19812,7 +20330,7 @@ class SuperProxy extends chamavel_1.Chamavel {
19812
20330
  }
19813
20331
  exports.SuperProxy = SuperProxy;
19814
20332
 
19815
- },{"./chamavel":173}],189:[function(require,module,exports){
20333
+ },{"./chamavel":174}],190:[function(require,module,exports){
19816
20334
  "use strict";
19817
20335
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
19818
20336
  if (k2 === undefined) k2 = k;
@@ -19833,7 +20351,7 @@ __exportStar(require("./estruturas"), exports);
19833
20351
  __exportStar(require("./interpretador"), exports);
19834
20352
  __exportStar(require("./interpretador-base"), exports);
19835
20353
 
19836
- },{"./estruturas":180,"./interpretador":191,"./interpretador-base":190}],190:[function(require,module,exports){
20354
+ },{"./estruturas":181,"./interpretador":192,"./interpretador-base":191}],191:[function(require,module,exports){
19837
20355
  "use strict";
19838
20356
  var __importDefault = (this && this.__importDefault) || function (mod) {
19839
20357
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -19970,10 +20488,14 @@ class InterpretadorBase {
19970
20488
  return this.resolverNomeObjectoAcessado((objetoAcessado as AcessoIndiceVariavel).entidadeChamada); */
19971
20489
  case construtos_1.Chamada:
19972
20490
  return this.resolverNomeObjectoAcessado(objetoAcessado.entidadeChamada);
20491
+ case construtos_1.Agrupamento:
20492
+ return this.resolverNomeObjectoAcessado(objetoAcessado.expressao);
19973
20493
  case construtos_1.Constante:
19974
20494
  return objetoAcessado.simbolo.lexema;
20495
+ case construtos_1.AcessoMetodo:
19975
20496
  case construtos_1.AcessoMetodoOuPropriedade:
19976
20497
  case construtos_1.AcessoIndiceVariavel:
20498
+ case construtos_1.Binario:
19977
20499
  case construtos_1.Dicionario:
19978
20500
  case construtos_1.Leia:
19979
20501
  case construtos_1.Literal:
@@ -20474,6 +20996,16 @@ class InterpretadorBase {
20474
20996
  if (Array.isArray(valorEsquerdo) && Array.isArray(valorDireito)) {
20475
20997
  return valorEsquerdo.concat(valorDireito);
20476
20998
  }
20999
+ // Se ambos os operandos são dicionários, mescla-os.
21000
+ // Em caso de chaves duplicadas, valores à direita sobrescrevem os da esquerda.
21001
+ if (valorEsquerdo &&
21002
+ valorDireito &&
21003
+ !Array.isArray(valorEsquerdo) &&
21004
+ !Array.isArray(valorDireito) &&
21005
+ valorEsquerdo.constructor === Object &&
21006
+ valorDireito.constructor === Object) {
21007
+ return Object.assign({}, valorEsquerdo, valorDireito);
21008
+ }
20477
21009
  // Auto-promove para BigInt se qualquer operando for BigInt
20478
21010
  if (typeof valorEsquerdo === 'bigint' || typeof valorDireito === 'bigint') {
20479
21011
  const valorResolvidoEsquerdo = typeof valorEsquerdo === 'bigint'
@@ -20661,11 +21193,11 @@ class InterpretadorBase {
20661
21193
  async visitarExpressaoDeChamada(expressao) {
20662
21194
  try {
20663
21195
  let variavelEntidadeChamada = await this.avaliar(expressao.entidadeChamada);
20664
- if (variavelEntidadeChamada === null) {
21196
+ if (variavelEntidadeChamada === null || variavelEntidadeChamada === undefined) {
20665
21197
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, 'Chamada de função ou método inexistente: ' +
20666
21198
  String(expressao.entidadeChamada), expressao.linha));
20667
21199
  }
20668
- if (variavelEntidadeChamada.hasOwnProperty('valorRetornado')) {
21200
+ if (Object.prototype.hasOwnProperty.call(variavelEntidadeChamada, 'valorRetornado')) {
20669
21201
  variavelEntidadeChamada = variavelEntidadeChamada.valorRetornado;
20670
21202
  }
20671
21203
  let entidadeChamada = this.resolverValor(variavelEntidadeChamada);
@@ -22011,7 +22543,7 @@ class InterpretadorBase {
22011
22543
  }
22012
22544
  exports.InterpretadorBase = InterpretadorBase;
22013
22545
 
22014
- },{"../avaliador-sintatico":21,"../bibliotecas/primitivas-dicionario":29,"../bibliotecas/primitivas-vetor":32,"../construtos":62,"../excecoes":132,"../inferenciador":138,"../lexador":209,"../quebras":218,"../tipos-de-dados/delegua":219,"../tipos-de-dados/primitivos":221,"../tipos-de-simbolos/delegua":224,"./espaco-memoria":172,"./estruturas":180,"./estruturas/metodo-primitiva":182,"./pilha-escopos-execucao":193,"browser-process-hrtime":417}],191:[function(require,module,exports){
22546
+ },{"../avaliador-sintatico":21,"../bibliotecas/primitivas-dicionario":29,"../bibliotecas/primitivas-vetor":32,"../construtos":62,"../excecoes":133,"../inferenciador":139,"../lexador":210,"../quebras":219,"../tipos-de-dados/delegua":220,"../tipos-de-dados/primitivos":222,"../tipos-de-simbolos/delegua":225,"./espaco-memoria":173,"./estruturas":181,"./estruturas/metodo-primitiva":183,"./pilha-escopos-execucao":194,"browser-process-hrtime":418}],192:[function(require,module,exports){
22015
22547
  "use strict";
22016
22548
  var __importDefault = (this && this.__importDefault) || function (mod) {
22017
22549
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -23500,7 +24032,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
23500
24032
  }
23501
24033
  exports.Interpretador = Interpretador;
23502
24034
 
23503
- },{"../bibliotecas/dialetos/pitugues/primitivas-tupla":28,"../bibliotecas/primitivas-dicionario":29,"../bibliotecas/primitivas-numero":30,"../bibliotecas/primitivas-texto":31,"../bibliotecas/primitivas-vetor":32,"../construtos":62,"../declaracoes":110,"../excecoes":132,"../inferenciador":138,"../quebras":218,"../tipos-de-dados/delegua":219,"../tipos-de-dados/primitivos":221,"../tipos-de-simbolos/delegua":224,"./comum":171,"./estruturas":180,"./interpretador-base":190,"./montao":192}],192:[function(require,module,exports){
24035
+ },{"../bibliotecas/dialetos/pitugues/primitivas-tupla":28,"../bibliotecas/primitivas-dicionario":29,"../bibliotecas/primitivas-numero":30,"../bibliotecas/primitivas-texto":31,"../bibliotecas/primitivas-vetor":32,"../construtos":62,"../declaracoes":110,"../excecoes":133,"../inferenciador":139,"../quebras":219,"../tipos-de-dados/delegua":220,"../tipos-de-dados/primitivos":222,"../tipos-de-simbolos/delegua":225,"./comum":172,"./estruturas":181,"./interpretador-base":191,"./montao":193}],193:[function(require,module,exports){
23504
24036
  "use strict";
23505
24037
  Object.defineProperty(exports, "__esModule", { value: true });
23506
24038
  exports.Montao = void 0;
@@ -23557,7 +24089,7 @@ class Montao {
23557
24089
  }
23558
24090
  exports.Montao = Montao;
23559
24091
 
23560
- },{"../excecoes":132,"../geracao-identificadores":136}],193:[function(require,module,exports){
24092
+ },{"../excecoes":133,"../geracao-identificadores":137}],194:[function(require,module,exports){
23561
24093
  "use strict";
23562
24094
  var __importDefault = (this && this.__importDefault) || function (mod) {
23563
24095
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -23890,7 +24422,7 @@ class PilhaEscoposExecucao {
23890
24422
  }
23891
24423
  exports.PilhaEscoposExecucao = PilhaEscoposExecucao;
23892
24424
 
23893
- },{"../excecoes":132,"../inferenciador":138,"../lexador":209,"../tipos-de-dados/delegua":219,"./estruturas":180}],194:[function(require,module,exports){
24425
+ },{"../excecoes":133,"../inferenciador":139,"../lexador":210,"../tipos-de-dados/delegua":220,"./estruturas":181}],195:[function(require,module,exports){
23894
24426
  "use strict";
23895
24427
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23896
24428
  if (k2 === undefined) k2 = k;
@@ -23915,7 +24447,7 @@ __exportStar(require("./lexador-portugol-ipt"), exports);
23915
24447
  __exportStar(require("./lexador-prisma"), exports);
23916
24448
  __exportStar(require("./lexador-tenda"), exports);
23917
24449
 
23918
- },{"./lexador-calango":195,"./lexador-egua-classico":196,"./lexador-guarani":197,"./lexador-pitugues":198,"./lexador-portugol-ipt":199,"./lexador-prisma":200,"./lexador-tenda":201}],195:[function(require,module,exports){
24450
+ },{"./lexador-calango":196,"./lexador-egua-classico":197,"./lexador-guarani":198,"./lexador-pitugues":199,"./lexador-portugol-ipt":200,"./lexador-prisma":201,"./lexador-tenda":202}],196:[function(require,module,exports){
23919
24451
  "use strict";
23920
24452
  var __importDefault = (this && this.__importDefault) || function (mod) {
23921
24453
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -24228,7 +24760,7 @@ class LexadorCalango {
24228
24760
  }
24229
24761
  exports.LexadorCalango = LexadorCalango;
24230
24762
 
24231
- },{"../../tipos-de-simbolos/calango":222,"../simbolo":217,"./palavras-reservadas/calango":202}],196:[function(require,module,exports){
24763
+ },{"../../tipos-de-simbolos/calango":223,"../simbolo":218,"./palavras-reservadas/calango":203}],197:[function(require,module,exports){
24232
24764
  "use strict";
24233
24765
  var __importDefault = (this && this.__importDefault) || function (mod) {
24234
24766
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -24521,7 +25053,7 @@ class LexadorEguaClassico {
24521
25053
  }
24522
25054
  exports.LexadorEguaClassico = LexadorEguaClassico;
24523
25055
 
24524
- },{"../../tipos-de-simbolos/egua-classico":225,"../simbolo":217,"./palavras-reservadas/egua-classico":203}],197:[function(require,module,exports){
25056
+ },{"../../tipos-de-simbolos/egua-classico":226,"../simbolo":218,"./palavras-reservadas/egua-classico":204}],198:[function(require,module,exports){
24525
25057
  "use strict";
24526
25058
  var __importDefault = (this && this.__importDefault) || function (mod) {
24527
25059
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -24640,7 +25172,7 @@ class LexadorGuarani extends lexador_base_1.LexadorBase {
24640
25172
  }
24641
25173
  exports.LexadorGuarani = LexadorGuarani;
24642
25174
 
24643
- },{"../../tipos-de-simbolos/guarani":226,"../lexador-base":211,"./palavras-reservadas/guarani":204}],198:[function(require,module,exports){
25175
+ },{"../../tipos-de-simbolos/guarani":227,"../lexador-base":212,"./palavras-reservadas/guarani":205}],199:[function(require,module,exports){
24644
25176
  "use strict";
24645
25177
  var __importDefault = (this && this.__importDefault) || function (mod) {
24646
25178
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -25165,7 +25697,7 @@ class LexadorPitugues {
25165
25697
  }
25166
25698
  exports.LexadorPitugues = LexadorPitugues;
25167
25699
 
25168
- },{"../../tipos-de-simbolos/pitugues":228,"../simbolo":217,"./palavras-reservadas/pitugues":205,"browser-process-hrtime":417}],199:[function(require,module,exports){
25700
+ },{"../../tipos-de-simbolos/pitugues":229,"../simbolo":218,"./palavras-reservadas/pitugues":206,"browser-process-hrtime":418}],200:[function(require,module,exports){
25169
25701
  "use strict";
25170
25702
  var __importDefault = (this && this.__importDefault) || function (mod) {
25171
25703
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -25313,16 +25845,26 @@ class LexadorPortugolIpt {
25313
25845
  else {
25314
25846
  textoPalavraChave = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
25315
25847
  }
25316
- const tipo = textoPalavraChave in portugol_ipt_1.palavrasReservadas
25317
- ? portugol_ipt_1.palavrasReservadas[textoPalavraChave]
25848
+ const palavrasReservadasNormalizadas = portugol_ipt_1.palavrasReservadas;
25849
+ const palavraNormalizada = textoPalavraChave.toLowerCase();
25850
+ let tipo = palavraNormalizada in palavrasReservadasNormalizadas
25851
+ ? palavrasReservadasNormalizadas[palavraNormalizada]
25318
25852
  : portugol_ipt_2.default.IDENTIFICADOR;
25853
+ // 'enquanto' sem 'faz' no final da linha é o fechamento de um faz...enquanto.
25854
+ if (tipo === portugol_ipt_2.default.ENQUANTO) {
25855
+ const linhaAtual = this.codigo[linhaPrimeiroCaracter].trim().toUpperCase();
25856
+ if (!linhaAtual.startsWith('FIM ') && !linhaAtual.endsWith('FAZ')) {
25857
+ tipo = portugol_ipt_2.default.FAZENQUANTO;
25858
+ }
25859
+ }
25319
25860
  this.simbolos.push(new simbolo_1.Simbolo(tipo, textoPalavraChave, null, linhaPrimeiroCaracter + 1, this.hashArquivo));
25320
25861
  }
25321
25862
  analisarToken() {
25322
25863
  const caractere = this.simboloAtual();
25323
25864
  switch (caractere) {
25324
25865
  case ';':
25325
- // TODO: Ponto-e-vírgula não é exatamente tolerado em Portugol IPT.
25866
+ // Ponto-e-vírgula não é exatamente tolerado em Portugol IPT,
25867
+ // mas toleramos para evitar erros desnecessários.
25326
25868
  this.avancar();
25327
25869
  break;
25328
25870
  case ' ':
@@ -25340,6 +25882,42 @@ class LexadorPortugolIpt {
25340
25882
  this.analisarTexto('"');
25341
25883
  this.avancar();
25342
25884
  break;
25885
+ case '+':
25886
+ this.adicionarSimbolo(portugol_ipt_2.default.ADICAO);
25887
+ this.avancar();
25888
+ break;
25889
+ case '-':
25890
+ this.adicionarSimbolo(portugol_ipt_2.default.SUBTRACAO);
25891
+ this.avancar();
25892
+ break;
25893
+ case '*':
25894
+ this.adicionarSimbolo(portugol_ipt_2.default.MULTIPLICACAO);
25895
+ this.avancar();
25896
+ break;
25897
+ case '/':
25898
+ this.adicionarSimbolo(portugol_ipt_2.default.DIVISAO);
25899
+ this.avancar();
25900
+ break;
25901
+ case '%':
25902
+ this.adicionarSimbolo(portugol_ipt_2.default.MODULO);
25903
+ this.avancar();
25904
+ break;
25905
+ case '^':
25906
+ this.adicionarSimbolo(portugol_ipt_2.default.EXPONENCIACAO);
25907
+ this.avancar();
25908
+ break;
25909
+ case '=':
25910
+ this.avancar();
25911
+ // Operador de diferença: =/=
25912
+ if (this.simboloAtual() === '/' && this.proximoSimbolo() === '=') {
25913
+ this.avancar(); // consome '/'
25914
+ this.avancar(); // consome '='
25915
+ this.adicionarSimbolo(portugol_ipt_2.default.DIFERENTE);
25916
+ }
25917
+ else {
25918
+ this.adicionarSimbolo(portugol_ipt_2.default.IGUAL);
25919
+ }
25920
+ break;
25343
25921
  case '<':
25344
25922
  this.avancar();
25345
25923
  switch (this.simboloAtual()) {
@@ -25351,10 +25929,6 @@ class LexadorPortugolIpt {
25351
25929
  this.adicionarSimbolo(portugol_ipt_2.default.MENOR_IGUAL);
25352
25930
  this.avancar();
25353
25931
  break;
25354
- /* case '>':
25355
- this.adicionarSimbolo(tiposDeSimbolos.DIFERENTE);
25356
- this.avancar();
25357
- break; */
25358
25932
  default:
25359
25933
  this.adicionarSimbolo(portugol_ipt_2.default.MENOR);
25360
25934
  break;
@@ -25362,18 +25936,12 @@ class LexadorPortugolIpt {
25362
25936
  break;
25363
25937
  case '>':
25364
25938
  this.avancar();
25365
- switch (this.simboloAtual()) {
25366
- case '=':
25367
- this.adicionarSimbolo(portugol_ipt_2.default.MAIOR_IGUAL);
25368
- this.avancar();
25369
- break;
25370
- /* case '>':
25371
- this.adicionarSimbolo(tiposDeSimbolos.DIFERENTE);
25372
- this.avancar();
25373
- break; */
25374
- default:
25375
- this.adicionarSimbolo(portugol_ipt_2.default.MAIOR);
25376
- break;
25939
+ if (this.simboloAtual() === '=') {
25940
+ this.adicionarSimbolo(portugol_ipt_2.default.MAIOR_IGUAL);
25941
+ this.avancar();
25942
+ }
25943
+ else {
25944
+ this.adicionarSimbolo(portugol_ipt_2.default.MAIOR);
25377
25945
  }
25378
25946
  break;
25379
25947
  case '(':
@@ -25384,6 +25952,22 @@ class LexadorPortugolIpt {
25384
25952
  this.adicionarSimbolo(portugol_ipt_2.default.PARENTESE_DIREITO);
25385
25953
  this.avancar();
25386
25954
  break;
25955
+ case '[':
25956
+ this.adicionarSimbolo(portugol_ipt_2.default.COLCHETE_ESQUERDO);
25957
+ this.avancar();
25958
+ break;
25959
+ case ']':
25960
+ this.adicionarSimbolo(portugol_ipt_2.default.COLCHETE_DIREITO);
25961
+ this.avancar();
25962
+ break;
25963
+ case ',':
25964
+ this.adicionarSimbolo(portugol_ipt_2.default.VIRGULA);
25965
+ this.avancar();
25966
+ break;
25967
+ case ':':
25968
+ this.adicionarSimbolo(portugol_ipt_2.default.DOIS_PONTOS);
25969
+ this.avancar();
25970
+ break;
25387
25971
  default:
25388
25972
  if (this.eDigito(caractere))
25389
25973
  this.analisarNumero();
@@ -25422,7 +26006,7 @@ class LexadorPortugolIpt {
25422
26006
  }
25423
26007
  exports.LexadorPortugolIpt = LexadorPortugolIpt;
25424
26008
 
25425
- },{"../../tipos-de-simbolos/portugol-ipt":229,"../simbolo":217,"./palavras-reservadas/portugol-ipt":206}],200:[function(require,module,exports){
26009
+ },{"../../tipos-de-simbolos/portugol-ipt":230,"../simbolo":218,"./palavras-reservadas/portugol-ipt":207}],201:[function(require,module,exports){
25426
26010
  "use strict";
25427
26011
  var __importDefault = (this && this.__importDefault) || function (mod) {
25428
26012
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -25823,7 +26407,7 @@ class LexadorPrisma {
25823
26407
  }
25824
26408
  exports.LexadorPrisma = LexadorPrisma;
25825
26409
 
25826
- },{"../../tipos-de-simbolos/prisma":230,"../simbolo":217,"./palavras-reservadas/prisma":207,"browser-process-hrtime":417}],201:[function(require,module,exports){
26410
+ },{"../../tipos-de-simbolos/prisma":231,"../simbolo":218,"./palavras-reservadas/prisma":208,"browser-process-hrtime":418}],202:[function(require,module,exports){
25827
26411
  "use strict";
25828
26412
  var __importDefault = (this && this.__importDefault) || function (mod) {
25829
26413
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26217,7 +26801,7 @@ class LexadorTenda {
26217
26801
  }
26218
26802
  exports.LexadorTenda = LexadorTenda;
26219
26803
 
26220
- },{"../../tipos-de-simbolos/tenda":231,"../simbolo":217,"./palavras-reservadas/tenda":208,"browser-process-hrtime":417}],202:[function(require,module,exports){
26804
+ },{"../../tipos-de-simbolos/tenda":232,"../simbolo":218,"./palavras-reservadas/tenda":209,"browser-process-hrtime":418}],203:[function(require,module,exports){
26221
26805
  "use strict";
26222
26806
  var __importDefault = (this && this.__importDefault) || function (mod) {
26223
26807
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26265,7 +26849,7 @@ exports.default = {
26265
26849
  verdadeiro: calango_1.default.VERDADEIRO,
26266
26850
  };
26267
26851
 
26268
- },{"../../../tipos-de-simbolos/calango":222}],203:[function(require,module,exports){
26852
+ },{"../../../tipos-de-simbolos/calango":223}],204:[function(require,module,exports){
26269
26853
  "use strict";
26270
26854
  var __importDefault = (this && this.__importDefault) || function (mod) {
26271
26855
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26306,7 +26890,7 @@ exports.palavrasReservadas = {
26306
26890
  verdadeiro: egua_classico_1.default.VERDADEIRO,
26307
26891
  };
26308
26892
 
26309
- },{"../../../tipos-de-simbolos/egua-classico":225}],204:[function(require,module,exports){
26893
+ },{"../../../tipos-de-simbolos/egua-classico":226}],205:[function(require,module,exports){
26310
26894
  "use strict";
26311
26895
  var __importDefault = (this && this.__importDefault) || function (mod) {
26312
26896
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26318,7 +26902,7 @@ exports.palavrasReservadas = {
26318
26902
  hai: guarani_1.default.HAI,
26319
26903
  };
26320
26904
 
26321
- },{"../../../tipos-de-simbolos/guarani":226}],205:[function(require,module,exports){
26905
+ },{"../../../tipos-de-simbolos/guarani":227}],206:[function(require,module,exports){
26322
26906
  "use strict";
26323
26907
  var __importDefault = (this && this.__importDefault) || function (mod) {
26324
26908
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26382,7 +26966,7 @@ exports.palavrasReservadasMicroGramatica = {
26382
26966
  verdadeiro: pitugues_1.default.VERDADEIRO,
26383
26967
  };
26384
26968
 
26385
- },{"../../../tipos-de-simbolos/pitugues":228}],206:[function(require,module,exports){
26969
+ },{"../../../tipos-de-simbolos/pitugues":229}],207:[function(require,module,exports){
26386
26970
  "use strict";
26387
26971
  var __importDefault = (this && this.__importDefault) || function (mod) {
26388
26972
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26391,20 +26975,58 @@ Object.defineProperty(exports, "__esModule", { value: true });
26391
26975
  exports.palavrasReservadas = void 0;
26392
26976
  const portugol_ipt_1 = __importDefault(require("../../../tipos-de-simbolos/portugol-ipt"));
26393
26977
  exports.palavrasReservadas = {
26394
- entao: portugol_ipt_1.default.ENTAO,
26395
- então: portugol_ipt_1.default.ENTAO,
26396
- escrever: portugol_ipt_1.default.ESCREVER,
26397
- fim: portugol_ipt_1.default.FIM,
26398
- fimse: portugol_ipt_1.default.FIMSE,
26978
+ // Estrutura do programa
26399
26979
  inicio: portugol_ipt_1.default.INICIO,
26400
- inteiro: portugol_ipt_1.default.INTEIRO,
26980
+ fim: portugol_ipt_1.default.FIM,
26981
+ // Entrada / saída
26401
26982
  ler: portugol_ipt_1.default.LER,
26983
+ escrever: portugol_ipt_1.default.ESCREVER,
26984
+ // Condicional
26402
26985
  se: portugol_ipt_1.default.SE,
26986
+ entao: portugol_ipt_1.default.ENTAO,
26987
+ então: portugol_ipt_1.default.ENTAO,
26403
26988
  senao: portugol_ipt_1.default.SENAO,
26404
26989
  senão: portugol_ipt_1.default.SENAO,
26990
+ fimse: portugol_ipt_1.default.FIMSE,
26991
+ // Laço enquanto
26992
+ enquanto: portugol_ipt_1.default.ENQUANTO,
26993
+ faz: portugol_ipt_1.default.FAZ,
26994
+ fimenquanto: portugol_ipt_1.default.FIMENQUANTO,
26995
+ // Laço para
26996
+ para: portugol_ipt_1.default.PARA,
26997
+ de: portugol_ipt_1.default.DE,
26998
+ ate: portugol_ipt_1.default.ATE,
26999
+ até: portugol_ipt_1.default.ATE,
27000
+ passo: portugol_ipt_1.default.PASSO,
27001
+ proximo: portugol_ipt_1.default.PROXIMO,
27002
+ próximo: portugol_ipt_1.default.PROXIMO,
27003
+ // Laço repete
27004
+ repete: portugol_ipt_1.default.REPETE,
27005
+ // Escolha
27006
+ escolhe: portugol_ipt_1.default.ESCOLHE,
27007
+ caso: portugol_ipt_1.default.CASO,
27008
+ defeito: portugol_ipt_1.default.DEFEITO,
27009
+ fimescolhe: portugol_ipt_1.default.FIMESCOLHE,
27010
+ // Tipos de variáveis
27011
+ inteiro: portugol_ipt_1.default.INTEIRO,
27012
+ texto: portugol_ipt_1.default.TEXTO,
27013
+ real: portugol_ipt_1.default.REAL,
27014
+ logico: portugol_ipt_1.default.LOGICO,
27015
+ lógico: portugol_ipt_1.default.LOGICO,
27016
+ caracter: portugol_ipt_1.default.CARACTER,
27017
+ // Modificadores de declaração
27018
+ constante: portugol_ipt_1.default.CONSTANTE,
27019
+ variavel: portugol_ipt_1.default.VARIAVEL,
27020
+ variável: portugol_ipt_1.default.VARIAVEL,
27021
+ // Operadores lógicos como palavras
27022
+ e: portugol_ipt_1.default.E,
27023
+ ou: portugol_ipt_1.default.OU,
27024
+ xou: portugol_ipt_1.default.XOU,
27025
+ nao: portugol_ipt_1.default.NAO,
27026
+ não: portugol_ipt_1.default.NAO,
26405
27027
  };
26406
27028
 
26407
- },{"../../../tipos-de-simbolos/portugol-ipt":229}],207:[function(require,module,exports){
27029
+ },{"../../../tipos-de-simbolos/portugol-ipt":230}],208:[function(require,module,exports){
26408
27030
  "use strict";
26409
27031
  var __importDefault = (this && this.__importDefault) || function (mod) {
26410
27032
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26455,7 +27077,7 @@ exports.palavrasReservadas = {
26455
27077
  verdadeiro: prisma_1.default.VERDADEIRO,
26456
27078
  };
26457
27079
 
26458
- },{"../../../tipos-de-simbolos/prisma":230}],208:[function(require,module,exports){
27080
+ },{"../../../tipos-de-simbolos/prisma":231}],209:[function(require,module,exports){
26459
27081
  "use strict";
26460
27082
  var __importDefault = (this && this.__importDefault) || function (mod) {
26461
27083
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26513,7 +27135,7 @@ exports.palavrasReservadas = {
26513
27135
  Texto: tenda_1.default.BIBLIOTECA_GLOBAL,
26514
27136
  };
26515
27137
 
26516
- },{"../../../tipos-de-simbolos/tenda":231}],209:[function(require,module,exports){
27138
+ },{"../../../tipos-de-simbolos/tenda":232}],210:[function(require,module,exports){
26517
27139
  "use strict";
26518
27140
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
26519
27141
  if (k2 === undefined) k2 = k;
@@ -26536,7 +27158,7 @@ __exportStar(require("./lexador-base-linha-unica"), exports);
26536
27158
  __exportStar(require("./micro-lexador"), exports);
26537
27159
  __exportStar(require("./simbolo"), exports);
26538
27160
 
26539
- },{"./dialetos":194,"./lexador":212,"./lexador-base-linha-unica":210,"./micro-lexador":215,"./simbolo":217}],210:[function(require,module,exports){
27161
+ },{"./dialetos":195,"./lexador":213,"./lexador-base-linha-unica":211,"./micro-lexador":216,"./simbolo":218}],211:[function(require,module,exports){
26540
27162
  "use strict";
26541
27163
  Object.defineProperty(exports, "__esModule", { value: true });
26542
27164
  exports.LexadorBaseLinhaUnica = void 0;
@@ -26625,7 +27247,7 @@ class LexadorBaseLinhaUnica {
26625
27247
  }
26626
27248
  exports.LexadorBaseLinhaUnica = LexadorBaseLinhaUnica;
26627
27249
 
26628
- },{"./simbolo":217}],211:[function(require,module,exports){
27250
+ },{"./simbolo":218}],212:[function(require,module,exports){
26629
27251
  "use strict";
26630
27252
  Object.defineProperty(exports, "__esModule", { value: true });
26631
27253
  exports.LexadorBase = void 0;
@@ -26764,7 +27386,7 @@ class LexadorBase {
26764
27386
  }
26765
27387
  exports.LexadorBase = LexadorBase;
26766
27388
 
26767
- },{"./simbolo":217}],212:[function(require,module,exports){
27389
+ },{"./simbolo":218}],213:[function(require,module,exports){
26768
27390
  "use strict";
26769
27391
  var __importDefault = (this && this.__importDefault) || function (mod) {
26770
27392
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -27436,7 +28058,7 @@ class Lexador {
27436
28058
  }
27437
28059
  exports.Lexador = Lexador;
27438
28060
 
27439
- },{"../tipos-de-simbolos/delegua":224,"./palavras-reservadas":216,"./simbolo":217,"browser-process-hrtime":417}],213:[function(require,module,exports){
28061
+ },{"../tipos-de-simbolos/delegua":225,"./palavras-reservadas":217,"./simbolo":218,"browser-process-hrtime":418}],214:[function(require,module,exports){
27440
28062
  "use strict";
27441
28063
  var __importDefault = (this && this.__importDefault) || function (mod) {
27442
28064
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -27619,7 +28241,7 @@ function pertenceAoParadigma(lexema, paradigma) {
27619
28241
  return paradigmaLexema === paradigma;
27620
28242
  }
27621
28243
 
27622
- },{"../tipos-de-simbolos/delegua":224}],214:[function(require,module,exports){
28244
+ },{"../tipos-de-simbolos/delegua":225}],215:[function(require,module,exports){
27623
28245
  "use strict";
27624
28246
  var __importDefault = (this && this.__importDefault) || function (mod) {
27625
28247
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -27839,7 +28461,7 @@ class MicroLexadorPitugues {
27839
28461
  }
27840
28462
  exports.MicroLexadorPitugues = MicroLexadorPitugues;
27841
28463
 
27842
- },{"../tipos-de-simbolos/pitugues":228,"./palavras-reservadas":216,"./simbolo":217}],215:[function(require,module,exports){
28464
+ },{"../tipos-de-simbolos/pitugues":229,"./palavras-reservadas":217,"./simbolo":218}],216:[function(require,module,exports){
27843
28465
  "use strict";
27844
28466
  var __importDefault = (this && this.__importDefault) || function (mod) {
27845
28467
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -28077,7 +28699,7 @@ class MicroLexador {
28077
28699
  }
28078
28700
  exports.MicroLexador = MicroLexador;
28079
28701
 
28080
- },{"../tipos-de-simbolos/microgramaticas/delegua":227,"./palavras-reservadas":216,"./simbolo":217}],216:[function(require,module,exports){
28702
+ },{"../tipos-de-simbolos/microgramaticas/delegua":228,"./palavras-reservadas":217,"./simbolo":218}],217:[function(require,module,exports){
28081
28703
  "use strict";
28082
28704
  var __importDefault = (this && this.__importDefault) || function (mod) {
28083
28705
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -28176,7 +28798,7 @@ exports.palavrasReservadasMicroGramatica = {
28176
28798
  verdadeiro: delegua_1.default.VERDADEIRO,
28177
28799
  };
28178
28800
 
28179
- },{"../tipos-de-simbolos/delegua":224}],217:[function(require,module,exports){
28801
+ },{"../tipos-de-simbolos/delegua":225}],218:[function(require,module,exports){
28180
28802
  "use strict";
28181
28803
  Object.defineProperty(exports, "__esModule", { value: true });
28182
28804
  exports.Simbolo = void 0;
@@ -28197,7 +28819,7 @@ class Simbolo {
28197
28819
  }
28198
28820
  exports.Simbolo = Simbolo;
28199
28821
 
28200
- },{}],218:[function(require,module,exports){
28822
+ },{}],219:[function(require,module,exports){
28201
28823
  "use strict";
28202
28824
  Object.defineProperty(exports, "__esModule", { value: true });
28203
28825
  exports.ContinuarQuebra = exports.SustarQuebra = exports.RetornoQuebra = exports.Quebra = void 0;
@@ -28222,7 +28844,7 @@ class ContinuarQuebra extends Quebra {
28222
28844
  }
28223
28845
  exports.ContinuarQuebra = ContinuarQuebra;
28224
28846
 
28225
- },{}],219:[function(require,module,exports){
28847
+ },{}],220:[function(require,module,exports){
28226
28848
  "use strict";
28227
28849
  Object.defineProperty(exports, "__esModule", { value: true });
28228
28850
  exports.default = {
@@ -28256,7 +28878,7 @@ exports.default = {
28256
28878
  VETOR_TEXTO: 'texto[]',
28257
28879
  };
28258
28880
 
28259
- },{}],220:[function(require,module,exports){
28881
+ },{}],221:[function(require,module,exports){
28260
28882
  "use strict";
28261
28883
  Object.defineProperty(exports, "__esModule", { value: true });
28262
28884
  exports.default = {
@@ -28286,7 +28908,7 @@ exports.default = {
28286
28908
  VETOR_TEXTO: 'texto[]',
28287
28909
  };
28288
28910
 
28289
- },{}],221:[function(require,module,exports){
28911
+ },{}],222:[function(require,module,exports){
28290
28912
  "use strict";
28291
28913
  Object.defineProperty(exports, "__esModule", { value: true });
28292
28914
  exports.default = {
@@ -28305,7 +28927,7 @@ exports.default = {
28305
28927
  TEXTO: 'string',
28306
28928
  };
28307
28929
 
28308
- },{}],222:[function(require,module,exports){
28930
+ },{}],223:[function(require,module,exports){
28309
28931
  "use strict";
28310
28932
  Object.defineProperty(exports, "__esModule", { value: true });
28311
28933
  exports.default = {
@@ -28377,7 +28999,7 @@ exports.default = {
28377
28999
  VIRGULA: 'VIRGULA',
28378
29000
  };
28379
29001
 
28380
- },{}],223:[function(require,module,exports){
29002
+ },{}],224:[function(require,module,exports){
28381
29003
  "use strict";
28382
29004
  Object.defineProperty(exports, "__esModule", { value: true });
28383
29005
  exports.default = {
@@ -28404,7 +29026,7 @@ exports.default = {
28404
29026
  VIRGULA: 'VIRGULA',
28405
29027
  };
28406
29028
 
28407
- },{}],224:[function(require,module,exports){
29029
+ },{}],225:[function(require,module,exports){
28408
29030
  "use strict";
28409
29031
  Object.defineProperty(exports, "__esModule", { value: true });
28410
29032
  exports.default = {
@@ -28519,7 +29141,7 @@ exports.default = {
28519
29141
  VIRGULA: 'VIRGULA',
28520
29142
  };
28521
29143
 
28522
- },{}],225:[function(require,module,exports){
29144
+ },{}],226:[function(require,module,exports){
28523
29145
  "use strict";
28524
29146
  Object.defineProperty(exports, "__esModule", { value: true });
28525
29147
  exports.default = {
@@ -28597,7 +29219,7 @@ exports.default = {
28597
29219
  VIRGULA: 'VIRGULA',
28598
29220
  };
28599
29221
 
28600
- },{}],226:[function(require,module,exports){
29222
+ },{}],227:[function(require,module,exports){
28601
29223
  "use strict";
28602
29224
  Object.defineProperty(exports, "__esModule", { value: true });
28603
29225
  exports.default = {
@@ -28614,7 +29236,7 @@ exports.default = {
28614
29236
  VIRGULA: 'VIRGULA',
28615
29237
  };
28616
29238
 
28617
- },{}],227:[function(require,module,exports){
29239
+ },{}],228:[function(require,module,exports){
28618
29240
  "use strict";
28619
29241
  Object.defineProperty(exports, "__esModule", { value: true });
28620
29242
  exports.default = {
@@ -28667,7 +29289,7 @@ exports.default = {
28667
29289
  VIRGULA: 'VIRGULA',
28668
29290
  };
28669
29291
 
28670
- },{}],228:[function(require,module,exports){
29292
+ },{}],229:[function(require,module,exports){
28671
29293
  "use strict";
28672
29294
  Object.defineProperty(exports, "__esModule", { value: true });
28673
29295
  exports.default = {
@@ -28759,46 +29381,86 @@ exports.default = {
28759
29381
  VIRGULA: 'VIRGULA',
28760
29382
  };
28761
29383
 
28762
- },{}],229:[function(require,module,exports){
29384
+ },{}],230:[function(require,module,exports){
28763
29385
  "use strict";
28764
29386
  Object.defineProperty(exports, "__esModule", { value: true });
28765
29387
  exports.default = {
29388
+ // Operadores aritméticos
28766
29389
  ADICAO: 'ADICAO',
28767
- DIFERENTE: 'DIFERENTE',
29390
+ SUBTRACAO: 'SUBTRACAO',
29391
+ MULTIPLICACAO: 'MULTIPLICACAO',
28768
29392
  DIVISAO: 'DIVISAO',
28769
29393
  DIVISAO_INTEIRA: 'DIVISAO_INTEIRA',
28770
- E: 'E',
28771
- ENTAO: 'ENTAO',
28772
- ESCREVER: 'ESCREVER',
29394
+ MODULO: 'MODULO',
28773
29395
  EXPONENCIACAO: 'EXPONENCIACAO',
28774
- FIM: 'FIM',
28775
- FIMSE: 'FIMSE',
28776
- IDENTIFICADOR: 'IDENTIFICADOR',
29396
+ // Operadores relacionais
28777
29397
  IGUAL: 'IGUAL',
28778
- INICIO: 'INICIO',
28779
- INTEIRO: 'INTEIRO',
28780
- LER: 'LER',
29398
+ DIFERENTE: 'DIFERENTE',
28781
29399
  MAIOR: 'MAIOR',
28782
29400
  MAIOR_IGUAL: 'MAIOR_IGUAL',
28783
29401
  MENOR: 'MENOR',
28784
29402
  MENOR_IGUAL: 'MENOR_IGUAL',
28785
- MODULO: 'MODULO',
28786
- MULTIPLICACAO: 'MULTIPLICACAO',
28787
- NEGACAO: 'NEGACAO',
28788
- NUMERO: 'NUMERO',
29403
+ // Operadores lógicos
29404
+ E: 'E',
28789
29405
  OU: 'OU',
28790
- QUEBRA_LINHA: 'QUEBRA_LINHA',
29406
+ XOU: 'XOU',
29407
+ NAO: 'NAO',
29408
+ NEGACAO: 'NEGACAO',
29409
+ // Atribuição
29410
+ SETA_ATRIBUICAO: 'SETA_ATRIBUICAO',
29411
+ // Pontuação
28791
29412
  PARENTESE_ESQUERDO: 'PARENTESE_ESQUERDO',
28792
29413
  PARENTESE_DIREITO: 'PARENTESE_DIREITO',
29414
+ COLCHETE_ESQUERDO: 'COLCHETE_ESQUERDO',
29415
+ COLCHETE_DIREITO: 'COLCHETE_DIREITO',
29416
+ VIRGULA: 'VIRGULA',
29417
+ DOIS_PONTOS: 'DOIS_PONTOS',
29418
+ QUEBRA_LINHA: 'QUEBRA_LINHA',
29419
+ // Literais
29420
+ NUMERO: 'NUMERO',
29421
+ TEXTO: 'TEXTO',
29422
+ IDENTIFICADOR: 'IDENTIFICADOR',
29423
+ // Estrutura do programa
29424
+ INICIO: 'INICIO',
29425
+ FIM: 'FIM',
29426
+ // Entrada / saída
29427
+ LER: 'LER',
29428
+ ESCREVER: 'ESCREVER',
29429
+ // Condicional
28793
29430
  SE: 'SE',
29431
+ ENTAO: 'ENTAO',
28794
29432
  SENAO: 'SENAO',
28795
- SETA_ATRIBUICAO: 'SETA_ATRIBUICAO',
28796
- SUBTRACAO: 'SUBTRACAO',
28797
- TEXTO: 'TEXTO',
28798
- VIRGULA: 'VIRGULA',
29433
+ FIMSE: 'FIMSE',
29434
+ // Laço enquanto
29435
+ ENQUANTO: 'ENQUANTO',
29436
+ FAZ: 'FAZ',
29437
+ FIMENQUANTO: 'FIMENQUANTO',
29438
+ // Token especial: 'enquanto' sem 'faz' no final da linha = fechamento do faz...enquanto
29439
+ FAZENQUANTO: 'FAZENQUANTO',
29440
+ // Laço para
29441
+ PARA: 'PARA',
29442
+ DE: 'DE',
29443
+ ATE: 'ATE',
29444
+ PASSO: 'PASSO',
29445
+ PROXIMO: 'PROXIMO',
29446
+ // Laço repete
29447
+ REPETE: 'REPETE',
29448
+ // Escolha
29449
+ ESCOLHE: 'ESCOLHE',
29450
+ CASO: 'CASO',
29451
+ DEFEITO: 'DEFEITO',
29452
+ FIMESCOLHE: 'FIMESCOLHE',
29453
+ // Tipos de variáveis
29454
+ INTEIRO: 'INTEIRO',
29455
+ REAL: 'REAL',
29456
+ LOGICO: 'LOGICO',
29457
+ CARACTER: 'CARACTER',
29458
+ // Modificadores de declaração
29459
+ CONSTANTE: 'CONSTANTE',
29460
+ VARIAVEL: 'VARIAVEL',
28799
29461
  };
28800
29462
 
28801
- },{}],230:[function(require,module,exports){
29463
+ },{}],231:[function(require,module,exports){
28802
29464
  "use strict";
28803
29465
  Object.defineProperty(exports, "__esModule", { value: true });
28804
29466
  exports.default = {
@@ -28882,7 +29544,7 @@ exports.default = {
28882
29544
  VIRGULA: 'VIRGULA',
28883
29545
  };
28884
29546
 
28885
- },{}],231:[function(require,module,exports){
29547
+ },{}],232:[function(require,module,exports){
28886
29548
  "use strict";
28887
29549
  Object.defineProperty(exports, "__esModule", { value: true });
28888
29550
  // Em Tenda, isto é implementado em https://github.com/gabrielbrunop/tenda/blob/main/crates/scanner/src/token.rs#L42.
@@ -28977,7 +29639,7 @@ exports.default = {
28977
29639
  VIRGULA: 'VIRGULA',
28978
29640
  };
28979
29641
 
28980
- },{}],232:[function(require,module,exports){
29642
+ },{}],233:[function(require,module,exports){
28981
29643
  "use strict";
28982
29644
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
28983
29645
  if (k2 === undefined) k2 = k;
@@ -29010,7 +29672,7 @@ __exportStar(require("./tradutor-reverso-python"), exports);
29010
29672
  __exportStar(require("./tradutor-reverso-tenda"), exports);
29011
29673
  __exportStar(require("./tradutor-ruby"), exports);
29012
29674
 
29013
- },{"./tradutor-assembly-arm":241,"./tradutor-assembly-risc-v":242,"./tradutor-assembly-x64":243,"./tradutor-assemblyscript":244,"./tradutor-elixir":245,"./tradutor-javascript":246,"./tradutor-mermaidjs":247,"./tradutor-portugol-ipt":248,"./tradutor-python":249,"./tradutor-reverso-calango":250,"./tradutor-reverso-javascript":251,"./tradutor-reverso-python":252,"./tradutor-reverso-tenda":253,"./tradutor-ruby":254,"./tradutor-webassembly":255}],233:[function(require,module,exports){
29675
+ },{"./tradutor-assembly-arm":242,"./tradutor-assembly-risc-v":243,"./tradutor-assembly-x64":244,"./tradutor-assemblyscript":245,"./tradutor-elixir":246,"./tradutor-javascript":247,"./tradutor-mermaidjs":248,"./tradutor-portugol-ipt":249,"./tradutor-python":250,"./tradutor-reverso-calango":251,"./tradutor-reverso-javascript":252,"./tradutor-reverso-python":253,"./tradutor-reverso-tenda":254,"./tradutor-ruby":255,"./tradutor-webassembly":256}],234:[function(require,module,exports){
29014
29676
  "use strict";
29015
29677
  Object.defineProperty(exports, "__esModule", { value: true });
29016
29678
  exports.ArestaFluxograma = void 0;
@@ -29022,7 +29684,7 @@ class ArestaFluxograma {
29022
29684
  }
29023
29685
  exports.ArestaFluxograma = ArestaFluxograma;
29024
29686
 
29025
- },{}],234:[function(require,module,exports){
29687
+ },{}],235:[function(require,module,exports){
29026
29688
  "use strict";
29027
29689
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29028
29690
  if (k2 === undefined) k2 = k;
@@ -29045,7 +29707,7 @@ __exportStar(require("./subgrafo-funcao"), exports);
29045
29707
  __exportStar(require("./subgrafo-metodo"), exports);
29046
29708
  __exportStar(require("./vertice-fluxograma"), exports);
29047
29709
 
29048
- },{"./aresta-fluxograma":233,"./subgrafo-classe":235,"./subgrafo-funcao":236,"./subgrafo-metodo":237,"./vertice-fluxograma":238}],235:[function(require,module,exports){
29710
+ },{"./aresta-fluxograma":234,"./subgrafo-classe":236,"./subgrafo-funcao":237,"./subgrafo-metodo":238,"./vertice-fluxograma":239}],236:[function(require,module,exports){
29049
29711
  "use strict";
29050
29712
  Object.defineProperty(exports, "__esModule", { value: true });
29051
29713
  exports.SubgrafoClasse = void 0;
@@ -29091,7 +29753,7 @@ class SubgrafoClasse {
29091
29753
  }
29092
29754
  exports.SubgrafoClasse = SubgrafoClasse;
29093
29755
 
29094
- },{}],236:[function(require,module,exports){
29756
+ },{}],237:[function(require,module,exports){
29095
29757
  "use strict";
29096
29758
  Object.defineProperty(exports, "__esModule", { value: true });
29097
29759
  exports.SubgrafoFuncao = void 0;
@@ -29106,7 +29768,7 @@ class SubgrafoFuncao {
29106
29768
  }
29107
29769
  exports.SubgrafoFuncao = SubgrafoFuncao;
29108
29770
 
29109
- },{}],237:[function(require,module,exports){
29771
+ },{}],238:[function(require,module,exports){
29110
29772
  "use strict";
29111
29773
  Object.defineProperty(exports, "__esModule", { value: true });
29112
29774
  exports.SubgrafoMetodo = void 0;
@@ -29123,7 +29785,7 @@ class SubgrafoMetodo {
29123
29785
  }
29124
29786
  exports.SubgrafoMetodo = SubgrafoMetodo;
29125
29787
 
29126
- },{}],238:[function(require,module,exports){
29788
+ },{}],239:[function(require,module,exports){
29127
29789
  "use strict";
29128
29790
  Object.defineProperty(exports, "__esModule", { value: true });
29129
29791
  exports.VerticeFluxograma = void 0;
@@ -29140,7 +29802,7 @@ class VerticeFluxograma {
29140
29802
  }
29141
29803
  exports.VerticeFluxograma = VerticeFluxograma;
29142
29804
 
29143
- },{}],239:[function(require,module,exports){
29805
+ },{}],240:[function(require,module,exports){
29144
29806
  "use strict";
29145
29807
  // Generated from fontes\tradutores\python\Python3.g4 by ANTLR 4.9.0-SNAPSHOT
29146
29808
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -30380,7 +31042,7 @@ __decorate([
30380
31042
  Decorators_1.Override
30381
31043
  ], Python3Lexer.prototype, "nextToken", null);
30382
31044
 
30383
- },{"./python3-parser":240,"antlr4ts/CommonToken":265,"antlr4ts/Decorators":269,"antlr4ts/Lexer":277,"antlr4ts/Token":294,"antlr4ts/VocabularyImpl":300,"antlr4ts/atn/ATNDeserializer":306,"antlr4ts/atn/LexerATNSimulator":327,"antlr4ts/misc/Utils":388}],240:[function(require,module,exports){
31045
+ },{"./python3-parser":241,"antlr4ts/CommonToken":266,"antlr4ts/Decorators":270,"antlr4ts/Lexer":278,"antlr4ts/Token":295,"antlr4ts/VocabularyImpl":301,"antlr4ts/atn/ATNDeserializer":307,"antlr4ts/atn/LexerATNSimulator":328,"antlr4ts/misc/Utils":389}],241:[function(require,module,exports){
30384
31046
  "use strict";
30385
31047
  // Generated from fontes\tradutores\python\Python3.g4 by ANTLR 4.9.0-SNAPSHOT
30386
31048
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -41627,7 +42289,7 @@ class Yield_argContext extends ParserRuleContext_1.ParserRuleContext {
41627
42289
  }
41628
42290
  exports.Yield_argContext = Yield_argContext;
41629
42291
 
41630
- },{"antlr4ts/FailedPredicateException":273,"antlr4ts/NoViableAltException":281,"antlr4ts/Parser":282,"antlr4ts/ParserRuleContext":285,"antlr4ts/RecognitionException":288,"antlr4ts/Token":294,"antlr4ts/VocabularyImpl":300,"antlr4ts/atn/ATN":302,"antlr4ts/atn/ATNDeserializer":306,"antlr4ts/atn/ParserATNSimulator":343,"antlr4ts/misc/Utils":388}],241:[function(require,module,exports){
42292
+ },{"antlr4ts/FailedPredicateException":274,"antlr4ts/NoViableAltException":282,"antlr4ts/Parser":283,"antlr4ts/ParserRuleContext":286,"antlr4ts/RecognitionException":289,"antlr4ts/Token":295,"antlr4ts/VocabularyImpl":301,"antlr4ts/atn/ATN":303,"antlr4ts/atn/ATNDeserializer":307,"antlr4ts/atn/ParserATNSimulator":344,"antlr4ts/misc/Utils":389}],242:[function(require,module,exports){
41631
42293
  "use strict";
41632
42294
  Object.defineProperty(exports, "__esModule", { value: true });
41633
42295
  exports.TradutorAssemblyARM = void 0;
@@ -42339,7 +43001,7 @@ ${labelFim}:`;
42339
43001
  }
42340
43002
  exports.TradutorAssemblyARM = TradutorAssemblyARM;
42341
43003
 
42342
- },{"../construtos":62,"../declaracoes":110}],242:[function(require,module,exports){
43004
+ },{"../construtos":62,"../declaracoes":110}],243:[function(require,module,exports){
42343
43005
  "use strict";
42344
43006
  Object.defineProperty(exports, "__esModule", { value: true });
42345
43007
  exports.TradutorAssemblyRISCV = void 0;
@@ -43015,7 +43677,7 @@ ${labelSenao}:`;
43015
43677
  }
43016
43678
  exports.TradutorAssemblyRISCV = TradutorAssemblyRISCV;
43017
43679
 
43018
- },{"../construtos":62,"../declaracoes":110}],243:[function(require,module,exports){
43680
+ },{"../construtos":62,"../declaracoes":110}],244:[function(require,module,exports){
43019
43681
  "use strict";
43020
43682
  Object.defineProperty(exports, "__esModule", { value: true });
43021
43683
  exports.TradutorAssemblyX64 = void 0;
@@ -43790,7 +44452,7 @@ __delegua_print_int:
43790
44452
  }
43791
44453
  exports.TradutorAssemblyX64 = TradutorAssemblyX64;
43792
44454
 
43793
- },{"../construtos":62,"../declaracoes":110}],244:[function(require,module,exports){
44455
+ },{"../construtos":62,"../declaracoes":110}],245:[function(require,module,exports){
43794
44456
  "use strict";
43795
44457
  var __importDefault = (this && this.__importDefault) || function (mod) {
43796
44458
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -44996,7 +45658,7 @@ class TradutorAssemblyScript {
44996
45658
  }
44997
45659
  exports.TradutorAssemblyScript = TradutorAssemblyScript;
44998
45660
 
44999
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":224}],245:[function(require,module,exports){
45661
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":225}],246:[function(require,module,exports){
45000
45662
  "use strict";
45001
45663
  var __importDefault = (this && this.__importDefault) || function (mod) {
45002
45664
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -45947,7 +46609,7 @@ class TradutorElixir {
45947
46609
  }
45948
46610
  exports.TradutorElixir = TradutorElixir;
45949
46611
 
45950
- },{"../tipos-de-simbolos/delegua":224}],246:[function(require,module,exports){
46612
+ },{"../tipos-de-simbolos/delegua":225}],247:[function(require,module,exports){
45951
46613
  "use strict";
45952
46614
  var __importDefault = (this && this.__importDefault) || function (mod) {
45953
46615
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -46739,7 +47401,7 @@ class TradutorJavaScript {
46739
47401
  }
46740
47402
  exports.TradutorJavaScript = TradutorJavaScript;
46741
47403
 
46742
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":224}],247:[function(require,module,exports){
47404
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":225}],248:[function(require,module,exports){
46743
47405
  "use strict";
46744
47406
  var __importDefault = (this && this.__importDefault) || function (mod) {
46745
47407
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -47563,69 +48225,359 @@ class TradutorMermaidJs {
47563
48225
  }
47564
48226
  exports.TradutorMermaidJs = TradutorMermaidJs;
47565
48227
 
47566
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":224,"./mermaid":234}],248:[function(require,module,exports){
48228
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":225,"./mermaid":235}],249:[function(require,module,exports){
47567
48229
  "use strict";
48230
+ var __importDefault = (this && this.__importDefault) || function (mod) {
48231
+ return (mod && mod.__esModule) ? mod : { "default": mod };
48232
+ };
47568
48233
  Object.defineProperty(exports, "__esModule", { value: true });
47569
48234
  exports.TradutorPortugolIpt = void 0;
48235
+ const construtos_1 = require("../construtos");
48236
+ const declaracoes_1 = require("../declaracoes");
47570
48237
  const dialetos_1 = require("../avaliador-sintatico/dialetos");
47571
48238
  const dialetos_2 = require("../lexador/dialetos");
48239
+ const portugol_ipt_1 = __importDefault(require("../tipos-de-simbolos/portugol-ipt"));
47572
48240
  class TradutorPortugolIpt {
47573
48241
  constructor() {
47574
48242
  this.indentacao = 0;
48243
+ // ── Mapeamento de funções embutidas ─────────────────────────────────────────
48244
+ this.mapaFuncoes = {
48245
+ ALEATORIO: 'aleatorio',
48246
+ SEN: 'seno',
48247
+ COS: 'cosseno',
48248
+ TAN: 'tangente',
48249
+ CTG: 'cotangente',
48250
+ ASEN: 'arco_seno',
48251
+ ACOS: 'arco_cosseno',
48252
+ ATAN: 'arco_tangente',
48253
+ ACTG: 'arco_cotangente',
48254
+ SENH: 'seno_hiperbolico',
48255
+ COSH: 'cosseno_hiperbolico',
48256
+ TANH: 'tangente_hiperbolica',
48257
+ CTGH: 'cotangente_hiperbolica',
48258
+ EXP: 'exponencial',
48259
+ ABS: 'absoluto',
48260
+ RAIZ: 'raiz_quadrada',
48261
+ LOG: 'logaritmo',
48262
+ LN: 'logaritmo_natural',
48263
+ INT: 'inteiro',
48264
+ FRAC: 'parte_fracionaria',
48265
+ ARRED: 'arredondar',
48266
+ POTENCIA: 'potência',
48267
+ COMPRIMENTO: 'tamanho',
48268
+ LETRA: 'letra',
48269
+ };
48270
+ // ── Dicionários ──────────────────────────────────────────────────────────────
47575
48271
  this.dicionarioConstrutos = {
48272
+ AcessoIndiceVariavel: this.traduzirConstrutoAcessoIndiceVariavel.bind(this),
48273
+ Agrupamento: this.traduzirConstrutoAgrupamento.bind(this),
48274
+ AtribuicaoPorIndice: this.traduzirConstrutoAtribuicaoPorIndice.bind(this),
48275
+ Atribuir: this.traduzirConstrutoAtribuir.bind(this),
48276
+ Binario: this.traduzirConstrutoBinario.bind(this),
48277
+ Chamada: this.traduzirConstrutoChamada.bind(this),
47576
48278
  FormatacaoEscrita: this.traduzirConstrutoFormatacaoEscrita.bind(this),
48279
+ Leia: this.traduzirConstrutoLeia.bind(this),
47577
48280
  Literal: this.traduzirConstrutoLiteral.bind(this),
48281
+ Logico: this.traduzirConstrutoLogico.bind(this),
48282
+ Unario: this.traduzirConstrutoUnario.bind(this),
48283
+ Variavel: this.traduzirConstrutoVariavel.bind(this),
48284
+ Vetor: this.traduzirConstrutoVetor.bind(this),
47578
48285
  };
47579
48286
  this.dicionarioDeclaracoes = {
48287
+ Bloco: this.traduzirDeclaracaoBloco.bind(this),
48288
+ Const: this.traduzirDeclaracaoConst.bind(this),
48289
+ Enquanto: this.traduzirDeclaracaoEnquanto.bind(this),
48290
+ Escolha: this.traduzirDeclaracaoEscolha.bind(this),
47580
48291
  Escreva: this.traduzirDeclaracaoEscreva.bind(this),
47581
48292
  EscrevaMesmaLinha: this.traduzirDeclaracaoEscrevaMesmaLinha.bind(this),
48293
+ Expressao: this.traduzirDeclaracaoExpressao.bind(this),
48294
+ Fazer: this.traduzirDeclaracaoFazer.bind(this),
48295
+ Para: this.traduzirDeclaracaoPara.bind(this),
48296
+ Se: this.traduzirDeclaracaoSe.bind(this),
48297
+ Var: this.traduzirDeclaracaoVar.bind(this),
47582
48298
  };
47583
48299
  }
47584
- traduzirConstrutoFormatacaoEscrita(formatacaoEscrita) {
47585
- let resultado = '';
47586
- resultado += String(formatacaoEscrita.expressao.valor);
47587
- return resultado;
48300
+ // ── Operadores ───────────────────────────────────────────────────────────────
48301
+ traduzirOperador(tipo) {
48302
+ switch (tipo) {
48303
+ case portugol_ipt_1.default.ADICAO: return '+';
48304
+ case portugol_ipt_1.default.SUBTRACAO: return '-';
48305
+ case portugol_ipt_1.default.MULTIPLICACAO: return '*';
48306
+ case portugol_ipt_1.default.DIVISAO: return '/';
48307
+ case portugol_ipt_1.default.MODULO: return '%';
48308
+ case portugol_ipt_1.default.EXPONENCIACAO: return '**';
48309
+ case portugol_ipt_1.default.IGUAL: return '==';
48310
+ case portugol_ipt_1.default.DIFERENTE: return '!=';
48311
+ case portugol_ipt_1.default.MAIOR: return '>';
48312
+ case portugol_ipt_1.default.MAIOR_IGUAL: return '>=';
48313
+ case portugol_ipt_1.default.MENOR: return '<';
48314
+ case portugol_ipt_1.default.MENOR_IGUAL: return '<=';
48315
+ case portugol_ipt_1.default.E: return '&&';
48316
+ case portugol_ipt_1.default.OU: return '||';
48317
+ case portugol_ipt_1.default.XOU: return '^^';
48318
+ default: return tipo;
48319
+ }
48320
+ }
48321
+ // ── Construtos ───────────────────────────────────────────────────────────────
48322
+ traduzirConstruto(construto) {
48323
+ const nome = construto.constructor.name;
48324
+ if (this.dicionarioConstrutos.hasOwnProperty(nome)) {
48325
+ return this.dicionarioConstrutos[nome](construto);
48326
+ }
48327
+ return `/* construto ${nome} não suportado */`;
47588
48328
  }
47589
48329
  traduzirConstrutoLiteral(literal) {
47590
48330
  if (typeof literal.valor === 'string')
47591
48331
  return `'${literal.valor}'`;
48332
+ if (typeof literal.valor === 'boolean')
48333
+ return literal.valor ? 'verdadeiro' : 'falso';
47592
48334
  return String(literal.valor);
47593
48335
  }
47594
- traduzirDeclaracaoEscreva(declaracaoEscreva) {
47595
- let resultado = 'escreva(';
47596
- for (const argumento of declaracaoEscreva.argumentos) {
47597
- const valor = this.dicionarioConstrutos[argumento.expressao.constructor.name](argumento.expressao);
47598
- resultado += valor + ', ';
48336
+ traduzirConstrutoVariavel(variavel) {
48337
+ return variavel.simbolo.lexema;
48338
+ }
48339
+ traduzirConstrutoAgrupamento(agrupamento) {
48340
+ return `(${this.traduzirConstruto(agrupamento.expressao)})`;
48341
+ }
48342
+ traduzirConstrutoBinario(binario) {
48343
+ const esq = this.traduzirConstruto(binario.esquerda);
48344
+ const op = this.traduzirOperador(binario.operador.tipo);
48345
+ const dir = this.traduzirConstruto(binario.direita);
48346
+ return `${esq} ${op} ${dir}`;
48347
+ }
48348
+ traduzirConstrutoLogico(logico) {
48349
+ const esq = this.traduzirConstruto(logico.esquerda);
48350
+ const dir = this.traduzirConstruto(logico.direita);
48351
+ if (logico.operador.tipo === portugol_ipt_1.default.XOU) {
48352
+ return `((${esq} && !(${dir})) || (!(${esq}) && ${dir}))`;
47599
48353
  }
47600
- resultado = resultado.slice(0, -2);
47601
- resultado += ')';
48354
+ const op = this.traduzirOperador(logico.operador.tipo);
48355
+ return `${esq} ${op} ${dir}`;
48356
+ }
48357
+ traduzirConstrutoUnario(unario) {
48358
+ const operando = this.traduzirConstruto(unario.operando);
48359
+ switch (unario.operador.tipo) {
48360
+ case portugol_ipt_1.default.SUBTRACAO: return `-${operando}`;
48361
+ case portugol_ipt_1.default.NEGACAO:
48362
+ case portugol_ipt_1.default.NAO: return `!(${operando})`;
48363
+ default: return `!(${operando})`;
48364
+ }
48365
+ }
48366
+ traduzirConstrutoAtribuir(atribuir) {
48367
+ const alvo = this.traduzirConstruto(atribuir.alvo);
48368
+ const valor = this.traduzirConstruto(atribuir.valor);
48369
+ return `${alvo} = ${valor}`;
48370
+ }
48371
+ traduzirConstrutoChamada(chamada) {
48372
+ const nomeOriginal = this.traduzirConstruto(chamada.entidadeChamada).toUpperCase();
48373
+ const nomeDelegua = this.mapaFuncoes[nomeOriginal] ?? nomeOriginal.toLowerCase();
48374
+ const args = chamada.argumentos.map((a) => this.traduzirConstruto(a)).join(', ');
48375
+ return `${nomeDelegua}(${args})`;
48376
+ }
48377
+ traduzirConstrutoAcessoIndiceVariavel(acesso) {
48378
+ const entidade = this.traduzirConstruto(acesso.entidadeChamada);
48379
+ const indice = this.traduzirConstruto(acesso.indice);
48380
+ return `${entidade}[${indice}]`;
48381
+ }
48382
+ traduzirConstrutoAtribuicaoPorIndice(atrib) {
48383
+ const objeto = this.traduzirConstruto(atrib.objeto);
48384
+ const indice = this.traduzirConstruto(atrib.indice);
48385
+ const valor = this.traduzirConstruto(atrib.valor);
48386
+ return `${objeto}[${indice}] = ${valor}`;
48387
+ }
48388
+ traduzirConstrutoVetor(vetor) {
48389
+ const elementos = vetor.elementos.map((v) => this.traduzirConstruto(v)).join(', ');
48390
+ return `[${elementos}]`;
48391
+ }
48392
+ traduzirConstrutoLeia(_leia) {
48393
+ return 'leia()';
48394
+ }
48395
+ traduzirConstrutoFormatacaoEscrita(formatacao) {
48396
+ return this.traduzirConstruto(formatacao.expressao);
48397
+ }
48398
+ // ── Declarações ──────────────────────────────────────────────────────────────
48399
+ traduzirDeclaracao(declaracao) {
48400
+ const nome = declaracao.constructor.name;
48401
+ if (this.dicionarioDeclaracoes.hasOwnProperty(nome)) {
48402
+ return this.dicionarioDeclaracoes[nome](declaracao);
48403
+ }
48404
+ return `/* declaração ${nome} não suportada */`;
48405
+ }
48406
+ tipoParaDelégua(tipo) {
48407
+ switch (tipo) {
48408
+ case 'inteiro': return 'inteiro';
48409
+ case 'texto': return 'texto';
48410
+ case 'real': return 'real';
48411
+ case 'lógico':
48412
+ case 'logico': return 'logico';
48413
+ case 'caracter': return 'caracter';
48414
+ default: return tipo;
48415
+ }
48416
+ }
48417
+ valorPadraoPorTipo(tipo) {
48418
+ switch (tipo) {
48419
+ case 'inteiro': return '0';
48420
+ case 'texto': return "''";
48421
+ case 'real': return '0.0';
48422
+ case 'lógico':
48423
+ case 'logico': return 'falso';
48424
+ case 'caracter': return "' '";
48425
+ default: return 'nulo';
48426
+ }
48427
+ }
48428
+ traduzirDeclaracaoVar(declaracaoVar) {
48429
+ const nome = declaracaoVar.simbolo.lexema;
48430
+ const tipo = declaracaoVar.tipo;
48431
+ if (tipo && tipo.endsWith('[]')) {
48432
+ // Array
48433
+ const tipoBase = tipo.slice(0, -2);
48434
+ const valor = declaracaoVar.inicializador
48435
+ ? this.traduzirConstruto(declaracaoVar.inicializador)
48436
+ : '[]';
48437
+ return `var ${nome}: ${tipoBase}[] = ${valor}`;
48438
+ }
48439
+ const tipoDelegua = tipo ? this.tipoParaDelégua(tipo) : '';
48440
+ const valorPadrao = tipo ? this.valorPadraoPorTipo(tipo) : 'nulo';
48441
+ const valor = declaracaoVar.inicializador
48442
+ ? this.traduzirConstruto(declaracaoVar.inicializador)
48443
+ : valorPadrao;
48444
+ if (tipoDelegua) {
48445
+ return `var ${nome}: ${tipoDelegua} = ${valor}`;
48446
+ }
48447
+ return `var ${nome} = ${valor}`;
48448
+ }
48449
+ traduzirDeclaracaoConst(declaracaoConst) {
48450
+ const nome = declaracaoConst.simbolo.lexema;
48451
+ const valor = declaracaoConst.inicializador
48452
+ ? this.traduzirConstruto(declaracaoConst.inicializador)
48453
+ : 'nulo';
48454
+ return `const ${nome} = ${valor}`;
48455
+ }
48456
+ traduzirDeclaracaoExpressao(declaracaoExpressao) {
48457
+ const expr = declaracaoExpressao.expressao;
48458
+ // `ler x` → `x = leia()`
48459
+ if (expr instanceof construtos_1.Leia) {
48460
+ const linhas = [];
48461
+ for (const arg of expr.argumentos) {
48462
+ const alvo = arg instanceof declaracoes_1.Expressao
48463
+ ? this.traduzirConstruto(arg.expressao)
48464
+ : this.traduzirConstruto(arg);
48465
+ linhas.push(`${alvo} = leia()`);
48466
+ }
48467
+ return linhas.join('\n' + ' '.repeat(this.indentacao));
48468
+ }
48469
+ return this.traduzirConstruto(expr);
48470
+ }
48471
+ traduzirDeclaracaoBloco(bloco) {
48472
+ let resultado = '{\n';
48473
+ this.indentacao += 4;
48474
+ for (const declaracao of bloco.declaracoes) {
48475
+ resultado += ' '.repeat(this.indentacao);
48476
+ resultado += this.traduzirDeclaracao(declaracao) + '\n';
48477
+ }
48478
+ this.indentacao -= 4;
48479
+ resultado += ' '.repeat(this.indentacao) + '}';
47602
48480
  return resultado;
47603
48481
  }
48482
+ traduzirDeclaracaoEscreva(declaracaoEscreva) {
48483
+ const args = declaracaoEscreva.argumentos.map((a) => this.traduzirConstruto(a)).join(', ');
48484
+ return `escreva(${args})`;
48485
+ }
47604
48486
  traduzirDeclaracaoEscrevaMesmaLinha(declaracaoEscreva) {
47605
- let resultado = 'escreva(';
47606
- for (const argumento of declaracaoEscreva.argumentos) {
47607
- const valor = this.dicionarioConstrutos[argumento.expressao.constructor.name](argumento.expressao);
47608
- resultado += valor + ', ';
48487
+ const args = declaracaoEscreva.argumentos.map((a) => this.traduzirConstruto(a)).join(', ');
48488
+ return `escreva(${args})`;
48489
+ }
48490
+ traduzirDeclaracaoSe(declaracaoSe) {
48491
+ const cond = this.traduzirConstruto(declaracaoSe.condicao);
48492
+ let resultado = `se (${cond}) `;
48493
+ resultado += this.traduzirDeclaracaoBloco(declaracaoSe.caminhoEntao);
48494
+ if (declaracaoSe.caminhoSenao) {
48495
+ resultado += ' senão ';
48496
+ resultado += this.traduzirDeclaracaoBloco(declaracaoSe.caminhoSenao);
47609
48497
  }
47610
- resultado = resultado.slice(0, -2);
47611
- resultado += ')';
47612
48498
  return resultado;
47613
48499
  }
47614
- async traduzir(codigo) {
48500
+ traduzirDeclaracaoEnquanto(declaracaoEnquanto) {
48501
+ const cond = this.traduzirConstruto(declaracaoEnquanto.condicao);
48502
+ let resultado = `enquanto (${cond}) `;
48503
+ resultado += this.traduzirDeclaracaoBloco(declaracaoEnquanto.corpo);
48504
+ return resultado;
48505
+ }
48506
+ traduzirDeclaracaoPara(declaracaoPara) {
48507
+ // inicializador é Expressao(Atribuir(v, inicio))
48508
+ let init = '';
48509
+ if (declaracaoPara.inicializador) {
48510
+ const ini = declaracaoPara.inicializador;
48511
+ if (Array.isArray(ini)) {
48512
+ init = ini.map((d) => this.traduzirDeclaracao(d)).join(', ');
48513
+ }
48514
+ else {
48515
+ init = this.traduzirDeclaracao(ini);
48516
+ }
48517
+ }
48518
+ const cond = declaracaoPara.condicao
48519
+ ? this.traduzirConstruto(declaracaoPara.condicao)
48520
+ : '';
48521
+ const incr = declaracaoPara.incrementar
48522
+ ? this.traduzirConstruto(declaracaoPara.incrementar)
48523
+ : '';
48524
+ let resultado = `para (${init}; ${cond}; ${incr}) `;
48525
+ resultado += this.traduzirDeclaracaoBloco(declaracaoPara.corpo);
48526
+ return resultado;
48527
+ }
48528
+ traduzirDeclaracaoFazer(declaracaoFazer) {
48529
+ let resultado = 'fazer ';
48530
+ resultado += this.traduzirDeclaracaoBloco(declaracaoFazer.caminhoFazer);
48531
+ const cond = this.traduzirConstruto(declaracaoFazer.condicaoEnquanto);
48532
+ resultado += ` enquanto (${cond})`;
48533
+ return resultado;
48534
+ }
48535
+ traduzirCaminhoEscolha(caminho) {
47615
48536
  let resultado = '';
48537
+ this.indentacao += 4;
48538
+ if (caminho.condicoes && caminho.condicoes.length > 0) {
48539
+ for (const cond of caminho.condicoes) {
48540
+ resultado += ' '.repeat(this.indentacao) + `caso ${this.traduzirConstruto(cond)}:\n`;
48541
+ }
48542
+ }
48543
+ else {
48544
+ resultado += ' '.repeat(this.indentacao) + 'padrão:\n';
48545
+ }
48546
+ this.indentacao += 4;
48547
+ for (const declaracao of caminho.declaracoes) {
48548
+ resultado += ' '.repeat(this.indentacao) + this.traduzirDeclaracao(declaracao) + '\n';
48549
+ }
48550
+ this.indentacao -= 8;
48551
+ return resultado;
48552
+ }
48553
+ traduzirDeclaracaoEscolha(declaracaoEscolha) {
48554
+ const expr = this.traduzirConstruto(declaracaoEscolha.identificadorOuLiteral);
48555
+ let resultado = `escolha (${expr}) {\n`;
48556
+ for (const caminho of declaracaoEscolha.caminhos) {
48557
+ resultado += this.traduzirCaminhoEscolha(caminho);
48558
+ }
48559
+ if (declaracaoEscolha.caminhoPadrao) {
48560
+ resultado += this.traduzirCaminhoEscolha(declaracaoEscolha.caminhoPadrao);
48561
+ }
48562
+ resultado += ' '.repeat(this.indentacao) + '}';
48563
+ return resultado;
48564
+ }
48565
+ // ── Ponto de entrada ─────────────────────────────────────────────────────────
48566
+ async traduzir(codigo) {
47616
48567
  this.lexador = new dialetos_2.LexadorPortugolIpt();
47617
48568
  this.avaliadorSintatico = new dialetos_1.AvaliadorSintaticoPortugolIpt();
47618
48569
  const retornoLexador = this.lexador.mapear(codigo.split('\n'), -1);
47619
48570
  const retornoAvaliadorSintatico = await this.avaliadorSintatico.analisar(retornoLexador, -1);
48571
+ let resultado = '';
47620
48572
  for (const declaracao of retornoAvaliadorSintatico.declaracoes) {
47621
- resultado += `${this.dicionarioDeclaracoes[declaracao.constructor.name](declaracao)} \n`;
48573
+ resultado += this.traduzirDeclaracao(declaracao) + '\n';
47622
48574
  }
47623
48575
  return resultado;
47624
48576
  }
47625
48577
  }
47626
48578
  exports.TradutorPortugolIpt = TradutorPortugolIpt;
47627
48579
 
47628
- },{"../avaliador-sintatico/dialetos":17,"../lexador/dialetos":194}],249:[function(require,module,exports){
48580
+ },{"../avaliador-sintatico/dialetos":17,"../construtos":62,"../declaracoes":110,"../lexador/dialetos":195,"../tipos-de-simbolos/portugol-ipt":230}],250:[function(require,module,exports){
47629
48581
  "use strict";
47630
48582
  var __importDefault = (this && this.__importDefault) || function (mod) {
47631
48583
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -48310,7 +49262,7 @@ class TradutorPython {
48310
49262
  }
48311
49263
  exports.TradutorPython = TradutorPython;
48312
49264
 
48313
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":224}],250:[function(require,module,exports){
49265
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":225}],251:[function(require,module,exports){
48314
49266
  "use strict";
48315
49267
  var __importDefault = (this && this.__importDefault) || function (mod) {
48316
49268
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -48662,7 +49614,7 @@ class TradutorReversoCalango {
48662
49614
  }
48663
49615
  exports.TradutorReversoCalango = TradutorReversoCalango;
48664
49616
 
48665
- },{"../tipos-de-simbolos/calango":222}],251:[function(require,module,exports){
49617
+ },{"../tipos-de-simbolos/calango":223}],252:[function(require,module,exports){
48666
49618
  "use strict";
48667
49619
  Object.defineProperty(exports, "__esModule", { value: true });
48668
49620
  exports.TradutorReversoJavaScript = void 0;
@@ -49057,7 +50009,7 @@ class TradutorReversoJavaScript {
49057
50009
  }
49058
50010
  exports.TradutorReversoJavaScript = TradutorReversoJavaScript;
49059
50011
 
49060
- },{}],252:[function(require,module,exports){
50012
+ },{}],253:[function(require,module,exports){
49061
50013
  "use strict";
49062
50014
  Object.defineProperty(exports, "__esModule", { value: true });
49063
50015
  exports.TradutorReversoPython = void 0;
@@ -49687,7 +50639,7 @@ class TradutorReversoPython extends AbstractParseTreeVisitor_1.AbstractParseTree
49687
50639
  }
49688
50640
  exports.TradutorReversoPython = TradutorReversoPython;
49689
50641
 
49690
- },{"./python/python3-lexer":239,"./python/python3-parser":240,"antlr4ts":371,"antlr4ts/tree/AbstractParseTreeVisitor":389}],253:[function(require,module,exports){
50642
+ },{"./python/python3-lexer":240,"./python/python3-parser":241,"antlr4ts":372,"antlr4ts/tree/AbstractParseTreeVisitor":390}],254:[function(require,module,exports){
49691
50643
  "use strict";
49692
50644
  var __importDefault = (this && this.__importDefault) || function (mod) {
49693
50645
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -50278,7 +51230,7 @@ class TradutorReversoTenda {
50278
51230
  }
50279
51231
  exports.TradutorReversoTenda = TradutorReversoTenda;
50280
51232
 
50281
- },{"../construtos":62,"../tipos-de-simbolos/tenda":231}],254:[function(require,module,exports){
51233
+ },{"../construtos":62,"../tipos-de-simbolos/tenda":232}],255:[function(require,module,exports){
50282
51234
  "use strict";
50283
51235
  var __importDefault = (this && this.__importDefault) || function (mod) {
50284
51236
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -50965,7 +51917,7 @@ class TradutorRuby {
50965
51917
  }
50966
51918
  exports.TradutorRuby = TradutorRuby;
50967
51919
 
50968
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":224}],255:[function(require,module,exports){
51920
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":225}],256:[function(require,module,exports){
50969
51921
  "use strict";
50970
51922
  Object.defineProperty(exports, "__esModule", { value: true });
50971
51923
  exports.TradutorWebAssembly = void 0;
@@ -51852,7 +52804,7 @@ process.exit(codigoSaida);
51852
52804
  }
51853
52805
  exports.TradutorWebAssembly = TradutorWebAssembly;
51854
52806
 
51855
- },{"../construtos":62,"../declaracoes":110}],256:[function(require,module,exports){
52807
+ },{"../construtos":62,"../declaracoes":110}],257:[function(require,module,exports){
51856
52808
  "use strict";
51857
52809
  /*!
51858
52810
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51860,7 +52812,7 @@ exports.TradutorWebAssembly = TradutorWebAssembly;
51860
52812
  */
51861
52813
  Object.defineProperty(exports, "__esModule", { value: true });
51862
52814
 
51863
- },{}],257:[function(require,module,exports){
52815
+ },{}],258:[function(require,module,exports){
51864
52816
  "use strict";
51865
52817
  /*!
51866
52818
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51868,7 +52820,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
51868
52820
  */
51869
52821
  Object.defineProperty(exports, "__esModule", { value: true });
51870
52822
 
51871
- },{}],258:[function(require,module,exports){
52823
+ },{}],259:[function(require,module,exports){
51872
52824
  "use strict";
51873
52825
  /*!
51874
52826
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52030,7 +52982,7 @@ __decorate([
52030
52982
  ], ANTLRInputStream.prototype, "toString", null);
52031
52983
  exports.ANTLRInputStream = ANTLRInputStream;
52032
52984
 
52033
- },{"./Decorators":269,"./IntStream":275,"assert":412}],259:[function(require,module,exports){
52985
+ },{"./Decorators":270,"./IntStream":276,"assert":413}],260:[function(require,module,exports){
52034
52986
  "use strict";
52035
52987
  /*!
52036
52988
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52113,7 +53065,7 @@ __decorate([
52113
53065
  ], BailErrorStrategy.prototype, "sync", null);
52114
53066
  exports.BailErrorStrategy = BailErrorStrategy;
52115
53067
 
52116
- },{"./Decorators":269,"./DefaultErrorStrategy":270,"./InputMismatchException":274,"./misc/ParseCancellationException":386}],260:[function(require,module,exports){
53068
+ },{"./Decorators":270,"./DefaultErrorStrategy":271,"./InputMismatchException":275,"./misc/ParseCancellationException":387}],261:[function(require,module,exports){
52117
53069
  "use strict";
52118
53070
  /*!
52119
53071
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52603,7 +53555,7 @@ BufferedTokenStream = __decorate([
52603
53555
  ], BufferedTokenStream);
52604
53556
  exports.BufferedTokenStream = BufferedTokenStream;
52605
53557
 
52606
- },{"./CommonToken":265,"./Decorators":269,"./Lexer":277,"./Token":294,"./misc/Interval":381,"assert":412}],261:[function(require,module,exports){
53558
+ },{"./CommonToken":266,"./Decorators":270,"./Lexer":278,"./Token":295,"./misc/Interval":382,"assert":413}],262:[function(require,module,exports){
52607
53559
  "use strict";
52608
53560
  /*!
52609
53561
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52611,7 +53563,7 @@ exports.BufferedTokenStream = BufferedTokenStream;
52611
53563
  */
52612
53564
  Object.defineProperty(exports, "__esModule", { value: true });
52613
53565
 
52614
- },{}],262:[function(require,module,exports){
53566
+ },{}],263:[function(require,module,exports){
52615
53567
  "use strict";
52616
53568
  /*!
52617
53569
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52745,7 +53697,7 @@ var CharStreams;
52745
53697
  // }
52746
53698
  })(CharStreams = exports.CharStreams || (exports.CharStreams = {}));
52747
53699
 
52748
- },{"./CodePointBuffer":263,"./CodePointCharStream":264,"./IntStream":275}],263:[function(require,module,exports){
53700
+ },{"./CodePointBuffer":264,"./CodePointCharStream":265,"./IntStream":276}],264:[function(require,module,exports){
52749
53701
  "use strict";
52750
53702
  /*!
52751
53703
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52980,7 +53932,7 @@ exports.CodePointBuffer = CodePointBuffer;
52980
53932
  CodePointBuffer.Builder = Builder;
52981
53933
  })(CodePointBuffer = exports.CodePointBuffer || (exports.CodePointBuffer = {}));
52982
53934
 
52983
- },{"./misc/Character":377,"assert":412}],264:[function(require,module,exports){
53935
+ },{"./misc/Character":378,"assert":413}],265:[function(require,module,exports){
52984
53936
  "use strict";
52985
53937
  /*!
52986
53938
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53130,7 +54082,7 @@ __decorate([
53130
54082
  ], CodePointCharStream.prototype, "getText", null);
53131
54083
  exports.CodePointCharStream = CodePointCharStream;
53132
54084
 
53133
- },{"./Decorators":269,"./IntStream":275,"./misc/Interval":381,"assert":412}],265:[function(require,module,exports){
54085
+ },{"./Decorators":270,"./IntStream":276,"./misc/Interval":382,"assert":413}],266:[function(require,module,exports){
53134
54086
  "use strict";
53135
54087
  /*!
53136
54088
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53360,7 +54312,7 @@ CommonToken = __decorate([
53360
54312
  ], CommonToken);
53361
54313
  exports.CommonToken = CommonToken;
53362
54314
 
53363
- },{"./Decorators":269,"./Token":294,"./misc/Interval":381}],266:[function(require,module,exports){
54315
+ },{"./Decorators":270,"./Token":295,"./misc/Interval":382}],267:[function(require,module,exports){
53364
54316
  "use strict";
53365
54317
  /*!
53366
54318
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53424,7 +54376,7 @@ exports.CommonTokenFactory = CommonTokenFactory;
53424
54376
  CommonTokenFactory.DEFAULT = new CommonTokenFactory();
53425
54377
  })(CommonTokenFactory = exports.CommonTokenFactory || (exports.CommonTokenFactory = {}));
53426
54378
 
53427
- },{"./CommonToken":265,"./Decorators":269,"./misc/Interval":381}],267:[function(require,module,exports){
54379
+ },{"./CommonToken":266,"./Decorators":270,"./misc/Interval":382}],268:[function(require,module,exports){
53428
54380
  "use strict";
53429
54381
  /*!
53430
54382
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53551,7 +54503,7 @@ CommonTokenStream = __decorate([
53551
54503
  ], CommonTokenStream);
53552
54504
  exports.CommonTokenStream = CommonTokenStream;
53553
54505
 
53554
- },{"./BufferedTokenStream":260,"./Decorators":269,"./Token":294}],268:[function(require,module,exports){
54506
+ },{"./BufferedTokenStream":261,"./Decorators":270,"./Token":295}],269:[function(require,module,exports){
53555
54507
  "use strict";
53556
54508
  /*!
53557
54509
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53585,7 +54537,7 @@ exports.ConsoleErrorListener = ConsoleErrorListener;
53585
54537
  */
53586
54538
  ConsoleErrorListener.INSTANCE = new ConsoleErrorListener();
53587
54539
 
53588
- },{}],269:[function(require,module,exports){
54540
+ },{}],270:[function(require,module,exports){
53589
54541
  "use strict";
53590
54542
  /*!
53591
54543
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53612,7 +54564,7 @@ function SuppressWarnings(options) {
53612
54564
  }
53613
54565
  exports.SuppressWarnings = SuppressWarnings;
53614
54566
 
53615
- },{}],270:[function(require,module,exports){
54567
+ },{}],271:[function(require,module,exports){
53616
54568
  "use strict";
53617
54569
  /*!
53618
54570
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54426,7 +55378,7 @@ __decorate([
54426
55378
  ], DefaultErrorStrategy.prototype, "consumeUntil", null);
54427
55379
  exports.DefaultErrorStrategy = DefaultErrorStrategy;
54428
55380
 
54429
- },{"./Decorators":269,"./FailedPredicateException":273,"./InputMismatchException":274,"./NoViableAltException":281,"./Token":294,"./atn/ATNState":308,"./atn/ATNStateType":309,"./atn/PredictionContext":349,"./misc/IntervalSet":382}],271:[function(require,module,exports){
55381
+ },{"./Decorators":270,"./FailedPredicateException":274,"./InputMismatchException":275,"./NoViableAltException":282,"./Token":295,"./atn/ATNState":309,"./atn/ATNStateType":310,"./atn/PredictionContext":350,"./misc/IntervalSet":383}],272:[function(require,module,exports){
54430
55382
  "use strict";
54431
55383
  /*!
54432
55384
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54502,7 +55454,7 @@ var Dependents;
54502
55454
  Dependents[Dependents["FOLLOWING"] = 9] = "FOLLOWING";
54503
55455
  })(Dependents = exports.Dependents || (exports.Dependents = {}));
54504
55456
 
54505
- },{}],272:[function(require,module,exports){
55457
+ },{}],273:[function(require,module,exports){
54506
55458
  "use strict";
54507
55459
  /*!
54508
55460
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54650,7 +55602,7 @@ __decorate([
54650
55602
  ], DiagnosticErrorListener.prototype, "getConflictingAlts", null);
54651
55603
  exports.DiagnosticErrorListener = DiagnosticErrorListener;
54652
55604
 
54653
- },{"./Decorators":269,"./misc/BitSet":376,"./misc/Interval":381}],273:[function(require,module,exports){
55605
+ },{"./Decorators":270,"./misc/BitSet":377,"./misc/Interval":382}],274:[function(require,module,exports){
54654
55606
  "use strict";
54655
55607
  /*!
54656
55608
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54715,7 +55667,7 @@ FailedPredicateException = __decorate([
54715
55667
  ], FailedPredicateException);
54716
55668
  exports.FailedPredicateException = FailedPredicateException;
54717
55669
 
54718
- },{"./Decorators":269,"./RecognitionException":288,"./atn/PredicateTransition":348}],274:[function(require,module,exports){
55670
+ },{"./Decorators":270,"./RecognitionException":289,"./atn/PredicateTransition":349}],275:[function(require,module,exports){
54719
55671
  "use strict";
54720
55672
  /*!
54721
55673
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54755,7 +55707,7 @@ InputMismatchException = __decorate([
54755
55707
  ], InputMismatchException);
54756
55708
  exports.InputMismatchException = InputMismatchException;
54757
55709
 
54758
- },{"./Decorators":269,"./RecognitionException":288}],275:[function(require,module,exports){
55710
+ },{"./Decorators":270,"./RecognitionException":289}],276:[function(require,module,exports){
54759
55711
  "use strict";
54760
55712
  /*!
54761
55713
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54778,7 +55730,7 @@ var IntStream;
54778
55730
  IntStream.UNKNOWN_SOURCE_NAME = "<unknown>";
54779
55731
  })(IntStream = exports.IntStream || (exports.IntStream = {}));
54780
55732
 
54781
- },{}],276:[function(require,module,exports){
55733
+ },{}],277:[function(require,module,exports){
54782
55734
  "use strict";
54783
55735
  /*!
54784
55736
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54825,7 +55777,7 @@ __decorate([
54825
55777
  ], InterpreterRuleContext.prototype, "ruleIndex", null);
54826
55778
  exports.InterpreterRuleContext = InterpreterRuleContext;
54827
55779
 
54828
- },{"./Decorators":269,"./ParserRuleContext":285}],277:[function(require,module,exports){
55780
+ },{"./Decorators":270,"./ParserRuleContext":286}],278:[function(require,module,exports){
54829
55781
  "use strict";
54830
55782
  /*!
54831
55783
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55161,7 +56113,7 @@ __decorate([
55161
56113
  ], Lexer.prototype, "charPositionInLine", null);
55162
56114
  exports.Lexer = Lexer;
55163
56115
 
55164
- },{"./CommonTokenFactory":266,"./Decorators":269,"./IntStream":275,"./LexerNoViableAltException":279,"./Recognizer":289,"./Token":294,"./atn/LexerATNSimulator":327,"./misc/IntegerStack":380,"./misc/Interval":381}],278:[function(require,module,exports){
56116
+ },{"./CommonTokenFactory":267,"./Decorators":270,"./IntStream":276,"./LexerNoViableAltException":280,"./Recognizer":290,"./Token":295,"./atn/LexerATNSimulator":328,"./misc/IntegerStack":381,"./misc/Interval":382}],279:[function(require,module,exports){
55165
56117
  "use strict";
55166
56118
  /*!
55167
56119
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55241,7 +56193,7 @@ LexerInterpreter = __decorate([
55241
56193
  ], LexerInterpreter);
55242
56194
  exports.LexerInterpreter = LexerInterpreter;
55243
56195
 
55244
- },{"./Decorators":269,"./Lexer":277,"./atn/LexerATNSimulator":327}],279:[function(require,module,exports){
56196
+ },{"./Decorators":270,"./Lexer":278,"./atn/LexerATNSimulator":328}],280:[function(require,module,exports){
55245
56197
  "use strict";
55246
56198
  /*!
55247
56199
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55298,7 +56250,7 @@ LexerNoViableAltException = __decorate([
55298
56250
  ], LexerNoViableAltException);
55299
56251
  exports.LexerNoViableAltException = LexerNoViableAltException;
55300
56252
 
55301
- },{"./Decorators":269,"./RecognitionException":288,"./misc/Interval":381,"./misc/Utils":388}],280:[function(require,module,exports){
56253
+ },{"./Decorators":270,"./RecognitionException":289,"./misc/Interval":382,"./misc/Utils":389}],281:[function(require,module,exports){
55302
56254
  "use strict";
55303
56255
  /*!
55304
56256
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55508,7 +56460,7 @@ ListTokenSource = __decorate([
55508
56460
  ], ListTokenSource);
55509
56461
  exports.ListTokenSource = ListTokenSource;
55510
56462
 
55511
- },{"./CommonTokenFactory":266,"./Decorators":269,"./Token":294}],281:[function(require,module,exports){
56463
+ },{"./CommonTokenFactory":267,"./Decorators":270,"./Token":295}],282:[function(require,module,exports){
55512
56464
  "use strict";
55513
56465
  /*!
55514
56466
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55563,7 +56515,7 @@ __decorate([
55563
56515
  ], NoViableAltException.prototype, "_startToken", void 0);
55564
56516
  exports.NoViableAltException = NoViableAltException;
55565
56517
 
55566
- },{"./Decorators":269,"./Parser":282,"./RecognitionException":288}],282:[function(require,module,exports){
56518
+ },{"./Decorators":270,"./Parser":283,"./RecognitionException":289}],283:[function(require,module,exports){
55567
56519
  (function (process){(function (){
55568
56520
  "use strict";
55569
56521
  /*!
@@ -56409,7 +57361,7 @@ __decorate([
56409
57361
  exports.Parser = Parser;
56410
57362
 
56411
57363
  }).call(this)}).call(this,require('_process'))
56412
- },{"./Decorators":269,"./DefaultErrorStrategy":270,"./Lexer":277,"./ProxyParserErrorListener":287,"./Recognizer":289,"./Token":294,"./atn/ATNDeserializationOptions":305,"./atn/ATNDeserializer":306,"./atn/ParseInfo":342,"./atn/ParserATNSimulator":343,"./atn/ProfilingATNSimulator":352,"./misc/IntegerStack":380,"./misc/Utils":388,"./tree/ErrorNode":390,"./tree/TerminalNode":392,"./tree/pattern/ParseTreePatternMatcher":397,"_process":471}],283:[function(require,module,exports){
57364
+ },{"./Decorators":270,"./DefaultErrorStrategy":271,"./Lexer":278,"./ProxyParserErrorListener":288,"./Recognizer":290,"./Token":295,"./atn/ATNDeserializationOptions":306,"./atn/ATNDeserializer":307,"./atn/ParseInfo":343,"./atn/ParserATNSimulator":344,"./atn/ProfilingATNSimulator":353,"./misc/IntegerStack":381,"./misc/Utils":389,"./tree/ErrorNode":391,"./tree/TerminalNode":393,"./tree/pattern/ParseTreePatternMatcher":398,"_process":472}],284:[function(require,module,exports){
56413
57365
  "use strict";
56414
57366
  /*!
56415
57367
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -56417,7 +57369,7 @@ exports.Parser = Parser;
56417
57369
  */
56418
57370
  Object.defineProperty(exports, "__esModule", { value: true });
56419
57371
 
56420
- },{}],284:[function(require,module,exports){
57372
+ },{}],285:[function(require,module,exports){
56421
57373
  "use strict";
56422
57374
  /*!
56423
57375
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -56825,7 +57777,7 @@ ParserInterpreter = __decorate([
56825
57777
  ], ParserInterpreter);
56826
57778
  exports.ParserInterpreter = ParserInterpreter;
56827
57779
 
56828
- },{"./Decorators":269,"./FailedPredicateException":273,"./InputMismatchException":274,"./InterpreterRuleContext":276,"./Parser":282,"./RecognitionException":288,"./Token":294,"./atn/ATNState":308,"./atn/ATNStateType":309,"./atn/LoopEndState":339,"./atn/ParserATNSimulator":343,"./atn/StarLoopEntryState":361,"./misc/BitSet":376}],285:[function(require,module,exports){
57780
+ },{"./Decorators":270,"./FailedPredicateException":274,"./InputMismatchException":275,"./InterpreterRuleContext":277,"./Parser":283,"./RecognitionException":289,"./Token":295,"./atn/ATNState":309,"./atn/ATNStateType":310,"./atn/LoopEndState":340,"./atn/ParserATNSimulator":344,"./atn/StarLoopEntryState":362,"./misc/BitSet":377}],286:[function(require,module,exports){
56829
57781
  "use strict";
56830
57782
  /*!
56831
57783
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57126,7 +58078,7 @@ __decorate([
57126
58078
  ], ParserRuleContext.prototype, "sourceInterval", null);
57127
58079
  exports.ParserRuleContext = ParserRuleContext;
57128
58080
 
57129
- },{"./Decorators":269,"./RuleContext":290,"./misc/Interval":381,"./tree/ErrorNode":390,"./tree/TerminalNode":392}],286:[function(require,module,exports){
58081
+ },{"./Decorators":270,"./RuleContext":291,"./misc/Interval":382,"./tree/ErrorNode":391,"./tree/TerminalNode":393}],287:[function(require,module,exports){
57130
58082
  "use strict";
57131
58083
  /*!
57132
58084
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57176,7 +58128,7 @@ __decorate([
57176
58128
  ], ProxyErrorListener.prototype, "syntaxError", null);
57177
58129
  exports.ProxyErrorListener = ProxyErrorListener;
57178
58130
 
57179
- },{"./Decorators":269}],287:[function(require,module,exports){
58131
+ },{"./Decorators":270}],288:[function(require,module,exports){
57180
58132
  "use strict";
57181
58133
  /*!
57182
58134
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57235,7 +58187,7 @@ __decorate([
57235
58187
  ], ProxyParserErrorListener.prototype, "reportContextSensitivity", null);
57236
58188
  exports.ProxyParserErrorListener = ProxyParserErrorListener;
57237
58189
 
57238
- },{"./Decorators":269,"./ProxyErrorListener":286}],288:[function(require,module,exports){
58190
+ },{"./Decorators":270,"./ProxyErrorListener":287}],289:[function(require,module,exports){
57239
58191
  "use strict";
57240
58192
  /*!
57241
58193
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57340,7 +58292,7 @@ class RecognitionException extends Error {
57340
58292
  }
57341
58293
  exports.RecognitionException = RecognitionException;
57342
58294
 
57343
- },{}],289:[function(require,module,exports){
58295
+ },{}],290:[function(require,module,exports){
57344
58296
  "use strict";
57345
58297
  /*!
57346
58298
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57559,7 +58511,7 @@ __decorate([
57559
58511
  ], Recognizer.prototype, "getErrorListeners", null);
57560
58512
  exports.Recognizer = Recognizer;
57561
58513
 
57562
- },{"./ConsoleErrorListener":268,"./Decorators":269,"./ProxyErrorListener":286,"./Token":294,"./misc/Utils":388}],290:[function(require,module,exports){
58514
+ },{"./ConsoleErrorListener":269,"./Decorators":270,"./ProxyErrorListener":287,"./Token":295,"./misc/Utils":389}],291:[function(require,module,exports){
57563
58515
  "use strict";
57564
58516
  /*!
57565
58517
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57776,7 +58728,7 @@ __decorate([
57776
58728
  ], RuleContext.prototype, "toStringTree", null);
57777
58729
  exports.RuleContext = RuleContext;
57778
58730
 
57779
- },{"./Decorators":269,"./ParserRuleContext":285,"./Recognizer":289,"./atn/ATN":302,"./misc/Interval":381,"./tree/RuleNode":391,"./tree/Trees":393}],291:[function(require,module,exports){
58731
+ },{"./Decorators":270,"./ParserRuleContext":286,"./Recognizer":290,"./atn/ATN":303,"./misc/Interval":382,"./tree/RuleNode":392,"./tree/Trees":394}],292:[function(require,module,exports){
57780
58732
  "use strict";
57781
58733
  /*!
57782
58734
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57827,7 +58779,7 @@ __decorate([
57827
58779
  ], RuleContextWithAltNum.prototype, "altNumber", null);
57828
58780
  exports.RuleContextWithAltNum = RuleContextWithAltNum;
57829
58781
 
57830
- },{"./Decorators":269,"./ParserRuleContext":285,"./atn/ATN":302}],292:[function(require,module,exports){
58782
+ },{"./Decorators":270,"./ParserRuleContext":286,"./atn/ATN":303}],293:[function(require,module,exports){
57831
58783
  "use strict";
57832
58784
  /*!
57833
58785
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57850,7 +58802,7 @@ function RuleDependency(dependency) {
57850
58802
  }
57851
58803
  exports.RuleDependency = RuleDependency;
57852
58804
 
57853
- },{}],293:[function(require,module,exports){
58805
+ },{}],294:[function(require,module,exports){
57854
58806
  "use strict";
57855
58807
  /*!
57856
58808
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57869,7 +58821,7 @@ function RuleVersion(version) {
57869
58821
  }
57870
58822
  exports.RuleVersion = RuleVersion;
57871
58823
 
57872
- },{}],294:[function(require,module,exports){
58824
+ },{}],295:[function(require,module,exports){
57873
58825
  "use strict";
57874
58826
  /*!
57875
58827
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57909,7 +58861,7 @@ var Token;
57909
58861
  Token.MIN_USER_CHANNEL_VALUE = 2;
57910
58862
  })(Token = exports.Token || (exports.Token = {}));
57911
58863
 
57912
- },{"./IntStream":275}],295:[function(require,module,exports){
58864
+ },{"./IntStream":276}],296:[function(require,module,exports){
57913
58865
  "use strict";
57914
58866
  /*!
57915
58867
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57917,7 +58869,7 @@ var Token;
57917
58869
  */
57918
58870
  Object.defineProperty(exports, "__esModule", { value: true });
57919
58871
 
57920
- },{}],296:[function(require,module,exports){
58872
+ },{}],297:[function(require,module,exports){
57921
58873
  "use strict";
57922
58874
  /*!
57923
58875
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57925,7 +58877,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
57925
58877
  */
57926
58878
  Object.defineProperty(exports, "__esModule", { value: true });
57927
58879
 
57928
- },{}],297:[function(require,module,exports){
58880
+ },{}],298:[function(require,module,exports){
57929
58881
  "use strict";
57930
58882
  /*!
57931
58883
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57933,7 +58885,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
57933
58885
  */
57934
58886
  Object.defineProperty(exports, "__esModule", { value: true });
57935
58887
 
57936
- },{}],298:[function(require,module,exports){
58888
+ },{}],299:[function(require,module,exports){
57937
58889
  "use strict";
57938
58890
  /*!
57939
58891
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -58441,7 +59393,7 @@ __decorate([
58441
59393
  Decorators_1.Override
58442
59394
  ], ReplaceOp.prototype, "toString", null);
58443
59395
 
58444
- },{"./Decorators":269,"./Token":294,"./misc/Interval":381}],299:[function(require,module,exports){
59396
+ },{"./Decorators":270,"./Token":295,"./misc/Interval":382}],300:[function(require,module,exports){
58445
59397
  "use strict";
58446
59398
  /*!
58447
59399
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -58449,7 +59401,7 @@ __decorate([
58449
59401
  */
58450
59402
  Object.defineProperty(exports, "__esModule", { value: true });
58451
59403
 
58452
- },{}],300:[function(require,module,exports){
59404
+ },{}],301:[function(require,module,exports){
58453
59405
  "use strict";
58454
59406
  /*!
58455
59407
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -58569,7 +59521,7 @@ __decorate([
58569
59521
  ], VocabularyImpl, "EMPTY_VOCABULARY", void 0);
58570
59522
  exports.VocabularyImpl = VocabularyImpl;
58571
59523
 
58572
- },{"./Decorators":269,"./Token":294}],301:[function(require,module,exports){
59524
+ },{"./Decorators":270,"./Token":295}],302:[function(require,module,exports){
58573
59525
  "use strict";
58574
59526
  /*!
58575
59527
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -58577,7 +59529,7 @@ exports.VocabularyImpl = VocabularyImpl;
58577
59529
  */
58578
59530
  Object.defineProperty(exports, "__esModule", { value: true });
58579
59531
 
58580
- },{}],302:[function(require,module,exports){
59532
+ },{}],303:[function(require,module,exports){
58581
59533
  "use strict";
58582
59534
  /*!
58583
59535
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -58799,7 +59751,7 @@ exports.ATN = ATN;
58799
59751
  })(ATN = exports.ATN || (exports.ATN = {}));
58800
59752
  exports.ATN = ATN;
58801
59753
 
58802
- },{"../Decorators":269,"../Token":294,"../dfa/DFA":367,"../misc/Array2DHashMap":372,"../misc/IntervalSet":382,"../misc/ObjectEqualityComparator":385,"./InvalidState":325,"./LL1Analyzer":326,"./PredictionContext":349,"assert":412}],303:[function(require,module,exports){
59754
+ },{"../Decorators":270,"../Token":295,"../dfa/DFA":368,"../misc/Array2DHashMap":373,"../misc/IntervalSet":383,"../misc/ObjectEqualityComparator":386,"./InvalidState":326,"./LL1Analyzer":327,"./PredictionContext":350,"assert":413}],304:[function(require,module,exports){
58803
59755
  "use strict";
58804
59756
  /*!
58805
59757
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -59324,7 +60276,7 @@ ActionSemanticContextATNConfig = __decorate([
59324
60276
  __param(1, Decorators_1.NotNull), __param(2, Decorators_1.NotNull)
59325
60277
  ], ActionSemanticContextATNConfig);
59326
60278
 
59327
- },{"../Decorators":269,"../misc/Array2DHashMap":372,"../misc/MurmurHash":384,"../misc/ObjectEqualityComparator":385,"./DecisionState":322,"./PredictionContext":349,"./SemanticContext":357,"assert":412}],304:[function(require,module,exports){
60279
+ },{"../Decorators":270,"../misc/Array2DHashMap":373,"../misc/MurmurHash":385,"../misc/ObjectEqualityComparator":386,"./DecisionState":323,"./PredictionContext":350,"./SemanticContext":358,"assert":413}],305:[function(require,module,exports){
59328
60280
  "use strict";
59329
60281
  /*!
59330
60282
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -59771,7 +60723,7 @@ __decorate([
59771
60723
  ], ATNConfigSet.prototype, "hashCode", null);
59772
60724
  exports.ATNConfigSet = ATNConfigSet;
59773
60725
 
59774
- },{"../Decorators":269,"../misc/Array2DHashMap":372,"../misc/Array2DHashSet":373,"../misc/ArrayEqualityComparator":374,"../misc/BitSet":376,"../misc/ObjectEqualityComparator":385,"../misc/Utils":388,"./ATN":302,"./ATNConfig":303,"./PredictionContext":349,"./PredictionContextCache":350,"./SemanticContext":357,"assert":412}],305:[function(require,module,exports){
60726
+ },{"../Decorators":270,"../misc/Array2DHashMap":373,"../misc/Array2DHashSet":374,"../misc/ArrayEqualityComparator":375,"../misc/BitSet":377,"../misc/ObjectEqualityComparator":386,"../misc/Utils":389,"./ATN":303,"./ATNConfig":304,"./PredictionContext":350,"./PredictionContextCache":351,"./SemanticContext":358,"assert":413}],306:[function(require,module,exports){
59775
60727
  "use strict";
59776
60728
  /*!
59777
60729
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -59850,7 +60802,7 @@ __decorate([
59850
60802
  ], ATNDeserializationOptions, "defaultOptions", null);
59851
60803
  exports.ATNDeserializationOptions = ATNDeserializationOptions;
59852
60804
 
59853
- },{"../Decorators":269}],306:[function(require,module,exports){
60805
+ },{"../Decorators":270}],307:[function(require,module,exports){
59854
60806
  "use strict";
59855
60807
  /*!
59856
60808
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -60937,7 +61889,7 @@ __decorate([
60937
61889
  ], ATNDeserializer.prototype, "edgeFactory", null);
60938
61890
  exports.ATNDeserializer = ATNDeserializer;
60939
61891
 
60940
- },{"../Decorators":269,"../Token":294,"../dfa/DFA":367,"../misc/Array2DHashSet":373,"../misc/BitSet":376,"../misc/IntervalSet":382,"../misc/UUID":387,"./ATN":302,"./ATNDeserializationOptions":305,"./ATNStateType":309,"./ActionTransition":311,"./AtomTransition":313,"./BasicBlockStartState":314,"./BasicState":315,"./BlockEndState":316,"./BlockStartState":317,"./DecisionState":322,"./EpsilonTransition":323,"./InvalidState":325,"./LexerChannelAction":329,"./LexerCustomAction":330,"./LexerModeAction":332,"./LexerMoreAction":333,"./LexerPopModeAction":334,"./LexerPushModeAction":335,"./LexerSkipAction":336,"./LexerTypeAction":337,"./LoopEndState":339,"./NotSetTransition":340,"./ParserATNSimulator":343,"./PlusBlockStartState":344,"./PlusLoopbackState":345,"./PrecedencePredicateTransition":346,"./PredicateTransition":348,"./RangeTransition":353,"./RuleStartState":354,"./RuleStopState":355,"./RuleTransition":356,"./SetTransition":358,"./StarBlockStartState":360,"./StarLoopEntryState":361,"./StarLoopbackState":362,"./TokensStartState":363,"./WildcardTransition":365}],307:[function(require,module,exports){
61892
+ },{"../Decorators":270,"../Token":295,"../dfa/DFA":368,"../misc/Array2DHashSet":374,"../misc/BitSet":377,"../misc/IntervalSet":383,"../misc/UUID":388,"./ATN":303,"./ATNDeserializationOptions":306,"./ATNStateType":310,"./ActionTransition":312,"./AtomTransition":314,"./BasicBlockStartState":315,"./BasicState":316,"./BlockEndState":317,"./BlockStartState":318,"./DecisionState":323,"./EpsilonTransition":324,"./InvalidState":326,"./LexerChannelAction":330,"./LexerCustomAction":331,"./LexerModeAction":333,"./LexerMoreAction":334,"./LexerPopModeAction":335,"./LexerPushModeAction":336,"./LexerSkipAction":337,"./LexerTypeAction":338,"./LoopEndState":340,"./NotSetTransition":341,"./ParserATNSimulator":344,"./PlusBlockStartState":345,"./PlusLoopbackState":346,"./PrecedencePredicateTransition":347,"./PredicateTransition":349,"./RangeTransition":354,"./RuleStartState":355,"./RuleStopState":356,"./RuleTransition":357,"./SetTransition":359,"./StarBlockStartState":361,"./StarLoopEntryState":362,"./StarLoopbackState":363,"./TokensStartState":364,"./WildcardTransition":366}],308:[function(require,module,exports){
60941
61893
  "use strict";
60942
61894
  /*!
60943
61895
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61001,7 +61953,7 @@ exports.ATNSimulator = ATNSimulator;
61001
61953
  })(ATNSimulator = exports.ATNSimulator || (exports.ATNSimulator = {}));
61002
61954
  exports.ATNSimulator = ATNSimulator;
61003
61955
 
61004
- },{"../Decorators":269,"../dfa/DFAState":369,"./ATNConfigSet":304,"./PredictionContext":349}],308:[function(require,module,exports){
61956
+ },{"../Decorators":270,"../dfa/DFAState":370,"./ATNConfigSet":305,"./PredictionContext":350}],309:[function(require,module,exports){
61005
61957
  "use strict";
61006
61958
  /*!
61007
61959
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61188,7 +62140,7 @@ exports.ATNState = ATNState;
61188
62140
  ATNState.INVALID_STATE_NUMBER = -1;
61189
62141
  })(ATNState = exports.ATNState || (exports.ATNState = {}));
61190
62142
 
61191
- },{"../Decorators":269}],309:[function(require,module,exports){
62143
+ },{"../Decorators":270}],310:[function(require,module,exports){
61192
62144
  "use strict";
61193
62145
  /*!
61194
62146
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61214,7 +62166,7 @@ var ATNStateType;
61214
62166
  ATNStateType[ATNStateType["LOOP_END"] = 12] = "LOOP_END";
61215
62167
  })(ATNStateType = exports.ATNStateType || (exports.ATNStateType = {}));
61216
62168
 
61217
- },{}],310:[function(require,module,exports){
62169
+ },{}],311:[function(require,module,exports){
61218
62170
  "use strict";
61219
62171
  /*!
61220
62172
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61234,7 +62186,7 @@ class AbstractPredicateTransition extends Transition_1.Transition {
61234
62186
  }
61235
62187
  exports.AbstractPredicateTransition = AbstractPredicateTransition;
61236
62188
 
61237
- },{"./Transition":364}],311:[function(require,module,exports){
62189
+ },{"./Transition":365}],312:[function(require,module,exports){
61238
62190
  "use strict";
61239
62191
  /*!
61240
62192
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61290,7 +62242,7 @@ ActionTransition = __decorate([
61290
62242
  ], ActionTransition);
61291
62243
  exports.ActionTransition = ActionTransition;
61292
62244
 
61293
- },{"../Decorators":269,"./Transition":364}],312:[function(require,module,exports){
62245
+ },{"../Decorators":270,"./Transition":365}],313:[function(require,module,exports){
61294
62246
  "use strict";
61295
62247
  /*!
61296
62248
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61377,7 +62329,7 @@ AmbiguityInfo = __decorate([
61377
62329
  ], AmbiguityInfo);
61378
62330
  exports.AmbiguityInfo = AmbiguityInfo;
61379
62331
 
61380
- },{"../Decorators":269,"./DecisionEventInfo":320}],313:[function(require,module,exports){
62332
+ },{"../Decorators":270,"./DecisionEventInfo":321}],314:[function(require,module,exports){
61381
62333
  "use strict";
61382
62334
  /*!
61383
62335
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61435,7 +62387,7 @@ AtomTransition = __decorate([
61435
62387
  ], AtomTransition);
61436
62388
  exports.AtomTransition = AtomTransition;
61437
62389
 
61438
- },{"../Decorators":269,"../misc/IntervalSet":382,"./Transition":364}],314:[function(require,module,exports){
62390
+ },{"../Decorators":270,"../misc/IntervalSet":383,"./Transition":365}],315:[function(require,module,exports){
61439
62391
  "use strict";
61440
62392
  /*!
61441
62393
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61467,7 +62419,7 @@ __decorate([
61467
62419
  ], BasicBlockStartState.prototype, "stateType", null);
61468
62420
  exports.BasicBlockStartState = BasicBlockStartState;
61469
62421
 
61470
- },{"../Decorators":269,"./ATNStateType":309,"./BlockStartState":317}],315:[function(require,module,exports){
62422
+ },{"../Decorators":270,"./ATNStateType":310,"./BlockStartState":318}],316:[function(require,module,exports){
61471
62423
  "use strict";
61472
62424
  /*!
61473
62425
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61499,7 +62451,7 @@ __decorate([
61499
62451
  ], BasicState.prototype, "stateType", null);
61500
62452
  exports.BasicState = BasicState;
61501
62453
 
61502
- },{"../Decorators":269,"./ATNState":308,"./ATNStateType":309}],316:[function(require,module,exports){
62454
+ },{"../Decorators":270,"./ATNState":309,"./ATNStateType":310}],317:[function(require,module,exports){
61503
62455
  "use strict";
61504
62456
  /*!
61505
62457
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61528,7 +62480,7 @@ __decorate([
61528
62480
  ], BlockEndState.prototype, "stateType", null);
61529
62481
  exports.BlockEndState = BlockEndState;
61530
62482
 
61531
- },{"../Decorators":269,"./ATNState":308,"./ATNStateType":309}],317:[function(require,module,exports){
62483
+ },{"../Decorators":270,"./ATNState":309,"./ATNStateType":310}],318:[function(require,module,exports){
61532
62484
  "use strict";
61533
62485
  /*!
61534
62486
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61542,7 +62494,7 @@ class BlockStartState extends DecisionState_1.DecisionState {
61542
62494
  }
61543
62495
  exports.BlockStartState = BlockStartState;
61544
62496
 
61545
- },{"./DecisionState":322}],318:[function(require,module,exports){
62497
+ },{"./DecisionState":323}],319:[function(require,module,exports){
61546
62498
  "use strict";
61547
62499
  /*!
61548
62500
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61612,7 +62564,7 @@ __decorate([
61612
62564
  ], ConflictInfo.prototype, "hashCode", null);
61613
62565
  exports.ConflictInfo = ConflictInfo;
61614
62566
 
61615
- },{"../Decorators":269,"../misc/Utils":388}],319:[function(require,module,exports){
62567
+ },{"../Decorators":270,"../misc/Utils":389}],320:[function(require,module,exports){
61616
62568
  "use strict";
61617
62569
  /*!
61618
62570
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61672,7 +62624,7 @@ ContextSensitivityInfo = __decorate([
61672
62624
  ], ContextSensitivityInfo);
61673
62625
  exports.ContextSensitivityInfo = ContextSensitivityInfo;
61674
62626
 
61675
- },{"../Decorators":269,"./DecisionEventInfo":320}],320:[function(require,module,exports){
62627
+ },{"../Decorators":270,"./DecisionEventInfo":321}],321:[function(require,module,exports){
61676
62628
  "use strict";
61677
62629
  /*!
61678
62630
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61724,7 +62676,7 @@ DecisionEventInfo = __decorate([
61724
62676
  ], DecisionEventInfo);
61725
62677
  exports.DecisionEventInfo = DecisionEventInfo;
61726
62678
 
61727
- },{"../Decorators":269}],321:[function(require,module,exports){
62679
+ },{"../Decorators":270}],322:[function(require,module,exports){
61728
62680
  "use strict";
61729
62681
  /*!
61730
62682
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61937,7 +62889,7 @@ __decorate([
61937
62889
  ], DecisionInfo.prototype, "toString", null);
61938
62890
  exports.DecisionInfo = DecisionInfo;
61939
62891
 
61940
- },{"../Decorators":269}],322:[function(require,module,exports){
62892
+ },{"../Decorators":270}],323:[function(require,module,exports){
61941
62893
  "use strict";
61942
62894
  /*!
61943
62895
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61957,7 +62909,7 @@ class DecisionState extends ATNState_1.ATNState {
61957
62909
  }
61958
62910
  exports.DecisionState = DecisionState;
61959
62911
 
61960
- },{"./ATNState":308}],323:[function(require,module,exports){
62912
+ },{"./ATNState":309}],324:[function(require,module,exports){
61961
62913
  "use strict";
61962
62914
  /*!
61963
62915
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -62023,7 +62975,7 @@ EpsilonTransition = __decorate([
62023
62975
  ], EpsilonTransition);
62024
62976
  exports.EpsilonTransition = EpsilonTransition;
62025
62977
 
62026
- },{"../Decorators":269,"./Transition":364}],324:[function(require,module,exports){
62978
+ },{"../Decorators":270,"./Transition":365}],325:[function(require,module,exports){
62027
62979
  "use strict";
62028
62980
  /*!
62029
62981
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -62076,7 +63028,7 @@ ErrorInfo = __decorate([
62076
63028
  ], ErrorInfo);
62077
63029
  exports.ErrorInfo = ErrorInfo;
62078
63030
 
62079
- },{"../Decorators":269,"./DecisionEventInfo":320}],325:[function(require,module,exports){
63031
+ },{"../Decorators":270,"./DecisionEventInfo":321}],326:[function(require,module,exports){
62080
63032
  "use strict";
62081
63033
  /*!
62082
63034
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -62107,7 +63059,7 @@ __decorate([
62107
63059
  ], InvalidState.prototype, "stateType", null);
62108
63060
  exports.InvalidState = InvalidState;
62109
63061
 
62110
- },{"../Decorators":269,"./ATNStateType":309,"./BasicState":315}],326:[function(require,module,exports){
63062
+ },{"../Decorators":270,"./ATNStateType":310,"./BasicState":316}],327:[function(require,module,exports){
62111
63063
  "use strict";
62112
63064
  /*!
62113
63065
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -62329,7 +63281,7 @@ LL1Analyzer = __decorate([
62329
63281
  ], LL1Analyzer);
62330
63282
  exports.LL1Analyzer = LL1Analyzer;
62331
63283
 
62332
- },{"../Decorators":269,"../Token":294,"../misc/Array2DHashSet":373,"../misc/BitSet":376,"../misc/IntervalSet":382,"../misc/ObjectEqualityComparator":385,"./ATNConfig":303,"./AbstractPredicateTransition":310,"./NotSetTransition":340,"./PredictionContext":349,"./RuleStopState":355,"./RuleTransition":356,"./WildcardTransition":365}],327:[function(require,module,exports){
63284
+ },{"../Decorators":270,"../Token":295,"../misc/Array2DHashSet":374,"../misc/BitSet":377,"../misc/IntervalSet":383,"../misc/ObjectEqualityComparator":386,"./ATNConfig":304,"./AbstractPredicateTransition":311,"./NotSetTransition":341,"./PredictionContext":350,"./RuleStopState":356,"./RuleTransition":357,"./WildcardTransition":366}],328:[function(require,module,exports){
62333
63285
  "use strict";
62334
63286
  /*!
62335
63287
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63046,7 +63998,7 @@ exports.LexerATNSimulator = LexerATNSimulator;
63046
63998
  })(LexerATNSimulator = exports.LexerATNSimulator || (exports.LexerATNSimulator = {}));
63047
63999
  exports.LexerATNSimulator = LexerATNSimulator;
63048
64000
 
63049
- },{"../Decorators":269,"../IntStream":275,"../Lexer":277,"../LexerNoViableAltException":279,"../Token":294,"../dfa/AcceptStateInfo":366,"../dfa/DFAState":369,"../misc/Interval":381,"./ATN":302,"./ATNConfig":303,"./ATNConfigSet":304,"./ATNSimulator":307,"./LexerActionExecutor":328,"./OrderedATNConfigSet":341,"./PredictionContext":349,"./RuleStopState":355,"assert":412}],328:[function(require,module,exports){
64001
+ },{"../Decorators":270,"../IntStream":276,"../Lexer":278,"../LexerNoViableAltException":280,"../Token":295,"../dfa/AcceptStateInfo":367,"../dfa/DFAState":370,"../misc/Interval":382,"./ATN":303,"./ATNConfig":304,"./ATNConfigSet":305,"./ATNSimulator":308,"./LexerActionExecutor":329,"./OrderedATNConfigSet":342,"./PredictionContext":350,"./RuleStopState":356,"assert":413}],329:[function(require,module,exports){
63050
64002
  "use strict";
63051
64003
  /*!
63052
64004
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63247,7 +64199,7 @@ LexerActionExecutor = __decorate([
63247
64199
  ], LexerActionExecutor);
63248
64200
  exports.LexerActionExecutor = LexerActionExecutor;
63249
64201
 
63250
- },{"../Decorators":269,"../misc/ArrayEqualityComparator":374,"../misc/MurmurHash":384,"./LexerIndexedCustomAction":331}],329:[function(require,module,exports){
64202
+ },{"../Decorators":270,"../misc/ArrayEqualityComparator":375,"../misc/MurmurHash":385,"./LexerIndexedCustomAction":332}],330:[function(require,module,exports){
63251
64203
  "use strict";
63252
64204
  /*!
63253
64205
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63352,7 +64304,7 @@ __decorate([
63352
64304
  ], LexerChannelAction.prototype, "toString", null);
63353
64305
  exports.LexerChannelAction = LexerChannelAction;
63354
64306
 
63355
- },{"../Decorators":269,"../misc/MurmurHash":384}],330:[function(require,module,exports){
64307
+ },{"../Decorators":270,"../misc/MurmurHash":385}],331:[function(require,module,exports){
63356
64308
  "use strict";
63357
64309
  /*!
63358
64310
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63481,7 +64433,7 @@ __decorate([
63481
64433
  ], LexerCustomAction.prototype, "equals", null);
63482
64434
  exports.LexerCustomAction = LexerCustomAction;
63483
64435
 
63484
- },{"../Decorators":269,"../misc/MurmurHash":384}],331:[function(require,module,exports){
64436
+ },{"../Decorators":270,"../misc/MurmurHash":385}],332:[function(require,module,exports){
63485
64437
  "use strict";
63486
64438
  /*!
63487
64439
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63616,7 +64568,7 @@ LexerIndexedCustomAction = __decorate([
63616
64568
  ], LexerIndexedCustomAction);
63617
64569
  exports.LexerIndexedCustomAction = LexerIndexedCustomAction;
63618
64570
 
63619
- },{"../Decorators":269,"../misc/MurmurHash":384}],332:[function(require,module,exports){
64571
+ },{"../Decorators":270,"../misc/MurmurHash":385}],333:[function(require,module,exports){
63620
64572
  "use strict";
63621
64573
  /*!
63622
64574
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63721,7 +64673,7 @@ __decorate([
63721
64673
  ], LexerModeAction.prototype, "toString", null);
63722
64674
  exports.LexerModeAction = LexerModeAction;
63723
64675
 
63724
- },{"../Decorators":269,"../misc/MurmurHash":384}],333:[function(require,module,exports){
64676
+ },{"../Decorators":270,"../misc/MurmurHash":385}],334:[function(require,module,exports){
63725
64677
  "use strict";
63726
64678
  /*!
63727
64679
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63817,7 +64769,7 @@ exports.LexerMoreAction = LexerMoreAction;
63817
64769
  LexerMoreAction.INSTANCE = new LexerMoreAction();
63818
64770
  })(LexerMoreAction = exports.LexerMoreAction || (exports.LexerMoreAction = {}));
63819
64771
 
63820
- },{"../Decorators":269,"../misc/MurmurHash":384}],334:[function(require,module,exports){
64772
+ },{"../Decorators":270,"../misc/MurmurHash":385}],335:[function(require,module,exports){
63821
64773
  "use strict";
63822
64774
  /*!
63823
64775
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63913,7 +64865,7 @@ exports.LexerPopModeAction = LexerPopModeAction;
63913
64865
  LexerPopModeAction.INSTANCE = new LexerPopModeAction();
63914
64866
  })(LexerPopModeAction = exports.LexerPopModeAction || (exports.LexerPopModeAction = {}));
63915
64867
 
63916
- },{"../Decorators":269,"../misc/MurmurHash":384}],335:[function(require,module,exports){
64868
+ },{"../Decorators":270,"../misc/MurmurHash":385}],336:[function(require,module,exports){
63917
64869
  "use strict";
63918
64870
  /*!
63919
64871
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64018,7 +64970,7 @@ __decorate([
64018
64970
  ], LexerPushModeAction.prototype, "toString", null);
64019
64971
  exports.LexerPushModeAction = LexerPushModeAction;
64020
64972
 
64021
- },{"../Decorators":269,"../misc/MurmurHash":384}],336:[function(require,module,exports){
64973
+ },{"../Decorators":270,"../misc/MurmurHash":385}],337:[function(require,module,exports){
64022
64974
  "use strict";
64023
64975
  /*!
64024
64976
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64114,7 +65066,7 @@ exports.LexerSkipAction = LexerSkipAction;
64114
65066
  LexerSkipAction.INSTANCE = new LexerSkipAction();
64115
65067
  })(LexerSkipAction = exports.LexerSkipAction || (exports.LexerSkipAction = {}));
64116
65068
 
64117
- },{"../Decorators":269,"../misc/MurmurHash":384}],337:[function(require,module,exports){
65069
+ },{"../Decorators":270,"../misc/MurmurHash":385}],338:[function(require,module,exports){
64118
65070
  "use strict";
64119
65071
  /*!
64120
65072
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64218,7 +65170,7 @@ __decorate([
64218
65170
  ], LexerTypeAction.prototype, "toString", null);
64219
65171
  exports.LexerTypeAction = LexerTypeAction;
64220
65172
 
64221
- },{"../Decorators":269,"../misc/MurmurHash":384}],338:[function(require,module,exports){
65173
+ },{"../Decorators":270,"../misc/MurmurHash":385}],339:[function(require,module,exports){
64222
65174
  "use strict";
64223
65175
  /*!
64224
65176
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64270,7 +65222,7 @@ LookaheadEventInfo = __decorate([
64270
65222
  ], LookaheadEventInfo);
64271
65223
  exports.LookaheadEventInfo = LookaheadEventInfo;
64272
65224
 
64273
- },{"../Decorators":269,"./DecisionEventInfo":320}],339:[function(require,module,exports){
65225
+ },{"../Decorators":270,"./DecisionEventInfo":321}],340:[function(require,module,exports){
64274
65226
  "use strict";
64275
65227
  /*!
64276
65228
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64299,7 +65251,7 @@ __decorate([
64299
65251
  ], LoopEndState.prototype, "stateType", null);
64300
65252
  exports.LoopEndState = LoopEndState;
64301
65253
 
64302
- },{"../Decorators":269,"./ATNState":308,"./ATNStateType":309}],340:[function(require,module,exports){
65254
+ },{"../Decorators":270,"./ATNState":309,"./ATNStateType":310}],341:[function(require,module,exports){
64303
65255
  "use strict";
64304
65256
  /*!
64305
65257
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64348,7 +65300,7 @@ NotSetTransition = __decorate([
64348
65300
  ], NotSetTransition);
64349
65301
  exports.NotSetTransition = NotSetTransition;
64350
65302
 
64351
- },{"../Decorators":269,"./SetTransition":358}],341:[function(require,module,exports){
65303
+ },{"../Decorators":270,"./SetTransition":359}],342:[function(require,module,exports){
64352
65304
  "use strict";
64353
65305
  /*!
64354
65306
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64403,7 +65355,7 @@ __decorate([
64403
65355
  ], OrderedATNConfigSet.prototype, "canMerge", null);
64404
65356
  exports.OrderedATNConfigSet = OrderedATNConfigSet;
64405
65357
 
64406
- },{"../Decorators":269,"./ATNConfigSet":304}],342:[function(require,module,exports){
65358
+ },{"../Decorators":270,"./ATNConfigSet":305}],343:[function(require,module,exports){
64407
65359
  "use strict";
64408
65360
  /*!
64409
65361
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64565,7 +65517,7 @@ ParseInfo = __decorate([
64565
65517
  ], ParseInfo);
64566
65518
  exports.ParseInfo = ParseInfo;
64567
65519
 
64568
- },{"../Decorators":269}],343:[function(require,module,exports){
65520
+ },{"../Decorators":270}],344:[function(require,module,exports){
64569
65521
  "use strict";
64570
65522
  /*!
64571
65523
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -66838,7 +67790,7 @@ ParserATNSimulator = __decorate([
66838
67790
  ], ParserATNSimulator);
66839
67791
  exports.ParserATNSimulator = ParserATNSimulator;
66840
67792
 
66841
- },{"../Decorators":269,"../IntStream":275,"../NoViableAltException":281,"../ParserRuleContext":285,"../Token":294,"../VocabularyImpl":300,"../dfa/AcceptStateInfo":366,"../dfa/DFAState":369,"../misc/Array2DHashSet":373,"../misc/Arrays":375,"../misc/BitSet":376,"../misc/IntegerList":379,"../misc/Interval":381,"../misc/ObjectEqualityComparator":385,"./ATN":302,"./ATNConfig":303,"./ATNConfigSet":304,"./ATNSimulator":307,"./ATNStateType":309,"./ActionTransition":311,"./AtomTransition":313,"./ConflictInfo":318,"./DecisionState":322,"./NotSetTransition":340,"./PredictionContext":349,"./PredictionContextCache":350,"./PredictionMode":351,"./RuleStopState":355,"./RuleTransition":356,"./SemanticContext":357,"./SetTransition":358,"./SimulatorState":359,"assert":412}],344:[function(require,module,exports){
67793
+ },{"../Decorators":270,"../IntStream":276,"../NoViableAltException":282,"../ParserRuleContext":286,"../Token":295,"../VocabularyImpl":301,"../dfa/AcceptStateInfo":367,"../dfa/DFAState":370,"../misc/Array2DHashSet":374,"../misc/Arrays":376,"../misc/BitSet":377,"../misc/IntegerList":380,"../misc/Interval":382,"../misc/ObjectEqualityComparator":386,"./ATN":303,"./ATNConfig":304,"./ATNConfigSet":305,"./ATNSimulator":308,"./ATNStateType":310,"./ActionTransition":312,"./AtomTransition":314,"./ConflictInfo":319,"./DecisionState":323,"./NotSetTransition":341,"./PredictionContext":350,"./PredictionContextCache":351,"./PredictionMode":352,"./RuleStopState":356,"./RuleTransition":357,"./SemanticContext":358,"./SetTransition":359,"./SimulatorState":360,"assert":413}],345:[function(require,module,exports){
66842
67794
  "use strict";
66843
67795
  /*!
66844
67796
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -66871,7 +67823,7 @@ __decorate([
66871
67823
  ], PlusBlockStartState.prototype, "stateType", null);
66872
67824
  exports.PlusBlockStartState = PlusBlockStartState;
66873
67825
 
66874
- },{"../Decorators":269,"./ATNStateType":309,"./BlockStartState":317}],345:[function(require,module,exports){
67826
+ },{"../Decorators":270,"./ATNStateType":310,"./BlockStartState":318}],346:[function(require,module,exports){
66875
67827
  "use strict";
66876
67828
  /*!
66877
67829
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -66902,7 +67854,7 @@ __decorate([
66902
67854
  ], PlusLoopbackState.prototype, "stateType", null);
66903
67855
  exports.PlusLoopbackState = PlusLoopbackState;
66904
67856
 
66905
- },{"../Decorators":269,"./ATNStateType":309,"./DecisionState":322}],346:[function(require,module,exports){
67857
+ },{"../Decorators":270,"./ATNStateType":310,"./DecisionState":323}],347:[function(require,module,exports){
66906
67858
  "use strict";
66907
67859
  /*!
66908
67860
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -66965,7 +67917,7 @@ PrecedencePredicateTransition = __decorate([
66965
67917
  ], PrecedencePredicateTransition);
66966
67918
  exports.PrecedencePredicateTransition = PrecedencePredicateTransition;
66967
67919
 
66968
- },{"../Decorators":269,"./AbstractPredicateTransition":310,"./SemanticContext":357}],347:[function(require,module,exports){
67920
+ },{"../Decorators":270,"./AbstractPredicateTransition":311,"./SemanticContext":358}],348:[function(require,module,exports){
66969
67921
  "use strict";
66970
67922
  /*!
66971
67923
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -67028,7 +67980,7 @@ PredicateEvalInfo = __decorate([
67028
67980
  ], PredicateEvalInfo);
67029
67981
  exports.PredicateEvalInfo = PredicateEvalInfo;
67030
67982
 
67031
- },{"../Decorators":269,"./DecisionEventInfo":320}],348:[function(require,module,exports){
67983
+ },{"../Decorators":270,"./DecisionEventInfo":321}],349:[function(require,module,exports){
67032
67984
  "use strict";
67033
67985
  /*!
67034
67986
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -67094,7 +68046,7 @@ PredicateTransition = __decorate([
67094
68046
  ], PredicateTransition);
67095
68047
  exports.PredicateTransition = PredicateTransition;
67096
68048
 
67097
- },{"../Decorators":269,"./AbstractPredicateTransition":310,"./SemanticContext":357}],349:[function(require,module,exports){
68049
+ },{"../Decorators":270,"./AbstractPredicateTransition":311,"./SemanticContext":358}],350:[function(require,module,exports){
67098
68050
  "use strict";
67099
68051
  /*!
67100
68052
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -67785,7 +68737,7 @@ exports.SingletonPredictionContext = SingletonPredictionContext;
67785
68737
  PredictionContext.IdentityEqualityComparator = IdentityEqualityComparator;
67786
68738
  })(PredictionContext = exports.PredictionContext || (exports.PredictionContext = {}));
67787
68739
 
67788
- },{"../Decorators":269,"../misc/Array2DHashMap":372,"../misc/Array2DHashSet":373,"../misc/Arrays":375,"../misc/MurmurHash":384,"./PredictionContextCache":350,"assert":412}],350:[function(require,module,exports){
68740
+ },{"../Decorators":270,"../misc/Array2DHashMap":373,"../misc/Array2DHashSet":374,"../misc/Arrays":376,"../misc/MurmurHash":385,"./PredictionContextCache":351,"assert":413}],351:[function(require,module,exports){
67789
68741
  "use strict";
67790
68742
  /*!
67791
68743
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -67926,7 +68878,7 @@ PredictionContextCache.UNCACHED = new PredictionContextCache(false);
67926
68878
  PredictionContextCache.IdentityCommutativePredictionContextOperands = IdentityCommutativePredictionContextOperands;
67927
68879
  })(PredictionContextCache = exports.PredictionContextCache || (exports.PredictionContextCache = {}));
67928
68880
 
67929
- },{"../Decorators":269,"../misc/Array2DHashMap":372,"../misc/ObjectEqualityComparator":385,"./PredictionContext":349,"assert":412}],351:[function(require,module,exports){
68881
+ },{"../Decorators":270,"../misc/Array2DHashMap":373,"../misc/ObjectEqualityComparator":386,"./PredictionContext":350,"assert":413}],352:[function(require,module,exports){
67930
68882
  "use strict";
67931
68883
  /*!
67932
68884
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -68087,7 +69039,7 @@ var PredictionMode;
68087
69039
  PredictionMode.allConfigsInRuleStopStates = allConfigsInRuleStopStates;
68088
69040
  })(PredictionMode = exports.PredictionMode || (exports.PredictionMode = {}));
68089
69041
 
68090
- },{"../Decorators":269,"../misc/Array2DHashMap":372,"../misc/MurmurHash":384,"./RuleStopState":355}],352:[function(require,module,exports){
69042
+ },{"../Decorators":270,"../misc/Array2DHashMap":373,"../misc/MurmurHash":385,"./RuleStopState":356}],353:[function(require,module,exports){
68091
69043
  (function (process){(function (){
68092
69044
  "use strict";
68093
69045
  /*!
@@ -68356,7 +69308,7 @@ __decorate([
68356
69308
  exports.ProfilingATNSimulator = ProfilingATNSimulator;
68357
69309
 
68358
69310
  }).call(this)}).call(this,require('_process'))
68359
- },{"../Decorators":269,"./ATN":302,"./ATNSimulator":307,"./AmbiguityInfo":312,"./ContextSensitivityInfo":319,"./DecisionInfo":321,"./ErrorInfo":324,"./LookaheadEventInfo":338,"./ParserATNSimulator":343,"./PredicateEvalInfo":347,"./SemanticContext":357,"./SimulatorState":359,"_process":471}],353:[function(require,module,exports){
69311
+ },{"../Decorators":270,"./ATN":303,"./ATNSimulator":308,"./AmbiguityInfo":313,"./ContextSensitivityInfo":320,"./DecisionInfo":322,"./ErrorInfo":325,"./LookaheadEventInfo":339,"./ParserATNSimulator":344,"./PredicateEvalInfo":348,"./SemanticContext":358,"./SimulatorState":360,"_process":472}],354:[function(require,module,exports){
68360
69312
  "use strict";
68361
69313
  /*!
68362
69314
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -68414,7 +69366,7 @@ RangeTransition = __decorate([
68414
69366
  ], RangeTransition);
68415
69367
  exports.RangeTransition = RangeTransition;
68416
69368
 
68417
- },{"../Decorators":269,"../misc/IntervalSet":382,"./Transition":364}],354:[function(require,module,exports){
69369
+ },{"../Decorators":270,"../misc/IntervalSet":383,"./Transition":365}],355:[function(require,module,exports){
68418
69370
  "use strict";
68419
69371
  /*!
68420
69372
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -68447,7 +69399,7 @@ __decorate([
68447
69399
  ], RuleStartState.prototype, "stateType", null);
68448
69400
  exports.RuleStartState = RuleStartState;
68449
69401
 
68450
- },{"../Decorators":269,"./ATNState":308,"./ATNStateType":309}],355:[function(require,module,exports){
69402
+ },{"../Decorators":270,"./ATNState":309,"./ATNStateType":310}],356:[function(require,module,exports){
68451
69403
  "use strict";
68452
69404
  /*!
68453
69405
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -68486,7 +69438,7 @@ __decorate([
68486
69438
  ], RuleStopState.prototype, "stateType", null);
68487
69439
  exports.RuleStopState = RuleStopState;
68488
69440
 
68489
- },{"../Decorators":269,"./ATNState":308,"./ATNStateType":309}],356:[function(require,module,exports){
69441
+ },{"../Decorators":270,"./ATNState":309,"./ATNStateType":310}],357:[function(require,module,exports){
68490
69442
  "use strict";
68491
69443
  /*!
68492
69444
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -68542,7 +69494,7 @@ RuleTransition = __decorate([
68542
69494
  ], RuleTransition);
68543
69495
  exports.RuleTransition = RuleTransition;
68544
69496
 
68545
- },{"../Decorators":269,"./Transition":364}],357:[function(require,module,exports){
69497
+ },{"../Decorators":270,"./Transition":365}],358:[function(require,module,exports){
68546
69498
  "use strict";
68547
69499
  /*!
68548
69500
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69022,7 +69974,7 @@ exports.SemanticContext = SemanticContext;
69022
69974
  SemanticContext.OR = OR;
69023
69975
  })(SemanticContext = exports.SemanticContext || (exports.SemanticContext = {}));
69024
69976
 
69025
- },{"../Decorators":269,"../misc/Array2DHashSet":373,"../misc/ArrayEqualityComparator":374,"../misc/MurmurHash":384,"../misc/ObjectEqualityComparator":385,"../misc/Utils":388}],358:[function(require,module,exports){
69977
+ },{"../Decorators":270,"../misc/Array2DHashSet":374,"../misc/ArrayEqualityComparator":375,"../misc/MurmurHash":385,"../misc/ObjectEqualityComparator":386,"../misc/Utils":389}],359:[function(require,module,exports){
69026
69978
  "use strict";
69027
69979
  /*!
69028
69980
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69088,7 +70040,7 @@ SetTransition = __decorate([
69088
70040
  ], SetTransition);
69089
70041
  exports.SetTransition = SetTransition;
69090
70042
 
69091
- },{"../Decorators":269,"../Token":294,"../misc/IntervalSet":382,"./Transition":364}],359:[function(require,module,exports){
70043
+ },{"../Decorators":270,"../Token":295,"../misc/IntervalSet":383,"./Transition":365}],360:[function(require,module,exports){
69092
70044
  "use strict";
69093
70045
  /*!
69094
70046
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69124,7 +70076,7 @@ SimulatorState = __decorate([
69124
70076
  ], SimulatorState);
69125
70077
  exports.SimulatorState = SimulatorState;
69126
70078
 
69127
- },{"../Decorators":269,"../ParserRuleContext":285}],360:[function(require,module,exports){
70079
+ },{"../Decorators":270,"../ParserRuleContext":286}],361:[function(require,module,exports){
69128
70080
  "use strict";
69129
70081
  /*!
69130
70082
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69152,7 +70104,7 @@ __decorate([
69152
70104
  ], StarBlockStartState.prototype, "stateType", null);
69153
70105
  exports.StarBlockStartState = StarBlockStartState;
69154
70106
 
69155
- },{"../Decorators":269,"./ATNStateType":309,"./BlockStartState":317}],361:[function(require,module,exports){
70107
+ },{"../Decorators":270,"./ATNStateType":310,"./BlockStartState":318}],362:[function(require,module,exports){
69156
70108
  "use strict";
69157
70109
  /*!
69158
70110
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69209,7 +70161,7 @@ __decorate([
69209
70161
  ], StarLoopEntryState.prototype, "stateType", null);
69210
70162
  exports.StarLoopEntryState = StarLoopEntryState;
69211
70163
 
69212
- },{"../Decorators":269,"../misc/BitSet":376,"./ATNStateType":309,"./DecisionState":322}],362:[function(require,module,exports){
70164
+ },{"../Decorators":270,"../misc/BitSet":377,"./ATNStateType":310,"./DecisionState":323}],363:[function(require,module,exports){
69213
70165
  "use strict";
69214
70166
  /*!
69215
70167
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69240,7 +70192,7 @@ __decorate([
69240
70192
  ], StarLoopbackState.prototype, "stateType", null);
69241
70193
  exports.StarLoopbackState = StarLoopbackState;
69242
70194
 
69243
- },{"../Decorators":269,"./ATNState":308,"./ATNStateType":309}],363:[function(require,module,exports){
70195
+ },{"../Decorators":270,"./ATNState":309,"./ATNStateType":310}],364:[function(require,module,exports){
69244
70196
  "use strict";
69245
70197
  /*!
69246
70198
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69269,7 +70221,7 @@ __decorate([
69269
70221
  ], TokensStartState.prototype, "stateType", null);
69270
70222
  exports.TokensStartState = TokensStartState;
69271
70223
 
69272
- },{"../Decorators":269,"./ATNStateType":309,"./DecisionState":322}],364:[function(require,module,exports){
70224
+ },{"../Decorators":270,"./ATNStateType":310,"./DecisionState":323}],365:[function(require,module,exports){
69273
70225
  "use strict";
69274
70226
  /*!
69275
70227
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69343,7 +70295,7 @@ Transition = __decorate([
69343
70295
  ], Transition);
69344
70296
  exports.Transition = Transition;
69345
70297
 
69346
- },{"../Decorators":269}],365:[function(require,module,exports){
70298
+ },{"../Decorators":270}],366:[function(require,module,exports){
69347
70299
  "use strict";
69348
70300
  /*!
69349
70301
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69391,7 +70343,7 @@ WildcardTransition = __decorate([
69391
70343
  ], WildcardTransition);
69392
70344
  exports.WildcardTransition = WildcardTransition;
69393
70345
 
69394
- },{"../Decorators":269,"./Transition":364}],366:[function(require,module,exports){
70346
+ },{"../Decorators":270,"./Transition":365}],367:[function(require,module,exports){
69395
70347
  "use strict";
69396
70348
  /*!
69397
70349
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69433,7 +70385,7 @@ class AcceptStateInfo {
69433
70385
  }
69434
70386
  exports.AcceptStateInfo = AcceptStateInfo;
69435
70387
 
69436
- },{}],367:[function(require,module,exports){
70388
+ },{}],368:[function(require,module,exports){
69437
70389
  "use strict";
69438
70390
  /*!
69439
70391
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69608,7 +70560,7 @@ DFA = __decorate([
69608
70560
  ], DFA);
69609
70561
  exports.DFA = DFA;
69610
70562
 
69611
- },{"../Decorators":269,"../VocabularyImpl":300,"../atn/ATNConfigSet":304,"../atn/StarLoopEntryState":361,"../misc/Array2DHashSet":373,"../misc/ObjectEqualityComparator":385,"./DFASerializer":368,"./DFAState":369,"./LexerDFASerializer":370}],368:[function(require,module,exports){
70563
+ },{"../Decorators":270,"../VocabularyImpl":301,"../atn/ATNConfigSet":305,"../atn/StarLoopEntryState":362,"../misc/Array2DHashSet":374,"../misc/ObjectEqualityComparator":386,"./DFASerializer":369,"./DFAState":370,"./LexerDFASerializer":371}],369:[function(require,module,exports){
69612
70564
  "use strict";
69613
70565
  /*!
69614
70566
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69750,7 +70702,7 @@ __decorate([
69750
70702
  ], DFASerializer.prototype, "toString", null);
69751
70703
  exports.DFASerializer = DFASerializer;
69752
70704
 
69753
- },{"../Decorators":269,"../Recognizer":289,"../VocabularyImpl":300,"../atn/ATNSimulator":307,"../atn/PredictionContext":349}],369:[function(require,module,exports){
70705
+ },{"../Decorators":270,"../Recognizer":290,"../VocabularyImpl":301,"../atn/ATNSimulator":308,"../atn/PredictionContext":350}],370:[function(require,module,exports){
69754
70706
  "use strict";
69755
70707
  /*!
69756
70708
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69981,7 +70933,7 @@ exports.DFAState = DFAState;
69981
70933
  DFAState.PredPrediction = PredPrediction;
69982
70934
  })(DFAState = exports.DFAState || (exports.DFAState = {}));
69983
70935
 
69984
- },{"../Decorators":269,"../atn/ATN":302,"../atn/PredictionContext":349,"../misc/BitSet":376,"../misc/MurmurHash":384,"assert":412}],370:[function(require,module,exports){
70936
+ },{"../Decorators":270,"../atn/ATN":303,"../atn/PredictionContext":350,"../misc/BitSet":377,"../misc/MurmurHash":385,"assert":413}],371:[function(require,module,exports){
69985
70937
  "use strict";
69986
70938
  /*!
69987
70939
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -70018,7 +70970,7 @@ LexerDFASerializer = __decorate([
70018
70970
  ], LexerDFASerializer);
70019
70971
  exports.LexerDFASerializer = LexerDFASerializer;
70020
70972
 
70021
- },{"../Decorators":269,"../VocabularyImpl":300,"./DFASerializer":368}],371:[function(require,module,exports){
70973
+ },{"../Decorators":270,"../VocabularyImpl":301,"./DFASerializer":369}],372:[function(require,module,exports){
70022
70974
  "use strict";
70023
70975
  /*!
70024
70976
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -70084,7 +71036,7 @@ __exportStar(require("./Vocabulary"), exports);
70084
71036
  __exportStar(require("./VocabularyImpl"), exports);
70085
71037
  __exportStar(require("./WritableToken"), exports);
70086
71038
 
70087
- },{"./ANTLRErrorListener":256,"./ANTLRErrorStrategy":257,"./ANTLRInputStream":258,"./BailErrorStrategy":259,"./BufferedTokenStream":260,"./CharStream":261,"./CharStreams":262,"./CodePointBuffer":263,"./CodePointCharStream":264,"./CommonToken":265,"./CommonTokenFactory":266,"./CommonTokenStream":267,"./ConsoleErrorListener":268,"./DefaultErrorStrategy":270,"./Dependents":271,"./DiagnosticErrorListener":272,"./FailedPredicateException":273,"./InputMismatchException":274,"./IntStream":275,"./InterpreterRuleContext":276,"./Lexer":277,"./LexerInterpreter":278,"./LexerNoViableAltException":279,"./ListTokenSource":280,"./NoViableAltException":281,"./Parser":282,"./ParserErrorListener":283,"./ParserInterpreter":284,"./ParserRuleContext":285,"./ProxyErrorListener":286,"./ProxyParserErrorListener":287,"./RecognitionException":288,"./Recognizer":289,"./RuleContext":290,"./RuleContextWithAltNum":291,"./RuleDependency":292,"./RuleVersion":293,"./Token":294,"./TokenFactory":295,"./TokenSource":296,"./TokenStream":297,"./TokenStreamRewriter":298,"./Vocabulary":299,"./VocabularyImpl":300,"./WritableToken":301}],372:[function(require,module,exports){
71039
+ },{"./ANTLRErrorListener":257,"./ANTLRErrorStrategy":258,"./ANTLRInputStream":259,"./BailErrorStrategy":260,"./BufferedTokenStream":261,"./CharStream":262,"./CharStreams":263,"./CodePointBuffer":264,"./CodePointCharStream":265,"./CommonToken":266,"./CommonTokenFactory":267,"./CommonTokenStream":268,"./ConsoleErrorListener":269,"./DefaultErrorStrategy":271,"./Dependents":272,"./DiagnosticErrorListener":273,"./FailedPredicateException":274,"./InputMismatchException":275,"./IntStream":276,"./InterpreterRuleContext":277,"./Lexer":278,"./LexerInterpreter":279,"./LexerNoViableAltException":280,"./ListTokenSource":281,"./NoViableAltException":282,"./Parser":283,"./ParserErrorListener":284,"./ParserInterpreter":285,"./ParserRuleContext":286,"./ProxyErrorListener":287,"./ProxyParserErrorListener":288,"./RecognitionException":289,"./Recognizer":290,"./RuleContext":291,"./RuleContextWithAltNum":292,"./RuleDependency":293,"./RuleVersion":294,"./Token":295,"./TokenFactory":296,"./TokenSource":297,"./TokenStream":298,"./TokenStreamRewriter":299,"./Vocabulary":300,"./VocabularyImpl":301,"./WritableToken":302}],373:[function(require,module,exports){
70088
71040
  "use strict";
70089
71041
  /*!
70090
71042
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -70167,7 +71119,7 @@ class Array2DHashMap {
70167
71119
  }
70168
71120
  exports.Array2DHashMap = Array2DHashMap;
70169
71121
 
70170
- },{"./Array2DHashSet":373}],373:[function(require,module,exports){
71122
+ },{"./Array2DHashSet":374}],374:[function(require,module,exports){
70171
71123
  "use strict";
70172
71124
  /*!
70173
71125
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -70534,7 +71486,7 @@ __decorate([
70534
71486
  ], Array2DHashSet.prototype, "createBuckets", null);
70535
71487
  exports.Array2DHashSet = Array2DHashSet;
70536
71488
 
70537
- },{"../Decorators":269,"./DefaultEqualityComparator":378,"./MurmurHash":384,"assert":412}],374:[function(require,module,exports){
71489
+ },{"../Decorators":270,"./DefaultEqualityComparator":379,"./MurmurHash":385,"assert":413}],375:[function(require,module,exports){
70538
71490
  "use strict";
70539
71491
  /*!
70540
71492
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -70606,7 +71558,7 @@ __decorate([
70606
71558
  ], ArrayEqualityComparator.prototype, "equals", null);
70607
71559
  exports.ArrayEqualityComparator = ArrayEqualityComparator;
70608
71560
 
70609
- },{"../Decorators":269,"./MurmurHash":384,"./ObjectEqualityComparator":385}],375:[function(require,module,exports){
71561
+ },{"../Decorators":270,"./MurmurHash":385,"./ObjectEqualityComparator":386}],376:[function(require,module,exports){
70610
71562
  "use strict";
70611
71563
  /*!
70612
71564
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -70676,7 +71628,7 @@ var Arrays;
70676
71628
  Arrays.toString = toString;
70677
71629
  })(Arrays = exports.Arrays || (exports.Arrays = {}));
70678
71630
 
70679
- },{}],376:[function(require,module,exports){
71631
+ },{}],377:[function(require,module,exports){
70680
71632
  "use strict";
70681
71633
  /*!
70682
71634
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -71348,7 +72300,7 @@ class BitSetIterator {
71348
72300
  [Symbol.iterator]() { return this; }
71349
72301
  }
71350
72302
 
71351
- },{"./MurmurHash":384,"util":476}],377:[function(require,module,exports){
72303
+ },{"./MurmurHash":385,"util":477}],378:[function(require,module,exports){
71352
72304
  "use strict";
71353
72305
  /*!
71354
72306
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -71369,7 +72321,7 @@ function isSupplementaryCodePoint(ch) {
71369
72321
  }
71370
72322
  exports.isSupplementaryCodePoint = isSupplementaryCodePoint;
71371
72323
 
71372
- },{}],378:[function(require,module,exports){
72324
+ },{}],379:[function(require,module,exports){
71373
72325
  "use strict";
71374
72326
  /*!
71375
72327
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -71440,7 +72392,7 @@ __decorate([
71440
72392
  ], DefaultEqualityComparator.prototype, "equals", null);
71441
72393
  exports.DefaultEqualityComparator = DefaultEqualityComparator;
71442
72394
 
71443
- },{"../Decorators":269,"./MurmurHash":384,"./ObjectEqualityComparator":385}],379:[function(require,module,exports){
72395
+ },{"../Decorators":270,"./MurmurHash":385,"./ObjectEqualityComparator":386}],380:[function(require,module,exports){
71444
72396
  "use strict";
71445
72397
  /*!
71446
72398
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -71734,7 +72686,7 @@ __decorate([
71734
72686
  ], IntegerList.prototype, "toString", null);
71735
72687
  exports.IntegerList = IntegerList;
71736
72688
 
71737
- },{"../Decorators":269,"./Arrays":375}],380:[function(require,module,exports){
72689
+ },{"../Decorators":270,"./Arrays":376}],381:[function(require,module,exports){
71738
72690
  "use strict";
71739
72691
  /*!
71740
72692
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -71764,7 +72716,7 @@ class IntegerStack extends IntegerList_1.IntegerList {
71764
72716
  }
71765
72717
  exports.IntegerStack = IntegerStack;
71766
72718
 
71767
- },{"./IntegerList":379}],381:[function(require,module,exports){
72719
+ },{"./IntegerList":380}],382:[function(require,module,exports){
71768
72720
  "use strict";
71769
72721
  /*!
71770
72722
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -71907,7 +72859,7 @@ __decorate([
71907
72859
  ], Interval.prototype, "toString", null);
71908
72860
  exports.Interval = Interval;
71909
72861
 
71910
- },{"../Decorators":269}],382:[function(require,module,exports){
72862
+ },{"../Decorators":270}],383:[function(require,module,exports){
71911
72863
  "use strict";
71912
72864
  /*!
71913
72865
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -72553,7 +73505,7 @@ __decorate([
72553
73505
  ], IntervalSet, "subtract", null);
72554
73506
  exports.IntervalSet = IntervalSet;
72555
73507
 
72556
- },{"../Decorators":269,"../Lexer":277,"../Token":294,"./ArrayEqualityComparator":374,"./IntegerList":379,"./Interval":381,"./MurmurHash":384}],383:[function(require,module,exports){
73508
+ },{"../Decorators":270,"../Lexer":278,"../Token":295,"./ArrayEqualityComparator":375,"./IntegerList":380,"./Interval":382,"./MurmurHash":385}],384:[function(require,module,exports){
72557
73509
  "use strict";
72558
73510
  /*!
72559
73511
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -72586,7 +73538,7 @@ class MultiMap extends Map {
72586
73538
  }
72587
73539
  exports.MultiMap = MultiMap;
72588
73540
 
72589
- },{}],384:[function(require,module,exports){
73541
+ },{}],385:[function(require,module,exports){
72590
73542
  "use strict";
72591
73543
  /*!
72592
73544
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -72701,7 +73653,7 @@ var MurmurHash;
72701
73653
  }
72702
73654
  })(MurmurHash = exports.MurmurHash || (exports.MurmurHash = {}));
72703
73655
 
72704
- },{}],385:[function(require,module,exports){
73656
+ },{}],386:[function(require,module,exports){
72705
73657
  "use strict";
72706
73658
  /*!
72707
73659
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -72760,7 +73712,7 @@ __decorate([
72760
73712
  ], ObjectEqualityComparator.prototype, "equals", null);
72761
73713
  exports.ObjectEqualityComparator = ObjectEqualityComparator;
72762
73714
 
72763
- },{"../Decorators":269}],386:[function(require,module,exports){
73715
+ },{"../Decorators":270}],387:[function(require,module,exports){
72764
73716
  "use strict";
72765
73717
  /*!
72766
73718
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -72789,7 +73741,7 @@ class ParseCancellationException extends Error {
72789
73741
  }
72790
73742
  exports.ParseCancellationException = ParseCancellationException;
72791
73743
 
72792
- },{}],387:[function(require,module,exports){
73744
+ },{}],388:[function(require,module,exports){
72793
73745
  "use strict";
72794
73746
  /*!
72795
73747
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -72843,7 +73795,7 @@ class UUID {
72843
73795
  }
72844
73796
  exports.UUID = UUID;
72845
73797
 
72846
- },{"./MurmurHash":384}],388:[function(require,module,exports){
73798
+ },{"./MurmurHash":385}],389:[function(require,module,exports){
72847
73799
  "use strict";
72848
73800
  /*!
72849
73801
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73018,7 +73970,7 @@ exports.toCharArray = toCharArray;
73018
73970
  // return s;
73019
73971
  // }
73020
73972
 
73021
- },{}],389:[function(require,module,exports){
73973
+ },{}],390:[function(require,module,exports){
73022
73974
  "use strict";
73023
73975
  /*!
73024
73976
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73163,7 +74115,7 @@ __decorate([
73163
74115
  ], AbstractParseTreeVisitor.prototype, "shouldVisitNextChild", null);
73164
74116
  exports.AbstractParseTreeVisitor = AbstractParseTreeVisitor;
73165
74117
 
73166
- },{"../Decorators":269}],390:[function(require,module,exports){
74118
+ },{"../Decorators":270}],391:[function(require,module,exports){
73167
74119
  "use strict";
73168
74120
  /*!
73169
74121
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73199,7 +74151,7 @@ __decorate([
73199
74151
  ], ErrorNode.prototype, "accept", null);
73200
74152
  exports.ErrorNode = ErrorNode;
73201
74153
 
73202
- },{"../Decorators":269,"./TerminalNode":392}],391:[function(require,module,exports){
74154
+ },{"../Decorators":270,"./TerminalNode":393}],392:[function(require,module,exports){
73203
74155
  "use strict";
73204
74156
  /*!
73205
74157
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73211,7 +74163,7 @@ class RuleNode {
73211
74163
  }
73212
74164
  exports.RuleNode = RuleNode;
73213
74165
 
73214
- },{}],392:[function(require,module,exports){
74166
+ },{}],393:[function(require,module,exports){
73215
74167
  "use strict";
73216
74168
  /*!
73217
74169
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73303,7 +74255,7 @@ __decorate([
73303
74255
  ], TerminalNode.prototype, "toString", null);
73304
74256
  exports.TerminalNode = TerminalNode;
73305
74257
 
73306
- },{"../Decorators":269,"../Token":294,"../misc/Interval":381}],393:[function(require,module,exports){
74258
+ },{"../Decorators":270,"../Token":295,"../misc/Interval":382}],394:[function(require,module,exports){
73307
74259
  "use strict";
73308
74260
  /*!
73309
74261
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73547,7 +74499,7 @@ __decorate([
73547
74499
  ], Trees, "getRootOfSubtreeEnclosingRegion", null);
73548
74500
  exports.Trees = Trees;
73549
74501
 
73550
- },{"../CommonToken":265,"../Decorators":269,"../Parser":282,"../ParserRuleContext":285,"../Token":294,"../atn/ATN":302,"../misc/Utils":388,"./ErrorNode":390,"./RuleNode":391,"./TerminalNode":392}],394:[function(require,module,exports){
74502
+ },{"../CommonToken":266,"../Decorators":270,"../Parser":283,"../ParserRuleContext":286,"../Token":295,"../atn/ATN":303,"../misc/Utils":389,"./ErrorNode":391,"./RuleNode":392,"./TerminalNode":393}],395:[function(require,module,exports){
73551
74503
  "use strict";
73552
74504
  /*!
73553
74505
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73571,7 +74523,7 @@ class Chunk {
73571
74523
  }
73572
74524
  exports.Chunk = Chunk;
73573
74525
 
73574
- },{}],395:[function(require,module,exports){
74526
+ },{}],396:[function(require,module,exports){
73575
74527
  "use strict";
73576
74528
  /*!
73577
74529
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73751,7 +74703,7 @@ ParseTreeMatch = __decorate([
73751
74703
  ], ParseTreeMatch);
73752
74704
  exports.ParseTreeMatch = ParseTreeMatch;
73753
74705
 
73754
- },{"../../Decorators":269}],396:[function(require,module,exports){
74706
+ },{"../../Decorators":270}],397:[function(require,module,exports){
73755
74707
  "use strict";
73756
74708
  /*!
73757
74709
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73909,7 +74861,7 @@ ParseTreePattern = __decorate([
73909
74861
  ], ParseTreePattern);
73910
74862
  exports.ParseTreePattern = ParseTreePattern;
73911
74863
 
73912
- },{"../../Decorators":269,"../xpath/XPath":402}],397:[function(require,module,exports){
74864
+ },{"../../Decorators":270,"../xpath/XPath":403}],398:[function(require,module,exports){
73913
74865
  "use strict";
73914
74866
  /*!
73915
74867
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -74387,7 +75339,7 @@ exports.ParseTreePatternMatcher = ParseTreePatternMatcher;
74387
75339
  ParseTreePatternMatcher.StartRuleDoesNotConsumeFullPattern = StartRuleDoesNotConsumeFullPattern;
74388
75340
  })(ParseTreePatternMatcher = exports.ParseTreePatternMatcher || (exports.ParseTreePatternMatcher = {}));
74389
75341
 
74390
- },{"../../BailErrorStrategy":259,"../../CharStreams":262,"../../CommonTokenStream":267,"../../Decorators":269,"../../ListTokenSource":280,"../../ParserInterpreter":284,"../../ParserRuleContext":285,"../../RecognitionException":288,"../../Token":294,"../../misc/MultiMap":383,"../../misc/ParseCancellationException":386,"../RuleNode":391,"../TerminalNode":392,"./ParseTreeMatch":395,"./ParseTreePattern":396,"./RuleTagToken":398,"./TagChunk":399,"./TextChunk":400,"./TokenTagToken":401}],398:[function(require,module,exports){
75342
+ },{"../../BailErrorStrategy":260,"../../CharStreams":263,"../../CommonTokenStream":268,"../../Decorators":270,"../../ListTokenSource":281,"../../ParserInterpreter":285,"../../ParserRuleContext":286,"../../RecognitionException":289,"../../Token":295,"../../misc/MultiMap":384,"../../misc/ParseCancellationException":387,"../RuleNode":392,"../TerminalNode":393,"./ParseTreeMatch":396,"./ParseTreePattern":397,"./RuleTagToken":399,"./TagChunk":400,"./TextChunk":401,"./TokenTagToken":402}],399:[function(require,module,exports){
74391
75343
  "use strict";
74392
75344
  /*!
74393
75345
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -74585,7 +75537,7 @@ RuleTagToken = __decorate([
74585
75537
  ], RuleTagToken);
74586
75538
  exports.RuleTagToken = RuleTagToken;
74587
75539
 
74588
- },{"../../Decorators":269,"../../Token":294}],399:[function(require,module,exports){
75540
+ },{"../../Decorators":270,"../../Token":295}],400:[function(require,module,exports){
74589
75541
  "use strict";
74590
75542
  /*!
74591
75543
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -74672,7 +75624,7 @@ __decorate([
74672
75624
  ], TagChunk.prototype, "toString", null);
74673
75625
  exports.TagChunk = TagChunk;
74674
75626
 
74675
- },{"../../Decorators":269,"./Chunk":394}],400:[function(require,module,exports){
75627
+ },{"../../Decorators":270,"./Chunk":395}],401:[function(require,module,exports){
74676
75628
  "use strict";
74677
75629
  /*!
74678
75630
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -74742,7 +75694,7 @@ TextChunk = __decorate([
74742
75694
  ], TextChunk);
74743
75695
  exports.TextChunk = TextChunk;
74744
75696
 
74745
- },{"../../Decorators":269,"./Chunk":394}],401:[function(require,module,exports){
75697
+ },{"../../Decorators":270,"./Chunk":395}],402:[function(require,module,exports){
74746
75698
  "use strict";
74747
75699
  /*!
74748
75700
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -74837,7 +75789,7 @@ TokenTagToken = __decorate([
74837
75789
  ], TokenTagToken);
74838
75790
  exports.TokenTagToken = TokenTagToken;
74839
75791
 
74840
- },{"../../CommonToken":265,"../../Decorators":269}],402:[function(require,module,exports){
75792
+ },{"../../CommonToken":266,"../../Decorators":270}],403:[function(require,module,exports){
74841
75793
  "use strict";
74842
75794
  /*!
74843
75795
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75034,7 +75986,7 @@ exports.XPath = XPath;
75034
75986
  XPath.WILDCARD = "*"; // word not operator/separator
75035
75987
  XPath.NOT = "!"; // word for invert operator
75036
75988
 
75037
- },{"../../CharStreams":262,"../../CommonTokenStream":267,"../../LexerNoViableAltException":279,"../../ParserRuleContext":285,"../../Token":294,"./XPathLexer":404,"./XPathLexerErrorListener":405,"./XPathRuleAnywhereElement":406,"./XPathRuleElement":407,"./XPathTokenAnywhereElement":408,"./XPathTokenElement":409,"./XPathWildcardAnywhereElement":410,"./XPathWildcardElement":411}],403:[function(require,module,exports){
75989
+ },{"../../CharStreams":263,"../../CommonTokenStream":268,"../../LexerNoViableAltException":280,"../../ParserRuleContext":286,"../../Token":295,"./XPathLexer":405,"./XPathLexerErrorListener":406,"./XPathRuleAnywhereElement":407,"./XPathRuleElement":408,"./XPathTokenAnywhereElement":409,"./XPathTokenElement":410,"./XPathWildcardAnywhereElement":411,"./XPathWildcardElement":412}],404:[function(require,module,exports){
75038
75990
  "use strict";
75039
75991
  /*!
75040
75992
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75069,7 +76021,7 @@ __decorate([
75069
76021
  ], XPathElement.prototype, "toString", null);
75070
76022
  exports.XPathElement = XPathElement;
75071
76023
 
75072
- },{"../../Decorators":269}],404:[function(require,module,exports){
76024
+ },{"../../Decorators":270}],405:[function(require,module,exports){
75073
76025
  "use strict";
75074
76026
  // Generated from XPathLexer.g4 by ANTLR 4.9.0-SNAPSHOT
75075
76027
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -75544,7 +76496,7 @@ XPathLexer._serializedATN = Utils.join([
75544
76496
  XPathLexer._serializedATNSegment1,
75545
76497
  ], "");
75546
76498
 
75547
- },{"../../Lexer":277,"../../VocabularyImpl":300,"../../atn/ATNDeserializer":306,"../../atn/LexerATNSimulator":327,"../../misc/Utils":388}],405:[function(require,module,exports){
76499
+ },{"../../Lexer":278,"../../VocabularyImpl":301,"../../atn/ATNDeserializer":307,"../../atn/LexerATNSimulator":328,"../../misc/Utils":389}],406:[function(require,module,exports){
75548
76500
  "use strict";
75549
76501
  /*!
75550
76502
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75569,7 +76521,7 @@ __decorate([
75569
76521
  ], XPathLexerErrorListener.prototype, "syntaxError", null);
75570
76522
  exports.XPathLexerErrorListener = XPathLexerErrorListener;
75571
76523
 
75572
- },{"../../Decorators":269}],406:[function(require,module,exports){
76524
+ },{"../../Decorators":270}],407:[function(require,module,exports){
75573
76525
  "use strict";
75574
76526
  /*!
75575
76527
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75603,7 +76555,7 @@ __decorate([
75603
76555
  ], XPathRuleAnywhereElement.prototype, "evaluate", null);
75604
76556
  exports.XPathRuleAnywhereElement = XPathRuleAnywhereElement;
75605
76557
 
75606
- },{"../../Decorators":269,"../Trees":393,"./XPathElement":403}],407:[function(require,module,exports){
76558
+ },{"../../Decorators":270,"../Trees":394,"./XPathElement":404}],408:[function(require,module,exports){
75607
76559
  "use strict";
75608
76560
  /*!
75609
76561
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75646,7 +76598,7 @@ __decorate([
75646
76598
  ], XPathRuleElement.prototype, "evaluate", null);
75647
76599
  exports.XPathRuleElement = XPathRuleElement;
75648
76600
 
75649
- },{"../../Decorators":269,"../../ParserRuleContext":285,"../Trees":393,"./XPathElement":403}],408:[function(require,module,exports){
76601
+ },{"../../Decorators":270,"../../ParserRuleContext":286,"../Trees":394,"./XPathElement":404}],409:[function(require,module,exports){
75650
76602
  "use strict";
75651
76603
  /*!
75652
76604
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75678,7 +76630,7 @@ __decorate([
75678
76630
  ], XPathTokenAnywhereElement.prototype, "evaluate", null);
75679
76631
  exports.XPathTokenAnywhereElement = XPathTokenAnywhereElement;
75680
76632
 
75681
- },{"../../Decorators":269,"../Trees":393,"./XPathElement":403}],409:[function(require,module,exports){
76633
+ },{"../../Decorators":270,"../Trees":394,"./XPathElement":404}],410:[function(require,module,exports){
75682
76634
  "use strict";
75683
76635
  /*!
75684
76636
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75721,7 +76673,7 @@ __decorate([
75721
76673
  ], XPathTokenElement.prototype, "evaluate", null);
75722
76674
  exports.XPathTokenElement = XPathTokenElement;
75723
76675
 
75724
- },{"../../Decorators":269,"../TerminalNode":392,"../Trees":393,"./XPathElement":403}],410:[function(require,module,exports){
76676
+ },{"../../Decorators":270,"../TerminalNode":393,"../Trees":394,"./XPathElement":404}],411:[function(require,module,exports){
75725
76677
  "use strict";
75726
76678
  /*!
75727
76679
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75757,7 +76709,7 @@ __decorate([
75757
76709
  ], XPathWildcardAnywhereElement.prototype, "evaluate", null);
75758
76710
  exports.XPathWildcardAnywhereElement = XPathWildcardAnywhereElement;
75759
76711
 
75760
- },{"../../Decorators":269,"../Trees":393,"./XPath":402,"./XPathElement":403}],411:[function(require,module,exports){
76712
+ },{"../../Decorators":270,"../Trees":394,"./XPath":403,"./XPathElement":404}],412:[function(require,module,exports){
75761
76713
  "use strict";
75762
76714
  /*!
75763
76715
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75797,7 +76749,7 @@ __decorate([
75797
76749
  ], XPathWildcardElement.prototype, "evaluate", null);
75798
76750
  exports.XPathWildcardElement = XPathWildcardElement;
75799
76751
 
75800
- },{"../../Decorators":269,"../Trees":393,"./XPath":402,"./XPathElement":403}],412:[function(require,module,exports){
76752
+ },{"../../Decorators":270,"../Trees":394,"./XPath":403,"./XPathElement":404}],413:[function(require,module,exports){
75801
76753
  (function (global){(function (){
75802
76754
  'use strict';
75803
76755
 
@@ -76307,7 +77259,7 @@ var objectKeys = Object.keys || function (obj) {
76307
77259
  };
76308
77260
 
76309
77261
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
76310
- },{"object.assign/polyfill":469,"util/":415}],413:[function(require,module,exports){
77262
+ },{"object.assign/polyfill":470,"util/":416}],414:[function(require,module,exports){
76311
77263
  if (typeof Object.create === 'function') {
76312
77264
  // implementation from standard node.js 'util' module
76313
77265
  module.exports = function inherits(ctor, superCtor) {
@@ -76332,14 +77284,14 @@ if (typeof Object.create === 'function') {
76332
77284
  }
76333
77285
  }
76334
77286
 
76335
- },{}],414:[function(require,module,exports){
77287
+ },{}],415:[function(require,module,exports){
76336
77288
  module.exports = function isBuffer(arg) {
76337
77289
  return arg && typeof arg === 'object'
76338
77290
  && typeof arg.copy === 'function'
76339
77291
  && typeof arg.fill === 'function'
76340
77292
  && typeof arg.readUInt8 === 'function';
76341
77293
  }
76342
- },{}],415:[function(require,module,exports){
77294
+ },{}],416:[function(require,module,exports){
76343
77295
  (function (process,global){(function (){
76344
77296
  // Copyright Joyent, Inc. and other Node contributors.
76345
77297
  //
@@ -76929,7 +77881,7 @@ function hasOwnProperty(obj, prop) {
76929
77881
  }
76930
77882
 
76931
77883
  }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
76932
- },{"./support/isBuffer":414,"_process":471,"inherits":413}],416:[function(require,module,exports){
77884
+ },{"./support/isBuffer":415,"_process":472,"inherits":414}],417:[function(require,module,exports){
76933
77885
  (function (global){(function (){
76934
77886
  'use strict';
76935
77887
 
@@ -76950,7 +77902,7 @@ module.exports = function availableTypedArrays() {
76950
77902
  };
76951
77903
 
76952
77904
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
76953
- },{"possible-typed-array-names":470}],417:[function(require,module,exports){
77905
+ },{"possible-typed-array-names":471}],418:[function(require,module,exports){
76954
77906
  (function (process,global){(function (){
76955
77907
  module.exports = process.hrtime || hrtime
76956
77908
 
@@ -76981,7 +77933,7 @@ function hrtime(previousTimestamp){
76981
77933
  return [seconds,nanoseconds]
76982
77934
  }
76983
77935
  }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
76984
- },{"_process":471}],418:[function(require,module,exports){
77936
+ },{"_process":472}],419:[function(require,module,exports){
76985
77937
  'use strict';
76986
77938
 
76987
77939
  var bind = require('function-bind');
@@ -76993,7 +77945,7 @@ var $reflectApply = require('./reflectApply');
76993
77945
  /** @type {import('./actualApply')} */
76994
77946
  module.exports = $reflectApply || bind.call($call, $apply);
76995
77947
 
76996
- },{"./functionApply":420,"./functionCall":421,"./reflectApply":423,"function-bind":439}],419:[function(require,module,exports){
77948
+ },{"./functionApply":421,"./functionCall":422,"./reflectApply":424,"function-bind":440}],420:[function(require,module,exports){
76997
77949
  'use strict';
76998
77950
 
76999
77951
  var bind = require('function-bind');
@@ -77005,19 +77957,19 @@ module.exports = function applyBind() {
77005
77957
  return actualApply(bind, $apply, arguments);
77006
77958
  };
77007
77959
 
77008
- },{"./actualApply":418,"./functionApply":420,"function-bind":439}],420:[function(require,module,exports){
77960
+ },{"./actualApply":419,"./functionApply":421,"function-bind":440}],421:[function(require,module,exports){
77009
77961
  'use strict';
77010
77962
 
77011
77963
  /** @type {import('./functionApply')} */
77012
77964
  module.exports = Function.prototype.apply;
77013
77965
 
77014
- },{}],421:[function(require,module,exports){
77966
+ },{}],422:[function(require,module,exports){
77015
77967
  'use strict';
77016
77968
 
77017
77969
  /** @type {import('./functionCall')} */
77018
77970
  module.exports = Function.prototype.call;
77019
77971
 
77020
- },{}],422:[function(require,module,exports){
77972
+ },{}],423:[function(require,module,exports){
77021
77973
  'use strict';
77022
77974
 
77023
77975
  var bind = require('function-bind');
@@ -77034,13 +77986,13 @@ module.exports = function callBindBasic(args) {
77034
77986
  return $actualApply(bind, $call, args);
77035
77987
  };
77036
77988
 
77037
- },{"./actualApply":418,"./functionCall":421,"es-errors/type":434,"function-bind":439}],423:[function(require,module,exports){
77989
+ },{"./actualApply":419,"./functionCall":422,"es-errors/type":435,"function-bind":440}],424:[function(require,module,exports){
77038
77990
  'use strict';
77039
77991
 
77040
77992
  /** @type {import('./reflectApply')} */
77041
77993
  module.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;
77042
77994
 
77043
- },{}],424:[function(require,module,exports){
77995
+ },{}],425:[function(require,module,exports){
77044
77996
  'use strict';
77045
77997
 
77046
77998
  var setFunctionLength = require('set-function-length');
@@ -77066,7 +78018,7 @@ if ($defineProperty) {
77066
78018
  module.exports.apply = applyBind;
77067
78019
  }
77068
78020
 
77069
- },{"call-bind-apply-helpers":422,"call-bind-apply-helpers/applyBind":419,"es-define-property":428,"set-function-length":473}],425:[function(require,module,exports){
78021
+ },{"call-bind-apply-helpers":423,"call-bind-apply-helpers/applyBind":420,"es-define-property":429,"set-function-length":474}],426:[function(require,module,exports){
77070
78022
  'use strict';
77071
78023
 
77072
78024
  var GetIntrinsic = require('get-intrinsic');
@@ -77087,7 +78039,7 @@ module.exports = function callBoundIntrinsic(name, allowMissing) {
77087
78039
  return intrinsic;
77088
78040
  };
77089
78041
 
77090
- },{"call-bind-apply-helpers":422,"get-intrinsic":440}],426:[function(require,module,exports){
78042
+ },{"call-bind-apply-helpers":423,"get-intrinsic":441}],427:[function(require,module,exports){
77091
78043
  'use strict';
77092
78044
 
77093
78045
  var $defineProperty = require('es-define-property');
@@ -77145,7 +78097,7 @@ module.exports = function defineDataProperty(
77145
78097
  }
77146
78098
  };
77147
78099
 
77148
- },{"es-define-property":428,"es-errors/syntax":433,"es-errors/type":434,"gopd":445}],427:[function(require,module,exports){
78100
+ },{"es-define-property":429,"es-errors/syntax":434,"es-errors/type":435,"gopd":446}],428:[function(require,module,exports){
77149
78101
  'use strict';
77150
78102
 
77151
78103
  var callBind = require('call-bind-apply-helpers');
@@ -77177,7 +78129,7 @@ module.exports = desc && typeof desc.get === 'function'
77177
78129
  }
77178
78130
  : false;
77179
78131
 
77180
- },{"call-bind-apply-helpers":422,"gopd":445}],428:[function(require,module,exports){
78132
+ },{"call-bind-apply-helpers":423,"gopd":446}],429:[function(require,module,exports){
77181
78133
  'use strict';
77182
78134
 
77183
78135
  /** @type {import('.')} */
@@ -77193,55 +78145,55 @@ if ($defineProperty) {
77193
78145
 
77194
78146
  module.exports = $defineProperty;
77195
78147
 
77196
- },{}],429:[function(require,module,exports){
78148
+ },{}],430:[function(require,module,exports){
77197
78149
  'use strict';
77198
78150
 
77199
78151
  /** @type {import('./eval')} */
77200
78152
  module.exports = EvalError;
77201
78153
 
77202
- },{}],430:[function(require,module,exports){
78154
+ },{}],431:[function(require,module,exports){
77203
78155
  'use strict';
77204
78156
 
77205
78157
  /** @type {import('.')} */
77206
78158
  module.exports = Error;
77207
78159
 
77208
- },{}],431:[function(require,module,exports){
78160
+ },{}],432:[function(require,module,exports){
77209
78161
  'use strict';
77210
78162
 
77211
78163
  /** @type {import('./range')} */
77212
78164
  module.exports = RangeError;
77213
78165
 
77214
- },{}],432:[function(require,module,exports){
78166
+ },{}],433:[function(require,module,exports){
77215
78167
  'use strict';
77216
78168
 
77217
78169
  /** @type {import('./ref')} */
77218
78170
  module.exports = ReferenceError;
77219
78171
 
77220
- },{}],433:[function(require,module,exports){
78172
+ },{}],434:[function(require,module,exports){
77221
78173
  'use strict';
77222
78174
 
77223
78175
  /** @type {import('./syntax')} */
77224
78176
  module.exports = SyntaxError;
77225
78177
 
77226
- },{}],434:[function(require,module,exports){
78178
+ },{}],435:[function(require,module,exports){
77227
78179
  'use strict';
77228
78180
 
77229
78181
  /** @type {import('./type')} */
77230
78182
  module.exports = TypeError;
77231
78183
 
77232
- },{}],435:[function(require,module,exports){
78184
+ },{}],436:[function(require,module,exports){
77233
78185
  'use strict';
77234
78186
 
77235
78187
  /** @type {import('./uri')} */
77236
78188
  module.exports = URIError;
77237
78189
 
77238
- },{}],436:[function(require,module,exports){
78190
+ },{}],437:[function(require,module,exports){
77239
78191
  'use strict';
77240
78192
 
77241
78193
  /** @type {import('.')} */
77242
78194
  module.exports = Object;
77243
78195
 
77244
- },{}],437:[function(require,module,exports){
78196
+ },{}],438:[function(require,module,exports){
77245
78197
  'use strict';
77246
78198
 
77247
78199
  var isCallable = require('is-callable');
@@ -77312,7 +78264,7 @@ module.exports = function forEach(list, iterator, thisArg) {
77312
78264
  }
77313
78265
  };
77314
78266
 
77315
- },{"is-callable":453}],438:[function(require,module,exports){
78267
+ },{"is-callable":454}],439:[function(require,module,exports){
77316
78268
  'use strict';
77317
78269
 
77318
78270
  /* eslint no-invalid-this: 1 */
@@ -77398,14 +78350,14 @@ module.exports = function bind(that) {
77398
78350
  return bound;
77399
78351
  };
77400
78352
 
77401
- },{}],439:[function(require,module,exports){
78353
+ },{}],440:[function(require,module,exports){
77402
78354
  'use strict';
77403
78355
 
77404
78356
  var implementation = require('./implementation');
77405
78357
 
77406
78358
  module.exports = Function.prototype.bind || implementation;
77407
78359
 
77408
- },{"./implementation":438}],440:[function(require,module,exports){
78360
+ },{"./implementation":439}],441:[function(require,module,exports){
77409
78361
  'use strict';
77410
78362
 
77411
78363
  var undefined;
@@ -77785,7 +78737,7 @@ module.exports = function GetIntrinsic(name, allowMissing) {
77785
78737
  return value;
77786
78738
  };
77787
78739
 
77788
- },{"call-bind-apply-helpers/functionApply":420,"call-bind-apply-helpers/functionCall":421,"es-define-property":428,"es-errors":430,"es-errors/eval":429,"es-errors/range":431,"es-errors/ref":432,"es-errors/syntax":433,"es-errors/type":434,"es-errors/uri":435,"es-object-atoms":436,"function-bind":439,"get-proto":443,"get-proto/Object.getPrototypeOf":441,"get-proto/Reflect.getPrototypeOf":442,"gopd":445,"has-symbols":447,"hasown":450,"math-intrinsics/abs":457,"math-intrinsics/floor":458,"math-intrinsics/max":460,"math-intrinsics/min":461,"math-intrinsics/pow":462,"math-intrinsics/round":463,"math-intrinsics/sign":464}],441:[function(require,module,exports){
78740
+ },{"call-bind-apply-helpers/functionApply":421,"call-bind-apply-helpers/functionCall":422,"es-define-property":429,"es-errors":431,"es-errors/eval":430,"es-errors/range":432,"es-errors/ref":433,"es-errors/syntax":434,"es-errors/type":435,"es-errors/uri":436,"es-object-atoms":437,"function-bind":440,"get-proto":444,"get-proto/Object.getPrototypeOf":442,"get-proto/Reflect.getPrototypeOf":443,"gopd":446,"has-symbols":448,"hasown":451,"math-intrinsics/abs":458,"math-intrinsics/floor":459,"math-intrinsics/max":461,"math-intrinsics/min":462,"math-intrinsics/pow":463,"math-intrinsics/round":464,"math-intrinsics/sign":465}],442:[function(require,module,exports){
77789
78741
  'use strict';
77790
78742
 
77791
78743
  var $Object = require('es-object-atoms');
@@ -77793,13 +78745,13 @@ var $Object = require('es-object-atoms');
77793
78745
  /** @type {import('./Object.getPrototypeOf')} */
77794
78746
  module.exports = $Object.getPrototypeOf || null;
77795
78747
 
77796
- },{"es-object-atoms":436}],442:[function(require,module,exports){
78748
+ },{"es-object-atoms":437}],443:[function(require,module,exports){
77797
78749
  'use strict';
77798
78750
 
77799
78751
  /** @type {import('./Reflect.getPrototypeOf')} */
77800
78752
  module.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;
77801
78753
 
77802
- },{}],443:[function(require,module,exports){
78754
+ },{}],444:[function(require,module,exports){
77803
78755
  'use strict';
77804
78756
 
77805
78757
  var reflectGetProto = require('./Reflect.getPrototypeOf');
@@ -77828,13 +78780,13 @@ module.exports = reflectGetProto
77828
78780
  }
77829
78781
  : null;
77830
78782
 
77831
- },{"./Object.getPrototypeOf":441,"./Reflect.getPrototypeOf":442,"dunder-proto/get":427}],444:[function(require,module,exports){
78783
+ },{"./Object.getPrototypeOf":442,"./Reflect.getPrototypeOf":443,"dunder-proto/get":428}],445:[function(require,module,exports){
77832
78784
  'use strict';
77833
78785
 
77834
78786
  /** @type {import('./gOPD')} */
77835
78787
  module.exports = Object.getOwnPropertyDescriptor;
77836
78788
 
77837
- },{}],445:[function(require,module,exports){
78789
+ },{}],446:[function(require,module,exports){
77838
78790
  'use strict';
77839
78791
 
77840
78792
  /** @type {import('.')} */
@@ -77851,7 +78803,7 @@ if ($gOPD) {
77851
78803
 
77852
78804
  module.exports = $gOPD;
77853
78805
 
77854
- },{"./gOPD":444}],446:[function(require,module,exports){
78806
+ },{"./gOPD":445}],447:[function(require,module,exports){
77855
78807
  'use strict';
77856
78808
 
77857
78809
  var $defineProperty = require('es-define-property');
@@ -77875,7 +78827,7 @@ hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBu
77875
78827
 
77876
78828
  module.exports = hasPropertyDescriptors;
77877
78829
 
77878
- },{"es-define-property":428}],447:[function(require,module,exports){
78830
+ },{"es-define-property":429}],448:[function(require,module,exports){
77879
78831
  'use strict';
77880
78832
 
77881
78833
  var origSymbol = typeof Symbol !== 'undefined' && Symbol;
@@ -77891,7 +78843,7 @@ module.exports = function hasNativeSymbols() {
77891
78843
  return hasSymbolSham();
77892
78844
  };
77893
78845
 
77894
- },{"./shams":448}],448:[function(require,module,exports){
78846
+ },{"./shams":449}],449:[function(require,module,exports){
77895
78847
  'use strict';
77896
78848
 
77897
78849
  /** @type {import('./shams')} */
@@ -77938,7 +78890,7 @@ module.exports = function hasSymbols() {
77938
78890
  return true;
77939
78891
  };
77940
78892
 
77941
- },{}],449:[function(require,module,exports){
78893
+ },{}],450:[function(require,module,exports){
77942
78894
  'use strict';
77943
78895
 
77944
78896
  var hasSymbols = require('has-symbols/shams');
@@ -77948,7 +78900,7 @@ module.exports = function hasToStringTagShams() {
77948
78900
  return hasSymbols() && !!Symbol.toStringTag;
77949
78901
  };
77950
78902
 
77951
- },{"has-symbols/shams":448}],450:[function(require,module,exports){
78903
+ },{"has-symbols/shams":449}],451:[function(require,module,exports){
77952
78904
  'use strict';
77953
78905
 
77954
78906
  var call = Function.prototype.call;
@@ -77958,7 +78910,7 @@ var bind = require('function-bind');
77958
78910
  /** @type {import('.')} */
77959
78911
  module.exports = bind.call(call, $hasOwn);
77960
78912
 
77961
- },{"function-bind":439}],451:[function(require,module,exports){
78913
+ },{"function-bind":440}],452:[function(require,module,exports){
77962
78914
  if (typeof Object.create === 'function') {
77963
78915
  // implementation from standard node.js 'util' module
77964
78916
  module.exports = function inherits(ctor, superCtor) {
@@ -77987,7 +78939,7 @@ if (typeof Object.create === 'function') {
77987
78939
  }
77988
78940
  }
77989
78941
 
77990
- },{}],452:[function(require,module,exports){
78942
+ },{}],453:[function(require,module,exports){
77991
78943
  'use strict';
77992
78944
 
77993
78945
  var hasToStringTag = require('has-tostringtag/shams')();
@@ -78033,7 +78985,7 @@ isStandardArguments.isLegacyArguments = isLegacyArguments; // for tests
78033
78985
  /** @type {import('.')} */
78034
78986
  module.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;
78035
78987
 
78036
- },{"call-bound":425,"has-tostringtag/shams":449}],453:[function(require,module,exports){
78988
+ },{"call-bound":426,"has-tostringtag/shams":450}],454:[function(require,module,exports){
78037
78989
  'use strict';
78038
78990
 
78039
78991
  var fnToStr = Function.prototype.toString;
@@ -78136,7 +79088,7 @@ module.exports = reflectApply
78136
79088
  return tryFunctionObject(value);
78137
79089
  };
78138
79090
 
78139
- },{}],454:[function(require,module,exports){
79091
+ },{}],455:[function(require,module,exports){
78140
79092
  'use strict';
78141
79093
 
78142
79094
  var callBound = require('call-bound');
@@ -78185,7 +79137,7 @@ module.exports = function isGeneratorFunction(fn) {
78185
79137
  return getProto(fn) === GeneratorFunction;
78186
79138
  };
78187
79139
 
78188
- },{"call-bound":425,"get-proto":443,"has-tostringtag/shams":449,"safe-regex-test":472}],455:[function(require,module,exports){
79140
+ },{"call-bound":426,"get-proto":444,"has-tostringtag/shams":450,"safe-regex-test":473}],456:[function(require,module,exports){
78189
79141
  'use strict';
78190
79142
 
78191
79143
  var callBound = require('call-bound');
@@ -78256,7 +79208,7 @@ if (hasToStringTag) {
78256
79208
 
78257
79209
  module.exports = fn;
78258
79210
 
78259
- },{"call-bound":425,"gopd":445,"has-tostringtag/shams":449,"hasown":450}],456:[function(require,module,exports){
79211
+ },{"call-bound":426,"gopd":446,"has-tostringtag/shams":450,"hasown":451}],457:[function(require,module,exports){
78260
79212
  'use strict';
78261
79213
 
78262
79214
  var whichTypedArray = require('which-typed-array');
@@ -78266,19 +79218,19 @@ module.exports = function isTypedArray(value) {
78266
79218
  return !!whichTypedArray(value);
78267
79219
  };
78268
79220
 
78269
- },{"which-typed-array":477}],457:[function(require,module,exports){
79221
+ },{"which-typed-array":478}],458:[function(require,module,exports){
78270
79222
  'use strict';
78271
79223
 
78272
79224
  /** @type {import('./abs')} */
78273
79225
  module.exports = Math.abs;
78274
79226
 
78275
- },{}],458:[function(require,module,exports){
79227
+ },{}],459:[function(require,module,exports){
78276
79228
  'use strict';
78277
79229
 
78278
79230
  /** @type {import('./floor')} */
78279
79231
  module.exports = Math.floor;
78280
79232
 
78281
- },{}],459:[function(require,module,exports){
79233
+ },{}],460:[function(require,module,exports){
78282
79234
  'use strict';
78283
79235
 
78284
79236
  /** @type {import('./isNaN')} */
@@ -78286,31 +79238,31 @@ module.exports = Number.isNaN || function isNaN(a) {
78286
79238
  return a !== a;
78287
79239
  };
78288
79240
 
78289
- },{}],460:[function(require,module,exports){
79241
+ },{}],461:[function(require,module,exports){
78290
79242
  'use strict';
78291
79243
 
78292
79244
  /** @type {import('./max')} */
78293
79245
  module.exports = Math.max;
78294
79246
 
78295
- },{}],461:[function(require,module,exports){
79247
+ },{}],462:[function(require,module,exports){
78296
79248
  'use strict';
78297
79249
 
78298
79250
  /** @type {import('./min')} */
78299
79251
  module.exports = Math.min;
78300
79252
 
78301
- },{}],462:[function(require,module,exports){
79253
+ },{}],463:[function(require,module,exports){
78302
79254
  'use strict';
78303
79255
 
78304
79256
  /** @type {import('./pow')} */
78305
79257
  module.exports = Math.pow;
78306
79258
 
78307
- },{}],463:[function(require,module,exports){
79259
+ },{}],464:[function(require,module,exports){
78308
79260
  'use strict';
78309
79261
 
78310
79262
  /** @type {import('./round')} */
78311
79263
  module.exports = Math.round;
78312
79264
 
78313
- },{}],464:[function(require,module,exports){
79265
+ },{}],465:[function(require,module,exports){
78314
79266
  'use strict';
78315
79267
 
78316
79268
  var $isNaN = require('./isNaN');
@@ -78323,7 +79275,7 @@ module.exports = function sign(number) {
78323
79275
  return number < 0 ? -1 : +1;
78324
79276
  };
78325
79277
 
78326
- },{"./isNaN":459}],465:[function(require,module,exports){
79278
+ },{"./isNaN":460}],466:[function(require,module,exports){
78327
79279
  'use strict';
78328
79280
 
78329
79281
  var keysShim;
@@ -78447,7 +79399,7 @@ if (!Object.keys) {
78447
79399
  }
78448
79400
  module.exports = keysShim;
78449
79401
 
78450
- },{"./isArguments":467}],466:[function(require,module,exports){
79402
+ },{"./isArguments":468}],467:[function(require,module,exports){
78451
79403
  'use strict';
78452
79404
 
78453
79405
  var slice = Array.prototype.slice;
@@ -78481,7 +79433,7 @@ keysShim.shim = function shimObjectKeys() {
78481
79433
 
78482
79434
  module.exports = keysShim;
78483
79435
 
78484
- },{"./implementation":465,"./isArguments":467}],467:[function(require,module,exports){
79436
+ },{"./implementation":466,"./isArguments":468}],468:[function(require,module,exports){
78485
79437
  'use strict';
78486
79438
 
78487
79439
  var toStr = Object.prototype.toString;
@@ -78500,7 +79452,7 @@ module.exports = function isArguments(value) {
78500
79452
  return isArgs;
78501
79453
  };
78502
79454
 
78503
- },{}],468:[function(require,module,exports){
79455
+ },{}],469:[function(require,module,exports){
78504
79456
  'use strict';
78505
79457
 
78506
79458
  // modified from https://github.com/es-shims/es6-shim
@@ -78548,7 +79500,7 @@ module.exports = function assign(target, source1) {
78548
79500
  return to; // step 4
78549
79501
  };
78550
79502
 
78551
- },{"call-bound":425,"es-object-atoms":436,"has-symbols/shams":448,"object-keys":466}],469:[function(require,module,exports){
79503
+ },{"call-bound":426,"es-object-atoms":437,"has-symbols/shams":449,"object-keys":467}],470:[function(require,module,exports){
78552
79504
  'use strict';
78553
79505
 
78554
79506
  var implementation = require('./implementation');
@@ -78605,7 +79557,7 @@ module.exports = function getPolyfill() {
78605
79557
  return Object.assign;
78606
79558
  };
78607
79559
 
78608
- },{"./implementation":468}],470:[function(require,module,exports){
79560
+ },{"./implementation":469}],471:[function(require,module,exports){
78609
79561
  'use strict';
78610
79562
 
78611
79563
  /** @type {import('.')} */
@@ -78624,7 +79576,7 @@ module.exports = [
78624
79576
  'BigUint64Array'
78625
79577
  ];
78626
79578
 
78627
- },{}],471:[function(require,module,exports){
79579
+ },{}],472:[function(require,module,exports){
78628
79580
  // shim for using process in browser
78629
79581
  var process = module.exports = {};
78630
79582
 
@@ -78810,7 +79762,7 @@ process.chdir = function (dir) {
78810
79762
  };
78811
79763
  process.umask = function() { return 0; };
78812
79764
 
78813
- },{}],472:[function(require,module,exports){
79765
+ },{}],473:[function(require,module,exports){
78814
79766
  'use strict';
78815
79767
 
78816
79768
  var callBound = require('call-bound');
@@ -78829,7 +79781,7 @@ module.exports = function regexTester(regex) {
78829
79781
  };
78830
79782
  };
78831
79783
 
78832
- },{"call-bound":425,"es-errors/type":434,"is-regex":455}],473:[function(require,module,exports){
79784
+ },{"call-bound":426,"es-errors/type":435,"is-regex":456}],474:[function(require,module,exports){
78833
79785
  'use strict';
78834
79786
 
78835
79787
  var GetIntrinsic = require('get-intrinsic');
@@ -78873,9 +79825,9 @@ module.exports = function setFunctionLength(fn, length) {
78873
79825
  return fn;
78874
79826
  };
78875
79827
 
78876
- },{"define-data-property":426,"es-errors/type":434,"get-intrinsic":440,"gopd":445,"has-property-descriptors":446}],474:[function(require,module,exports){
78877
- arguments[4][414][0].apply(exports,arguments)
78878
- },{"dup":414}],475:[function(require,module,exports){
79828
+ },{"define-data-property":427,"es-errors/type":435,"get-intrinsic":441,"gopd":446,"has-property-descriptors":447}],475:[function(require,module,exports){
79829
+ arguments[4][415][0].apply(exports,arguments)
79830
+ },{"dup":415}],476:[function(require,module,exports){
78879
79831
  // Currently in sync with Node.js lib/internal/util/types.js
78880
79832
  // https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9
78881
79833
 
@@ -79211,7 +80163,7 @@ exports.isAnyArrayBuffer = isAnyArrayBuffer;
79211
80163
  });
79212
80164
  });
79213
80165
 
79214
- },{"is-arguments":452,"is-generator-function":454,"is-typed-array":456,"which-typed-array":477}],476:[function(require,module,exports){
80166
+ },{"is-arguments":453,"is-generator-function":455,"is-typed-array":457,"which-typed-array":478}],477:[function(require,module,exports){
79215
80167
  (function (process){(function (){
79216
80168
  // Copyright Joyent, Inc. and other Node contributors.
79217
80169
  //
@@ -79930,7 +80882,7 @@ function callbackify(original) {
79930
80882
  exports.callbackify = callbackify;
79931
80883
 
79932
80884
  }).call(this)}).call(this,require('_process'))
79933
- },{"./support/isBuffer":474,"./support/types":475,"_process":471,"inherits":451}],477:[function(require,module,exports){
80885
+ },{"./support/isBuffer":475,"./support/types":476,"_process":472,"inherits":452}],478:[function(require,module,exports){
79934
80886
  (function (global){(function (){
79935
80887
  'use strict';
79936
80888
 
@@ -80051,5 +81003,5 @@ module.exports = function whichTypedArray(value) {
80051
81003
  };
80052
81004
 
80053
81005
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
80054
- },{"available-typed-arrays":416,"call-bind":424,"call-bound":425,"for-each":437,"get-proto":443,"gopd":445,"has-tostringtag/shams":449}]},{},[137])(137)
81006
+ },{"available-typed-arrays":417,"call-bind":425,"call-bound":426,"for-each":438,"get-proto":444,"gopd":446,"has-tostringtag/shams":450}]},{},[138])(138)
80055
81007
  });