@designliquido/delegua 1.17.0 → 1.17.2

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 (72) hide show
  1. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  2. package/analisador-semantico/analisador-semantico.js +9 -3
  3. package/analisador-semantico/analisador-semantico.js.map +1 -1
  4. package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts.map +1 -1
  5. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +9 -3
  6. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -1
  7. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  8. package/avaliador-sintatico/avaliador-sintatico.js +26 -0
  9. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  10. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +7 -0
  11. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  12. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +33 -13
  13. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  14. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.d.ts +68 -11
  15. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.d.ts.map +1 -1
  16. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js +433 -62
  17. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js.map +1 -1
  18. package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts +9 -0
  19. package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts.map +1 -1
  20. package/bibliotecas/dialetos/pitugues/biblioteca-global.js +30 -0
  21. package/bibliotecas/dialetos/pitugues/biblioteca-global.js.map +1 -1
  22. package/bibliotecas/dialetos/pitugues/primitivas-texto.d.ts.map +1 -1
  23. package/bibliotecas/dialetos/pitugues/primitivas-texto.js +112 -16
  24. package/bibliotecas/dialetos/pitugues/primitivas-texto.js.map +1 -1
  25. package/bibliotecas/primitivas-dicionario.d.ts.map +1 -1
  26. package/bibliotecas/primitivas-dicionario.js +31 -0
  27. package/bibliotecas/primitivas-dicionario.js.map +1 -1
  28. package/bin/package.json +2 -2
  29. package/estilizador/quebrador-linha.d.ts.map +1 -1
  30. package/estilizador/quebrador-linha.js +13 -0
  31. package/estilizador/quebrador-linha.js.map +1 -1
  32. package/estilizador/regras/index.d.ts +1 -0
  33. package/estilizador/regras/index.d.ts.map +1 -1
  34. package/estilizador/regras/index.js +1 -0
  35. package/estilizador/regras/index.js.map +1 -1
  36. package/estilizador/regras/regra-convencao-nomenclatura.d.ts +3 -0
  37. package/estilizador/regras/regra-convencao-nomenclatura.d.ts.map +1 -1
  38. package/estilizador/regras/regra-convencao-nomenclatura.js +34 -14
  39. package/estilizador/regras/regra-convencao-nomenclatura.js.map +1 -1
  40. package/estilizador/regras/regra-explicitar-tipos-parametros.d.ts +16 -0
  41. package/estilizador/regras/regra-explicitar-tipos-parametros.d.ts.map +1 -0
  42. package/estilizador/regras/regra-explicitar-tipos-parametros.js +50 -0
  43. package/estilizador/regras/regra-explicitar-tipos-parametros.js.map +1 -0
  44. package/formatadores/formatador-delegua.d.ts +1 -0
  45. package/formatadores/formatador-delegua.d.ts.map +1 -1
  46. package/formatadores/formatador-delegua.js +9 -3
  47. package/formatadores/formatador-delegua.js.map +1 -1
  48. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +1 -1
  49. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +60 -107
  50. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts.map +1 -1
  51. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +435 -336
  52. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  53. package/interpretador/interpretador-base.d.ts.map +1 -1
  54. package/interpretador/interpretador-base.js +16 -2
  55. package/interpretador/interpretador-base.js.map +1 -1
  56. package/lexador/dialetos/lexador-portugol-ipt.d.ts.map +1 -1
  57. package/lexador/dialetos/lexador-portugol-ipt.js +71 -19
  58. package/lexador/dialetos/lexador-portugol-ipt.js.map +1 -1
  59. package/lexador/dialetos/palavras-reservadas/portugol-ipt.d.ts +34 -6
  60. package/lexador/dialetos/palavras-reservadas/portugol-ipt.d.ts.map +1 -1
  61. package/lexador/dialetos/palavras-reservadas/portugol-ipt.js +44 -6
  62. package/lexador/dialetos/palavras-reservadas/portugol-ipt.js.map +1 -1
  63. package/package.json +2 -2
  64. package/tipos-de-simbolos/portugol-ipt.d.ts +43 -19
  65. package/tipos-de-simbolos/portugol-ipt.d.ts.map +1 -1
  66. package/tipos-de-simbolos/portugol-ipt.js +59 -19
  67. package/tipos-de-simbolos/portugol-ipt.js.map +1 -1
  68. package/tradutores/tradutor-portugol-ipt.d.ts +34 -12
  69. package/tradutores/tradutor-portugol-ipt.d.ts.map +1 -1
  70. package/tradutores/tradutor-portugol-ipt.js +309 -19
  71. package/tradutores/tradutor-portugol-ipt.js.map +1 -1
  72. package/umd/delegua.js +1501 -522
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;
@@ -641,10 +641,16 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
641
641
  }
642
642
  visitarChamadaPorVariavel(entidadeChamadaVariavel, argumentos) {
643
643
  const variavel = entidadeChamadaVariavel;
644
- const funcaoChamada = this.gerenciadorEscopos.buscar(variavel.simbolo.lexema) ||
645
- this.funcoes[variavel.simbolo.lexema];
644
+ const nomeFuncao = variavel.simbolo.lexema;
645
+ const funcoesNativas = ['inteiro', 'real', 'numero', 'número', 'texto', 'leia', 'escreva', 'tipo'];
646
+ const pareceSerClasse = nomeFuncao[0] === nomeFuncao[0].toUpperCase();
647
+ if (funcoesNativas.includes(nomeFuncao) || pareceSerClasse) {
648
+ return Promise.resolve();
649
+ }
650
+ const funcaoChamada = this.gerenciadorEscopos.buscar(nomeFuncao) ||
651
+ this.funcoes[nomeFuncao];
646
652
  if (!funcaoChamada) {
647
- this.erro(entidadeChamadaVariavel.simbolo, `Chamada da função '${entidadeChamadaVariavel.simbolo.lexema}' não existe.`);
653
+ this.erro(entidadeChamadaVariavel.simbolo, `Chamada da função '${nomeFuncao}' não existe.`);
648
654
  return Promise.resolve();
649
655
  }
650
656
  const funcao = funcaoChamada.valor;
@@ -1635,7 +1641,7 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
1635
1641
  }
1636
1642
  exports.AnalisadorSemantico = AnalisadorSemantico;
1637
1643
 
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){
1644
+ },{"../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
1645
  "use strict";
1640
1646
  Object.defineProperty(exports, "__esModule", { value: true });
1641
1647
 
@@ -2053,7 +2059,7 @@ class AvaliadorSintaticoBase {
2053
2059
  }
2054
2060
  exports.AvaliadorSintaticoBase = AvaliadorSintaticoBase;
2055
2061
 
2056
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/comum":223,"./erro-avaliador-sintatico":20}],10:[function(require,module,exports){
2062
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/comum":224,"./erro-avaliador-sintatico":20}],10:[function(require,module,exports){
2057
2063
  "use strict";
2058
2064
  var __importDefault = (this && this.__importDefault) || function (mod) {
2059
2065
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -2140,8 +2146,33 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
2140
2146
  if (!tipoElementarResolvido) {
2141
2147
  throw this.erro(this.simbolos[this.atual], `Tipo de dados desconhecido: '${this.simbolos[this.atual].lexema}'.`);
2142
2148
  }
2149
+ if ((tipoElementarResolvido === 'funcao' || tipoElementarResolvido === 'função') &&
2150
+ this.verificarTipoProximoSimbolo(delegua_2.default.MENOR)) {
2151
+ this.avancarEDevolverAnterior(); // avança por 'funcao'
2152
+ this.avancarEDevolverAnterior(); // avança por '<'
2153
+ const tiposParametros = [];
2154
+ do {
2155
+ tiposParametros.push(this.simbolos[this.atual].lexema);
2156
+ this.avancarEDevolverAnterior();
2157
+ } while (this.verificarSeSimboloAtualEIgualA(delegua_2.default.VIRGULA));
2158
+ // this.atual aponta para '>'
2159
+ const tipoFuncaoGenerico = `${tipoElementarResolvido}<${tiposParametros.join(', ')}>`;
2160
+ if (this.verificarTipoProximoSimbolo(delegua_2.default.COLCHETE_ESQUERDO)) {
2161
+ this.avancarEDevolverAnterior(); // avança por '>'
2162
+ // this.atual aponta para '['
2163
+ if (!this.verificarTipoProximoSimbolo(delegua_2.default.COLCHETE_DIREITO)) {
2164
+ throw this.erro(this.simbolos[this.atual], `Esperado símbolo de fechamento do vetor: ']'. Atual: ${this.simbolos[this.atual].lexema}`);
2165
+ }
2166
+ this.avancarEDevolverAnterior(); // avança por '['
2167
+ // this.atual aponta para ']'
2168
+ return `${tipoFuncaoGenerico}[]`;
2169
+ }
2170
+ return tipoFuncaoGenerico;
2171
+ }
2143
2172
  if (this.verificarTipoProximoSimbolo(delegua_2.default.COLCHETE_ESQUERDO)) {
2144
2173
  const tiposVetores = [
2174
+ 'funcao[]',
2175
+ 'função[]',
2145
2176
  'inteiro[]',
2146
2177
  'numero[]',
2147
2178
  'número[]',
@@ -3361,6 +3392,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
3361
3392
  const caminhoFazer = await this.declaracaoBloco();
3362
3393
  this.consumir(delegua_2.default.ENQUANTO, "Esperado declaração do 'enquanto' após o escopo do 'fazer'.");
3363
3394
  const condicaoEnquanto = await this.expressao();
3395
+ this.verificarSeSimboloAtualEIgualA(delegua_2.default.PONTO_E_VIRGULA);
3364
3396
  return {
3365
3397
  caminhoFazer,
3366
3398
  condicaoEnquanto,
@@ -4956,7 +4988,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
4956
4988
  }
4957
4989
  exports.AvaliadorSintatico = AvaliadorSintatico;
4958
4990
 
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){
4991
+ },{"../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
4992
  "use strict";
4961
4993
  Object.defineProperty(exports, "__esModule", { value: true });
4962
4994
  exports.buscarRetornos = buscarRetornos;
@@ -5071,7 +5103,7 @@ function registrarPrimitiva(primitivasConhecidas, tipo, catalogoPrimitivas) {
5071
5103
  }
5072
5104
  }
5073
5105
 
5074
- },{"../declaracoes":110,"../informacao-elemento-sintatico":139}],12:[function(require,module,exports){
5106
+ },{"../declaracoes":110,"../informacao-elemento-sintatico":140}],12:[function(require,module,exports){
5075
5107
  "use strict";
5076
5108
  var __importDefault = (this && this.__importDefault) || function (mod) {
5077
5109
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -5731,7 +5763,7 @@ class AvaliadorSintaticoEguaClassico {
5731
5763
  }
5732
5764
  exports.AvaliadorSintaticoEguaClassico = AvaliadorSintaticoEguaClassico;
5733
5765
 
5734
- },{"../../construtos":62,"../../declaracoes":110,"../../tipos-de-simbolos/egua-classico":225,"../erro-avaliador-sintatico":20}],13:[function(require,module,exports){
5766
+ },{"../../construtos":62,"../../declaracoes":110,"../../tipos-de-simbolos/egua-classico":226,"../erro-avaliador-sintatico":20}],13:[function(require,module,exports){
5735
5767
  "use strict";
5736
5768
  var __importDefault = (this && this.__importDefault) || function (mod) {
5737
5769
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -6163,6 +6195,37 @@ class AvaliadorSintaticoPitugues {
6163
6195
  }
6164
6196
  return false;
6165
6197
  }
6198
+ /**
6199
+ * Transforma uma string com interpolações (f-string) em código equivalente usando o método formatar.
6200
+ * Exemplo: f"Olá {nome}, você tem {idade} anos" -> "Olá " + nome + " você tem " + idade + " anos"
6201
+ * Com formatadores: f"{valor:.2f}" -> "" + "{:.2f}".formatar(valor) + ""
6202
+ * Com depuração: f"{usuario=}" -> "" + "{usuario=}".formatar(usuario) + ""
6203
+ */
6204
+ transformarInterpolacaoEmFormatacao(conteudoOriginal) {
6205
+ const ehDepuracao = (mioloLimpo) => {
6206
+ return mioloLimpo.endsWith('=') && !/^(?:[!=<>]=|[<>])$/.test(mioloLimpo.slice(-2));
6207
+ };
6208
+ const processarParte = (_, miolo) => {
6209
+ const mioloLimpo = miolo.trimEnd();
6210
+ // Modo depuração: {expressao=}
6211
+ if (ehDepuracao(mioloLimpo)) {
6212
+ const expressao = mioloLimpo.slice(0, -1).trim();
6213
+ return `" + "{${miolo}}".formatar(${expressao}) + "`;
6214
+ }
6215
+ // Modo formatação: {expressao:formato}
6216
+ if (mioloLimpo.includes(':')) {
6217
+ const [variavel, formato] = mioloLimpo
6218
+ .split(':')
6219
+ .map(s => s.trim());
6220
+ if (variavel) {
6221
+ return `" + "{:${formato}}".formatar(${variavel}) + "`;
6222
+ }
6223
+ }
6224
+ // Interpolação simples: {expressao}
6225
+ return `" + (${miolo}) + "`;
6226
+ };
6227
+ return '"' + conteudoOriginal.replace(/\{(.*?)\}/g, processarParte) + '"';
6228
+ }
6166
6229
  async primario() {
6167
6230
  const simboloAtual = this.simbolos[this.atual];
6168
6231
  switch (simboloAtual.tipo) {
@@ -6277,19 +6340,8 @@ class AvaliadorSintaticoPitugues {
6277
6340
  case pitugues_2.default.INTERPOLACAO:
6278
6341
  const simboloInterpolacao = this.avancarEDevolverAnterior();
6279
6342
  const conteudoOriginal = simboloInterpolacao.literal;
6280
- const codigoTransformado = '"' +
6281
- conteudoOriginal.replace(/\{(.*?)\}/g, (_, miolo) => {
6282
- // 'miolo' é o texto que estava dentro das chaves. Ex: "valor" ou "valor:.2f"
6283
- if (miolo.includes(':')) {
6284
- const [variavel, formato] = miolo.split(':').map((s) => s.trim());
6285
- if (variavel !== '') {
6286
- // Transforma {valor:.2f} em "{:.2f}".formatar(valor)
6287
- return '" + "{:' + formato + '}".formatar(' + variavel + ') + "';
6288
- }
6289
- }
6290
- return '" + (' + miolo.trim() + ') + "';
6291
- }) +
6292
- '"';
6343
+ const codigoTransformado = this
6344
+ .transformarInterpolacaoEmFormatacao(conteudoOriginal);
6293
6345
  const microLexador = new micro_lexador_pitugues_1.MicroLexadorPitugues();
6294
6346
  const retornoMicroLexador = microLexador.mapear(codigoTransformado);
6295
6347
  const microAvaliadorSintatico = new micro_avaliador_sintatico_pitugues_1.MicroAvaliadorSintaticoPitugues();
@@ -7442,7 +7494,7 @@ class AvaliadorSintaticoPitugues {
7442
7494
  }
7443
7495
  exports.AvaliadorSintaticoPitugues = AvaliadorSintaticoPitugues;
7444
7496
 
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){
7497
+ },{"../../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
7498
  "use strict";
7447
7499
  var __importDefault = (this && this.__importDefault) || function (mod) {
7448
7500
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -7450,32 +7502,202 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7450
7502
  Object.defineProperty(exports, "__esModule", { value: true });
7451
7503
  exports.AvaliadorSintaticoPortugolIpt = void 0;
7452
7504
  const construtos_1 = require("../../construtos");
7505
+ const simbolo_1 = require("../../lexador/simbolo");
7453
7506
  const declaracoes_1 = require("../../declaracoes");
7454
7507
  const avaliador_sintatico_base_1 = require("../avaliador-sintatico-base");
7455
7508
  const portugol_ipt_1 = __importDefault(require("../../tipos-de-simbolos/portugol-ipt"));
7456
7509
  class AvaliadorSintaticoPortugolIpt extends avaliador_sintatico_base_1.AvaliadorSintaticoBase {
7510
+ simboloAtualEh(tipo) {
7511
+ return !this.estaNoFinal() && this.simbolos[this.atual].tipo === tipo;
7512
+ }
7513
+ fechamentoEnquantoAtual() {
7514
+ return (this.simboloAtualEh(portugol_ipt_1.default.FIMENQUANTO) ||
7515
+ (this.simboloAtualEh(portugol_ipt_1.default.FIM) &&
7516
+ this.simbolos[this.atual + 1]?.tipo === portugol_ipt_1.default.ENQUANTO));
7517
+ }
7518
+ consumirFechamentoEnquanto() {
7519
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.FIMENQUANTO)) {
7520
+ return;
7521
+ }
7522
+ this.consumir(portugol_ipt_1.default.FIM, "Esperado 'fimenquanto' ou 'fim enquanto'.");
7523
+ this.consumir(portugol_ipt_1.default.ENQUANTO, "Esperado 'enquanto' após 'fim'.");
7524
+ }
7525
+ fechamentoEscolheAtual() {
7526
+ return (this.simboloAtualEh(portugol_ipt_1.default.FIMESCOLHE) ||
7527
+ (this.simboloAtualEh(portugol_ipt_1.default.FIM) &&
7528
+ this.simbolos[this.atual + 1]?.tipo === portugol_ipt_1.default.ESCOLHE));
7529
+ }
7530
+ consumirFechamentoEscolhe() {
7531
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.FIMESCOLHE)) {
7532
+ return;
7533
+ }
7534
+ this.consumir(portugol_ipt_1.default.FIM, "Esperado 'fimescolhe' ou 'fim escolhe'.");
7535
+ this.consumir(portugol_ipt_1.default.ESCOLHE, "Esperado 'escolhe' após 'fim'.");
7536
+ }
7537
+ avaliarExpressaoNumericaConstante(expressao) {
7538
+ if (expressao instanceof construtos_1.Literal && typeof expressao.valor === 'number') {
7539
+ return Number(expressao.valor);
7540
+ }
7541
+ if (expressao instanceof construtos_1.Agrupamento) {
7542
+ return this.avaliarExpressaoNumericaConstante(expressao.expressao);
7543
+ }
7544
+ if (expressao instanceof construtos_1.Unario) {
7545
+ const operando = this.avaliarExpressaoNumericaConstante(expressao.operando);
7546
+ if (operando === null)
7547
+ return null;
7548
+ switch (expressao.operador.tipo) {
7549
+ case portugol_ipt_1.default.SUBTRACAO:
7550
+ return -operando;
7551
+ default:
7552
+ return null;
7553
+ }
7554
+ }
7555
+ if (expressao instanceof construtos_1.Binario) {
7556
+ const esquerda = this.avaliarExpressaoNumericaConstante(expressao.esquerda);
7557
+ const direita = this.avaliarExpressaoNumericaConstante(expressao.direita);
7558
+ if (esquerda === null || direita === null)
7559
+ return null;
7560
+ switch (expressao.operador.tipo) {
7561
+ case portugol_ipt_1.default.ADICAO:
7562
+ return esquerda + direita;
7563
+ case portugol_ipt_1.default.SUBTRACAO:
7564
+ return esquerda - direita;
7565
+ case portugol_ipt_1.default.MULTIPLICACAO:
7566
+ return esquerda * direita;
7567
+ case portugol_ipt_1.default.DIVISAO:
7568
+ return esquerda / direita;
7569
+ case portugol_ipt_1.default.MODULO:
7570
+ return esquerda % direita;
7571
+ case portugol_ipt_1.default.EXPONENCIACAO:
7572
+ return Math.pow(esquerda, direita);
7573
+ default:
7574
+ return null;
7575
+ }
7576
+ }
7577
+ return null;
7578
+ }
7579
+ // ── Helpers ────────────────────────────────────────────────────────────────
7580
+ /**
7581
+ * Consome quebras de linha opcionais.
7582
+ */
7583
+ consumirQuebrasLinha() {
7584
+ while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.QUEBRA_LINHA))
7585
+ ;
7586
+ }
7587
+ /**
7588
+ * Coleta declarações até encontrar um token cujo tipo esteja em `tiposParada`.
7589
+ * O token de parada NÃO é consumido.
7590
+ */
7591
+ async resolverBloco(tiposParada) {
7592
+ const declaracoes = [];
7593
+ const primeiroSimbolo = this.simbolos[this.atual];
7594
+ while (!this.estaNoFinal() && !tiposParada.includes(this.simbolos[this.atual].tipo)) {
7595
+ const resolucao = await this.resolverDeclaracaoForaDeBloco();
7596
+ if (Array.isArray(resolucao)) {
7597
+ declaracoes.push(...resolucao);
7598
+ }
7599
+ else if (resolucao !== null && resolucao !== undefined) {
7600
+ declaracoes.push(resolucao);
7601
+ }
7602
+ }
7603
+ return new declaracoes_1.Bloco(this.hashArquivo, Number(primeiroSimbolo?.linha ?? 0), declaracoes.filter((d) => d));
7604
+ }
7605
+ // ── Expressões ─────────────────────────────────────────────────────────────
7457
7606
  async primario() {
7458
7607
  switch (this.simbolos[this.atual].tipo) {
7459
- case portugol_ipt_1.default.IDENTIFICADOR:
7608
+ case portugol_ipt_1.default.IDENTIFICADOR: {
7460
7609
  const simboloIdentificador = this.avancarEDevolverAnterior();
7461
7610
  return new construtos_1.Variavel(this.hashArquivo, simboloIdentificador);
7611
+ }
7462
7612
  case portugol_ipt_1.default.INTEIRO:
7463
- case portugol_ipt_1.default.TEXTO:
7613
+ case portugol_ipt_1.default.NUMERO:
7614
+ case portugol_ipt_1.default.TEXTO: {
7464
7615
  const simboloAnterior = this.avancarEDevolverAnterior();
7616
+ if (simboloAnterior.literal === null) {
7617
+ throw this.erro(simboloAnterior, 'Esperado expressão.');
7618
+ }
7465
7619
  return new construtos_1.Literal(this.hashArquivo, Number(simboloAnterior.linha), simboloAnterior.literal);
7466
- case portugol_ipt_1.default.PARENTESE_ESQUERDO:
7620
+ }
7621
+ case portugol_ipt_1.default.PARENTESE_ESQUERDO: {
7467
7622
  this.avancarEDevolverAnterior();
7468
7623
  const expressao = await this.expressao();
7469
7624
  this.consumir(portugol_ipt_1.default.PARENTESE_DIREITO, "Esperado ')' após a expressão.");
7470
7625
  return new construtos_1.Agrupamento(this.hashArquivo, Number(this.simbolos[this.atual].linha), expressao);
7626
+ }
7471
7627
  }
7628
+ throw this.erro(this.simbolos[this.atual], 'Esperado expressão.');
7472
7629
  }
7473
7630
  /**
7474
- * Aparentemente, o Portugol IPT não suporta chamadas de função.
7475
- * @returns O retorno da chamada de `primario()`.
7631
+ * Suporta chamadas de funções embutidas: SEN(x), COS(x), POTENCIA(b,e), etc.
7476
7632
  */
7477
7633
  async chamar() {
7478
- return await this.primario();
7634
+ let expressao = await this.primario();
7635
+ while (true) {
7636
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.PARENTESE_ESQUERDO)) {
7637
+ const argumentos = [];
7638
+ if (!this.verificarTipoSimboloAtual(portugol_ipt_1.default.PARENTESE_DIREITO)) {
7639
+ do {
7640
+ argumentos.push(await this.expressao());
7641
+ } while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.VIRGULA));
7642
+ }
7643
+ this.consumir(portugol_ipt_1.default.PARENTESE_DIREITO, "Esperado ')' após argumentos.");
7644
+ expressao = new construtos_1.Chamada(this.hashArquivo, expressao, argumentos);
7645
+ }
7646
+ else if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.COLCHETE_ESQUERDO)) {
7647
+ const indice = await this.expressao();
7648
+ const fechamento = this.consumir(portugol_ipt_1.default.COLCHETE_DIREITO, "Esperado ']' após índice.");
7649
+ expressao = new construtos_1.AcessoIndiceVariavel(this.hashArquivo, expressao, indice, fechamento);
7650
+ }
7651
+ else {
7652
+ break;
7653
+ }
7654
+ }
7655
+ return expressao;
7656
+ }
7657
+ /**
7658
+ * Override de `unario()` para incluir operadores unários aritméticos.
7659
+ * `NAO` é tratado em `e()` para ter precedência menor que comparações.
7660
+ */
7661
+ async unario() {
7662
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.NEGACAO, portugol_ipt_1.default.SUBTRACAO)) {
7663
+ const operador = this.simbolos[this.atual - 1];
7664
+ const direito = await this.unario();
7665
+ return new construtos_1.Unario(this.hashArquivo, operador, direito, 'ANTES');
7666
+ }
7667
+ return await this.chamar();
7668
+ }
7669
+ /**
7670
+ * Override de `e()` para suportar o operador lógico `NAO` com precedência
7671
+ * menor que comparações: `nao x = 0` → `nao (x = 0)`.
7672
+ */
7673
+ async e() {
7674
+ let expressao;
7675
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.NAO)) {
7676
+ const operador = this.simbolos[this.atual - 1];
7677
+ const operando = await this.comparacaoIgualdade();
7678
+ expressao = new construtos_1.Unario(this.hashArquivo, operador, operando, 'ANTES');
7679
+ }
7680
+ else {
7681
+ expressao = await this.comparacaoIgualdade();
7682
+ }
7683
+ while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.E)) {
7684
+ const operador = this.simbolos[this.atual - 1];
7685
+ const direito = await this.comparacaoIgualdade();
7686
+ expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
7687
+ }
7688
+ return expressao;
7689
+ }
7690
+ /**
7691
+ * Override de `ou()` para incluir o operador lógico `XOU`.
7692
+ */
7693
+ async ou() {
7694
+ let expressao = await this.e();
7695
+ while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.OU, portugol_ipt_1.default.XOU)) {
7696
+ const operador = this.simbolos[this.atual - 1];
7697
+ const direito = await this.e();
7698
+ expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
7699
+ }
7700
+ return expressao;
7479
7701
  }
7480
7702
  async atribuir() {
7481
7703
  const expressao = await this.ou();
@@ -7492,12 +7714,12 @@ class AvaliadorSintaticoPortugolIpt extends avaliador_sintatico_base_1.Avaliador
7492
7714
  }
7493
7715
  return expressao;
7494
7716
  }
7717
+ // ── Declarações ────────────────────────────────────────────────────────────
7495
7718
  /**
7496
- * A declaração escreva (ou escrever) do Portugol IPT é sempre na mesma linha.
7719
+ * `escrever expr [, expr ...]`
7497
7720
  */
7498
7721
  async declaracaoEscreva() {
7499
7722
  const simboloAtual = this.avancarEDevolverAnterior();
7500
- // const argumentos = this.logicaComumEscreva();
7501
7723
  const argumentos = [];
7502
7724
  do {
7503
7725
  const valor = await this.expressao();
@@ -7505,56 +7727,157 @@ class AvaliadorSintaticoPortugolIpt extends avaliador_sintatico_base_1.Avaliador
7505
7727
  } while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.VIRGULA));
7506
7728
  return new declaracoes_1.EscrevaMesmaLinha(Number(simboloAtual.linha), this.hashArquivo, argumentos);
7507
7729
  }
7508
- blocoEscopo() {
7509
- throw new Error('Método não implementado.');
7510
- }
7730
+ /**
7731
+ * `se cond entao ... [senao ...] fimse`
7732
+ */
7511
7733
  async declaracaoSe() {
7512
- this.avancarEDevolverAnterior();
7734
+ this.avancarEDevolverAnterior(); // consome 'se'
7513
7735
  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
- ;
7736
+ this.consumir(portugol_ipt_1.default.ENTAO, "Esperado 'então' após condição do se.");
7737
+ this.consumirQuebrasLinha();
7738
+ const caminhoEntao = await this.resolverBloco([
7739
+ portugol_ipt_1.default.SENAO,
7740
+ portugol_ipt_1.default.FIMSE,
7741
+ ]);
7742
+ this.consumirQuebrasLinha();
7519
7743
  let caminhoSenao = null;
7520
7744
  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();
7745
+ this.consumirQuebrasLinha();
7746
+ caminhoSenao = await this.resolverBloco([portugol_ipt_1.default.FIMSE]);
7523
7747
  }
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.");
7748
+ this.consumirQuebrasLinha();
7749
+ this.consumir(portugol_ipt_1.default.FIMSE, "Esperado 'fimse' para fechar instrução se.");
7526
7750
  return new declaracoes_1.Se(condicao, caminhoEntao, [], caminhoSenao);
7527
7751
  }
7528
- declaracaoEnquanto() {
7529
- throw new Error('Método não implementado.');
7752
+ /**
7753
+ * `enquanto cond faz ... fimenquanto`
7754
+ */
7755
+ async declaracaoEnquanto() {
7756
+ this.avancarEDevolverAnterior(); // consome 'enquanto'
7757
+ const condicao = await this.expressao();
7758
+ this.consumir(portugol_ipt_1.default.FAZ, "Esperado 'faz' após condição do enquanto.");
7759
+ this.consumirQuebrasLinha();
7760
+ const declaracoes = [];
7761
+ const primeiroSimbolo = this.simbolos[this.atual];
7762
+ while (!this.estaNoFinal() && !this.fechamentoEnquantoAtual()) {
7763
+ const resolucao = await this.resolverDeclaracaoForaDeBloco();
7764
+ if (Array.isArray(resolucao)) {
7765
+ declaracoes.push(...resolucao);
7766
+ }
7767
+ else if (resolucao !== null && resolucao !== undefined) {
7768
+ declaracoes.push(resolucao);
7769
+ }
7770
+ }
7771
+ const corpo = new declaracoes_1.Bloco(this.hashArquivo, Number(primeiroSimbolo?.linha ?? 0), declaracoes.filter((d) => d));
7772
+ this.consumirFechamentoEnquanto();
7773
+ return new declaracoes_1.Enquanto(condicao, corpo);
7530
7774
  }
7531
- declaracaoPara() {
7532
- throw new Error('Método não implementado.');
7775
+ /**
7776
+ * `para v de ini ate fim [passo p]` + corpo + `proximo`
7777
+ */
7778
+ async declaracaoPara() {
7779
+ const simboloPara = this.avancarEDevolverAnterior(); // consome 'para'
7780
+ const linha = Number(simboloPara.linha);
7781
+ const identificador = this.consumir(portugol_ipt_1.default.IDENTIFICADOR, "Esperado identificador após 'para'.");
7782
+ this.consumir(portugol_ipt_1.default.DE, "Esperado 'de' após variável do 'para'.");
7783
+ const inicioExpr = await this.expressao();
7784
+ this.consumir(portugol_ipt_1.default.ATE, "Esperado 'ate' após valor inicial do 'para'.");
7785
+ const fimExpr = await this.expressao();
7786
+ let passoExpr = new construtos_1.Literal(this.hashArquivo, linha, 1, 'inteiro');
7787
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.PASSO)) {
7788
+ passoExpr = await this.expressao();
7789
+ }
7790
+ this.consumirQuebrasLinha();
7791
+ const corpo = await this.resolverBloco([portugol_ipt_1.default.PROXIMO]);
7792
+ this.consumir(portugol_ipt_1.default.PROXIMO, "Esperado 'proximo' para fechar o laço 'para'.");
7793
+ const varIteracao = new construtos_1.Variavel(this.hashArquivo, identificador, 'inteiro');
7794
+ const simboloMenorIgual = new simbolo_1.Simbolo(portugol_ipt_1.default.MENOR_IGUAL, '<=', null, linha, this.hashArquivo);
7795
+ const simboloAdicao = new simbolo_1.Simbolo(portugol_ipt_1.default.ADICAO, '+', null, linha, this.hashArquivo);
7796
+ const inicializador = new declaracoes_1.Expressao(new construtos_1.Atribuir(this.hashArquivo, varIteracao, inicioExpr));
7797
+ const condicao = new construtos_1.Binario(this.hashArquivo, varIteracao, simboloMenorIgual, fimExpr);
7798
+ const incrementar = new construtos_1.Atribuir(this.hashArquivo, varIteracao, new construtos_1.Binario(this.hashArquivo, varIteracao, simboloAdicao, passoExpr));
7799
+ return new declaracoes_1.Para(this.hashArquivo, linha, inicializador, condicao, incrementar, corpo);
7533
7800
  }
7534
- declaracaoEscolha() {
7535
- throw new Error('Método não implementado.');
7801
+ /**
7802
+ * `repete ... ate cond`
7803
+ * Semântica: executa o corpo e repete enquanto a condição for FALSA (repeat-until).
7804
+ * Mapeado para `Fazer` com a condição invertida via `nao`.
7805
+ */
7806
+ async declaracaoRepete() {
7807
+ const simboloRepete = this.avancarEDevolverAnterior(); // consome 'repete'
7808
+ this.consumirQuebrasLinha();
7809
+ const corpo = await this.resolverBloco([portugol_ipt_1.default.ATE]);
7810
+ this.consumir(portugol_ipt_1.default.ATE, "Esperado 'ate' para fechar o laço 'repete'.");
7811
+ const condicaoAte = await this.expressao();
7812
+ // Inverte a condição: o loop continua enquanto `ate cond` for falso
7813
+ const operadorNao = new simbolo_1.Simbolo(portugol_ipt_1.default.NAO, 'nao', null, condicaoAte.linha, this.hashArquivo);
7814
+ const condicaoInvertida = new construtos_1.Unario(this.hashArquivo, operadorNao, condicaoAte, 'ANTES');
7815
+ return new declaracoes_1.Fazer(this.hashArquivo, Number(simboloRepete.linha), corpo, condicaoInvertida);
7536
7816
  }
7537
- declaracaoFazer() {
7538
- throw new Error('Método não implementado.');
7817
+ /**
7818
+ * `faz ... enquanto cond`
7819
+ * O `enquanto` de fechamento é distinguido no lexer (FAZENQUANTO) do `enquanto` de abertura.
7820
+ */
7821
+ async declaracaoFazer() {
7822
+ const simboloFaz = this.avancarEDevolverAnterior(); // consome 'faz'
7823
+ this.consumirQuebrasLinha();
7824
+ const corpo = await this.resolverBloco([portugol_ipt_1.default.FAZENQUANTO]);
7825
+ this.consumir(portugol_ipt_1.default.FAZENQUANTO, "Esperado 'enquanto' para fechar o laço 'faz'.");
7826
+ const condicao = await this.expressao();
7827
+ return new declaracoes_1.Fazer(this.hashArquivo, Number(simboloFaz.linha), corpo, condicao);
7539
7828
  }
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);
7829
+ /**
7830
+ * `escolhe expr caso v[, v...]: instr ... [defeito: instr] fimescolhe`
7831
+ */
7832
+ declaracaoEscolha() {
7833
+ this.avancarEDevolverAnterior(); // consome 'escolhe'
7834
+ const identificador = this.primario();
7835
+ // A versão síncrona é necessária porque a interface do base declara este como não-async.
7836
+ // Fazemos o cast após — o analisar() é async e usa await nos callers.
7837
+ throw new Error('Use declaracaoEscolhaAsync() internamente.');
7838
+ }
7839
+ async declaracaoEscolhaAsync() {
7840
+ this.avancarEDevolverAnterior(); // consome 'escolhe'
7841
+ const identificador = await this.expressao();
7842
+ this.consumirQuebrasLinha();
7843
+ const caminhos = [];
7844
+ let caminhoPadrao = null;
7845
+ while (!this.estaNoFinal() && !this.fechamentoEscolheAtual()) {
7846
+ this.consumirQuebrasLinha();
7847
+ if (this.estaNoFinal() || this.fechamentoEscolheAtual()) {
7848
+ break;
7849
+ }
7850
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.CASO)) {
7851
+ // Múltiplos valores por caso: `caso 1, 2, 3:`
7852
+ const condicoes = [];
7853
+ do {
7854
+ condicoes.push(await this.expressao());
7855
+ } while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.VIRGULA));
7856
+ this.consumir(portugol_ipt_1.default.DOIS_PONTOS, "Esperado ':' após valor do 'caso'.");
7857
+ this.consumirQuebrasLinha();
7858
+ const bloco = await this.resolverBloco([
7859
+ portugol_ipt_1.default.CASO,
7860
+ portugol_ipt_1.default.DEFEITO,
7861
+ portugol_ipt_1.default.FIMESCOLHE,
7862
+ portugol_ipt_1.default.FIM,
7863
+ ]);
7864
+ caminhos.push({ condicoes, declaracoes: bloco.declaracoes });
7865
+ }
7866
+ else if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.DEFEITO)) {
7867
+ this.consumir(portugol_ipt_1.default.DOIS_PONTOS, "Esperado ':' após 'defeito'.");
7868
+ this.consumirQuebrasLinha();
7869
+ const bloco = await this.resolverBloco([portugol_ipt_1.default.FIMESCOLHE, portugol_ipt_1.default.FIM]);
7870
+ caminhoPadrao = { condicoes: [], declaracoes: bloco.declaracoes };
7871
+ }
7872
+ else {
7873
+ break;
7874
+ }
7875
+ }
7876
+ this.consumirFechamentoEscolhe();
7877
+ return new declaracoes_1.Escolha(identificador, caminhos, caminhoPadrao);
7554
7878
  }
7555
7879
  /**
7556
- * Análise de uma declaração `leia()`. No VisuAlg, `leia()` aceita 1..N argumentos.
7557
- * @returns Uma declaração `Leia`.
7880
+ * `ler var [, var ...]`
7558
7881
  */
7559
7882
  async expressaoLeia() {
7560
7883
  const simboloAtual = this.avancarEDevolverAnterior();
@@ -7564,48 +7887,148 @@ class AvaliadorSintaticoPortugolIpt extends avaliador_sintatico_base_1.Avaliador
7564
7887
  } while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.VIRGULA));
7565
7888
  return new construtos_1.Leia(simboloAtual, argumentos);
7566
7889
  }
7567
- corpoDaFuncao(tipo) {
7568
- throw new Error('Método não implementado.');
7890
+ /**
7891
+ * Declara variáveis de um dado tipo, com suporte a arrays e valor inicial.
7892
+ * Ex: `inteiro x`, `real y = 3.14`, `logico v[5]`
7893
+ */
7894
+ async declaracaoVariaveis(tipoToken, tipoDelegua, valorPadrao) {
7895
+ const simboloTipo = this.avancarEDevolverAnterior();
7896
+ const linha = Number(simboloTipo.linha);
7897
+ const inicializacoes = [];
7898
+ do {
7899
+ const identificador = this.consumir(portugol_ipt_1.default.IDENTIFICADOR, `Esperado identificador após '${simboloTipo.lexema}'.`);
7900
+ // Array: `inteiro v[10]`
7901
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.COLCHETE_ESQUERDO)) {
7902
+ const expressaoTamanho = await this.expressao();
7903
+ const tamanhoConstante = this.avaliarExpressaoNumericaConstante(expressaoTamanho);
7904
+ if (tamanhoConstante === null ||
7905
+ !Number.isInteger(tamanhoConstante) ||
7906
+ tamanhoConstante < 0) {
7907
+ throw this.erro(identificador, 'Tamanho do vetor deve ser expressão numérica inteira constante e não-negativa.');
7908
+ }
7909
+ const tamanho = Number(tamanhoConstante);
7910
+ this.consumir(portugol_ipt_1.default.COLCHETE_DIREITO, "Esperado ']' após tamanho do vetor.");
7911
+ const elementos = Array.from({ length: tamanho }, () => new construtos_1.Literal(this.hashArquivo, linha, valorPadrao, tipoDelegua));
7912
+ inicializacoes.push(new declaracoes_1.Var(identificador, new construtos_1.Vetor(this.hashArquivo, linha, elementos, `${tipoDelegua}[]`)));
7913
+ }
7914
+ else {
7915
+ // Inicialização opcional: `inteiro x = 5` (usa = como igualdade aqui, não seta)
7916
+ let valorInicial = new construtos_1.Literal(this.hashArquivo, linha, valorPadrao, tipoDelegua);
7917
+ if (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.IGUAL)) {
7918
+ valorInicial = await this.expressao();
7919
+ }
7920
+ inicializacoes.push(new declaracoes_1.Var(identificador, valorInicial, tipoDelegua));
7921
+ }
7922
+ } while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.VIRGULA));
7923
+ return inicializacoes;
7569
7924
  }
7925
+ /**
7926
+ * `constante tipo nome = valor`
7927
+ */
7928
+ async declaracaoConstante() {
7929
+ this.avancarEDevolverAnterior(); // consome 'constante'
7930
+ // Tipo obrigatório após 'constante'
7931
+ const tipoSimbolo = this.simbolos[this.atual];
7932
+ const mapaValoresPadrao = {
7933
+ [portugol_ipt_1.default.INTEIRO]: 0,
7934
+ [portugol_ipt_1.default.TEXTO]: '',
7935
+ [portugol_ipt_1.default.REAL]: 0.0,
7936
+ [portugol_ipt_1.default.LOGICO]: false,
7937
+ [portugol_ipt_1.default.CARACTER]: '',
7938
+ };
7939
+ const mapaTipos = {
7940
+ [portugol_ipt_1.default.INTEIRO]: 'inteiro',
7941
+ [portugol_ipt_1.default.TEXTO]: 'texto',
7942
+ [portugol_ipt_1.default.REAL]: 'real',
7943
+ [portugol_ipt_1.default.LOGICO]: 'lógico',
7944
+ [portugol_ipt_1.default.CARACTER]: 'caracter',
7945
+ };
7946
+ if (!(tipoSimbolo.tipo in mapaValoresPadrao)) {
7947
+ throw this.erro(tipoSimbolo, "Esperado tipo após 'constante'.");
7948
+ }
7949
+ this.avancarEDevolverAnterior(); // consome o tipo
7950
+ const tipoDelegua = mapaTipos[tipoSimbolo.tipo];
7951
+ const constantes = [];
7952
+ do {
7953
+ const identificador = this.consumir(portugol_ipt_1.default.IDENTIFICADOR, `Esperado identificador após '${tipoSimbolo.lexema}'.`);
7954
+ this.consumir(portugol_ipt_1.default.IGUAL, "Esperado '=' após nome da constante.");
7955
+ const valor = await this.expressao();
7956
+ constantes.push(new declaracoes_1.Const(identificador, valor, tipoDelegua, true));
7957
+ } while (this.verificarSeSimboloAtualEIgualA(portugol_ipt_1.default.VIRGULA));
7958
+ return constantes;
7959
+ }
7960
+ // ── Ponto de entrada de declarações ────────────────────────────────────────
7570
7961
  async resolverDeclaracaoForaDeBloco() {
7571
7962
  const simboloAtual = this.simbolos[this.atual];
7572
7963
  switch (simboloAtual.tipo) {
7573
7964
  case portugol_ipt_1.default.ESCREVER:
7574
7965
  return await this.declaracaoEscreva();
7575
- case portugol_ipt_1.default.INTEIRO:
7576
- return await this.declaracaoInteiros();
7577
7966
  case portugol_ipt_1.default.LER:
7578
7967
  return new declaracoes_1.Expressao(await this.expressaoLeia());
7968
+ case portugol_ipt_1.default.SE:
7969
+ return await this.declaracaoSe();
7970
+ case portugol_ipt_1.default.ENQUANTO:
7971
+ return await this.declaracaoEnquanto();
7972
+ case portugol_ipt_1.default.PARA:
7973
+ return await this.declaracaoPara();
7974
+ case portugol_ipt_1.default.REPETE:
7975
+ return await this.declaracaoRepete();
7976
+ case portugol_ipt_1.default.FAZ:
7977
+ return await this.declaracaoFazer();
7978
+ case portugol_ipt_1.default.ESCOLHE:
7979
+ return await this.declaracaoEscolhaAsync();
7980
+ case portugol_ipt_1.default.INTEIRO:
7981
+ return await this.declaracaoVariaveis(portugol_ipt_1.default.INTEIRO, 'inteiro', 0);
7982
+ case portugol_ipt_1.default.TEXTO:
7983
+ if (simboloAtual.literal === null &&
7984
+ String(simboloAtual.lexema).toLowerCase() === 'texto') {
7985
+ return await this.declaracaoVariaveis(portugol_ipt_1.default.TEXTO, 'texto', '');
7986
+ }
7987
+ return new declaracoes_1.Expressao(await this.expressao());
7988
+ case portugol_ipt_1.default.REAL:
7989
+ return await this.declaracaoVariaveis(portugol_ipt_1.default.REAL, 'real', 0.0);
7990
+ case portugol_ipt_1.default.LOGICO:
7991
+ return await this.declaracaoVariaveis(portugol_ipt_1.default.LOGICO, 'lógico', false);
7992
+ case portugol_ipt_1.default.CARACTER:
7993
+ return await this.declaracaoVariaveis(portugol_ipt_1.default.CARACTER, 'caracter', '');
7994
+ case portugol_ipt_1.default.CONSTANTE:
7995
+ return await this.declaracaoConstante();
7996
+ case portugol_ipt_1.default.VARIAVEL: {
7997
+ // 'variavel' é apenas um modificador opcional; avança e processa o tipo
7998
+ this.avancarEDevolverAnterior();
7999
+ return await this.resolverDeclaracaoForaDeBloco();
8000
+ }
7579
8001
  case portugol_ipt_1.default.QUEBRA_LINHA:
7580
8002
  this.avancarEDevolverAnterior();
7581
8003
  return null;
7582
- case portugol_ipt_1.default.SE:
7583
- return await this.declaracaoSe();
7584
8004
  default:
7585
8005
  return new declaracoes_1.Expressao(await this.expressao());
7586
8006
  }
7587
8007
  }
7588
- validarSegmentoInicio() {
7589
- this.consumir(portugol_ipt_1.default.INICIO, `Esperada expressão 'inicio' para marcar escopo do algoritmo.`);
8008
+ // ── Métodos obrigatórios não usados em Portugol IPT ────────────────────────
8009
+ blocoEscopo() {
8010
+ throw new Error('Método não implementado.');
8011
+ }
8012
+ corpoDaFuncao(_tipo) {
8013
+ throw new Error('Portugol IPT não suporta funções definidas pelo utilizador.');
7590
8014
  }
8015
+ // ── Ponto de entrada principal ─────────────────────────────────────────────
7591
8016
  async analisar(retornoLexador, hashArquivo) {
7592
8017
  this.erros = [];
7593
8018
  this.atual = 0;
7594
8019
  this.blocos = 0;
7595
8020
  this.hashArquivo = hashArquivo || 0;
7596
8021
  this.simbolos = retornoLexador?.simbolos || [];
7597
- while (this.verificarTipoSimboloAtual(portugol_ipt_1.default.QUEBRA_LINHA)) {
7598
- this.avancarEDevolverAnterior();
7599
- }
8022
+ this.consumirQuebrasLinha();
8023
+ this.consumir(portugol_ipt_1.default.INICIO, "Esperado 'inicio' para marcar o início do algoritmo.");
7600
8024
  let declaracoes = [];
7601
- this.validarSegmentoInicio();
7602
8025
  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);
8026
+ const resolucao = await this.resolverDeclaracaoForaDeBloco();
8027
+ if (Array.isArray(resolucao)) {
8028
+ declaracoes = declaracoes.concat(resolucao);
7606
8029
  }
7607
- else {
7608
- declaracoes.push(resolucaoDeclaracao);
8030
+ else if (resolucao !== null && resolucao !== undefined) {
8031
+ declaracoes.push(resolucao);
7609
8032
  }
7610
8033
  }
7611
8034
  return {
@@ -7616,7 +8039,7 @@ class AvaliadorSintaticoPortugolIpt extends avaliador_sintatico_base_1.Avaliador
7616
8039
  }
7617
8040
  exports.AvaliadorSintaticoPortugolIpt = AvaliadorSintaticoPortugolIpt;
7618
8041
 
7619
- },{"../../construtos":62,"../../declaracoes":110,"../../tipos-de-simbolos/portugol-ipt":229,"../avaliador-sintatico-base":9}],15:[function(require,module,exports){
8042
+ },{"../../construtos":62,"../../declaracoes":110,"../../lexador/simbolo":218,"../../tipos-de-simbolos/portugol-ipt":230,"../avaliador-sintatico-base":9}],15:[function(require,module,exports){
7620
8043
  "use strict";
7621
8044
  var __importDefault = (this && this.__importDefault) || function (mod) {
7622
8045
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -8586,7 +9009,7 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
8586
9009
  }
8587
9010
  exports.AvaliadorSintaticoPrisma = AvaliadorSintaticoPrisma;
8588
9011
 
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){
9012
+ },{"../../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
9013
  "use strict";
8591
9014
  var __importDefault = (this && this.__importDefault) || function (mod) {
8592
9015
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -9598,7 +10021,7 @@ class AvaliadorSintaticoTenda extends avaliador_sintatico_base_1.AvaliadorSintat
9598
10021
  }
9599
10022
  exports.AvaliadorSintaticoTenda = AvaliadorSintaticoTenda;
9600
10023
 
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){
10024
+ },{"../../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
10025
  "use strict";
9603
10026
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9604
10027
  if (k2 === undefined) k2 = k;
@@ -9861,7 +10284,7 @@ class MicroAvaliadorSintaticoPitugues extends micro_avaliador_sintatico_base_1.M
9861
10284
  }
9862
10285
  exports.MicroAvaliadorSintaticoPitugues = MicroAvaliadorSintaticoPitugues;
9863
10286
 
9864
- },{"../../construtos":62,"../../declaracoes":110,"../../inferenciador":138,"../../tipos-de-simbolos/pitugues":228,"../micro-avaliador-sintatico-base":23}],19:[function(require,module,exports){
10287
+ },{"../../construtos":62,"../../declaracoes":110,"../../inferenciador":139,"../../tipos-de-simbolos/pitugues":229,"../micro-avaliador-sintatico-base":23}],19:[function(require,module,exports){
9865
10288
  "use strict";
9866
10289
  Object.defineProperty(exports, "__esModule", { value: true });
9867
10290
  exports.ElementoMontaoTipos = void 0;
@@ -10043,7 +10466,7 @@ class MicroAvaliadorSintaticoBase {
10043
10466
  }
10044
10467
  exports.MicroAvaliadorSintaticoBase = MicroAvaliadorSintaticoBase;
10045
10468
 
10046
- },{"../construtos":62,"../tipos-de-simbolos/comum":223,"./erro-avaliador-sintatico":20}],24:[function(require,module,exports){
10469
+ },{"../construtos":62,"../tipos-de-simbolos/comum":224,"./erro-avaliador-sintatico":20}],24:[function(require,module,exports){
10047
10470
  "use strict";
10048
10471
  var __importDefault = (this && this.__importDefault) || function (mod) {
10049
10472
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -10258,7 +10681,7 @@ class MicroAvaliadorSintatico extends micro_avaliador_sintatico_base_1.MicroAval
10258
10681
  }
10259
10682
  exports.MicroAvaliadorSintatico = MicroAvaliadorSintatico;
10260
10683
 
10261
- },{"../construtos":62,"../tipos-de-simbolos/microgramaticas/delegua":227,"./micro-avaliador-sintatico-base":23}],25:[function(require,module,exports){
10684
+ },{"../construtos":62,"../tipos-de-simbolos/microgramaticas/delegua":228,"./micro-avaliador-sintatico-base":23}],25:[function(require,module,exports){
10262
10685
  "use strict";
10263
10686
  Object.defineProperty(exports, "__esModule", { value: true });
10264
10687
  exports.MontaoTipos = void 0;
@@ -10309,7 +10732,7 @@ class MontaoTipos {
10309
10732
  }
10310
10733
  exports.MontaoTipos = MontaoTipos;
10311
10734
 
10312
- },{"../geracao-identificadores":136,"./erro-avaliador-sintatico":20}],26:[function(require,module,exports){
10735
+ },{"../geracao-identificadores":137,"./erro-avaliador-sintatico":20}],26:[function(require,module,exports){
10313
10736
  "use strict";
10314
10737
  Object.defineProperty(exports, "__esModule", { value: true });
10315
10738
  exports.PilhaEscopos = void 0;
@@ -11551,7 +11974,7 @@ async function vetor(interpretador, tupla) {
11551
11974
  return resultadoFinal;
11552
11975
  }
11553
11976
 
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){
11977
+ },{"../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
11978
  "use strict";
11556
11979
  Object.defineProperty(exports, "__esModule", { value: true });
11557
11980
  const excecoes_1 = require("../../../excecoes");
@@ -11574,7 +11997,7 @@ exports.default = {
11574
11997
  },
11575
11998
  };
11576
11999
 
11577
- },{"../../../construtos":62,"../../../excecoes":132}],29:[function(require,module,exports){
12000
+ },{"../../../construtos":62,"../../../excecoes":133}],29:[function(require,module,exports){
11578
12001
  "use strict";
11579
12002
  Object.defineProperty(exports, "__esModule", { value: true });
11580
12003
  const construtos_1 = require("../construtos");
@@ -11599,6 +12022,37 @@ const contemComum = (nome) => {
11599
12022
  };
11600
12023
  };
11601
12024
  exports.default = {
12025
+ mesclar: {
12026
+ tipoRetorno: 'dicionário',
12027
+ argumentos: [
12028
+ new informacao_elemento_sintatico_1.InformacaoElementoSintatico('outroDicionario', 'dicionário', true, [], 'Outro dicionário a ser mesclado com este dicionário.'),
12029
+ ],
12030
+ implementacao: (interpretador, valor, outroDicionario) => {
12031
+ if (!outroDicionario ||
12032
+ Array.isArray(outroDicionario) ||
12033
+ outroDicionario.constructor !== Object) {
12034
+ return Promise.reject(new Error('O argumento de dicionário.mesclar() deve ser um dicionário.'));
12035
+ }
12036
+ return Promise.resolve(Object.assign({}, valor, outroDicionario));
12037
+ },
12038
+ assinaturaFormato: 'dicionário.mesclar(outroDicionario: dicionário)',
12039
+ },
12040
+ // Compatibilidade retroativa com versões anteriores.
12041
+ concatenar: {
12042
+ tipoRetorno: 'dicionário',
12043
+ argumentos: [
12044
+ new informacao_elemento_sintatico_1.InformacaoElementoSintatico('outroDicionario', 'dicionário', true, [], 'Outro dicionário a ser mesclado com este dicionário.'),
12045
+ ],
12046
+ implementacao: (interpretador, valor, outroDicionario) => {
12047
+ if (!outroDicionario ||
12048
+ Array.isArray(outroDicionario) ||
12049
+ outroDicionario.constructor !== Object) {
12050
+ return Promise.reject(new Error('O argumento de dicionário.mesclar() deve ser um dicionário.'));
12051
+ }
12052
+ return Promise.resolve(Object.assign({}, valor, outroDicionario));
12053
+ },
12054
+ assinaturaFormato: 'dicionário.concatenar(outroDicionario: dicionário)',
12055
+ },
11602
12056
  chaves: {
11603
12057
  tipoRetorno: 'texto[]',
11604
12058
  argumentos: [],
@@ -11656,7 +12110,7 @@ exports.default = {
11656
12110
  },
11657
12111
  };
11658
12112
 
11659
- },{"../construtos":62,"../informacao-elemento-sintatico":139}],30:[function(require,module,exports){
12113
+ },{"../construtos":62,"../informacao-elemento-sintatico":140}],30:[function(require,module,exports){
11660
12114
  "use strict";
11661
12115
  Object.defineProperty(exports, "__esModule", { value: true });
11662
12116
  const informacao_elemento_sintatico_1 = require("../informacao-elemento-sintatico");
@@ -11741,7 +12195,7 @@ exports.default = {
11741
12195
  },
11742
12196
  };
11743
12197
 
11744
- },{"../informacao-elemento-sintatico":139}],31:[function(require,module,exports){
12198
+ },{"../informacao-elemento-sintatico":140}],31:[function(require,module,exports){
11745
12199
  "use strict";
11746
12200
  Object.defineProperty(exports, "__esModule", { value: true });
11747
12201
  exports.implementacaoParticao = void 0;
@@ -12140,7 +12594,7 @@ exports.default = {
12140
12594
  },
12141
12595
  };
12142
12596
 
12143
- },{"../construtos":62,"../excecoes":132,"../informacao-elemento-sintatico":139}],32:[function(require,module,exports){
12597
+ },{"../construtos":62,"../excecoes":133,"../informacao-elemento-sintatico":140}],32:[function(require,module,exports){
12144
12598
  "use strict";
12145
12599
  Object.defineProperty(exports, "__esModule", { value: true });
12146
12600
  const informacao_elemento_sintatico_1 = require("../informacao-elemento-sintatico");
@@ -12551,7 +13005,7 @@ exports.default = {
12551
13005
  },
12552
13006
  };
12553
13007
 
12554
- },{"../construtos":62,"../excecoes":132,"../inferenciador":138,"../informacao-elemento-sintatico":139}],33:[function(require,module,exports){
13008
+ },{"../construtos":62,"../excecoes":133,"../inferenciador":139,"../informacao-elemento-sintatico":140}],33:[function(require,module,exports){
12555
13009
  "use strict";
12556
13010
  Object.defineProperty(exports, "__esModule", { value: true });
12557
13011
  exports.AcessoElementoMatriz = void 0;
@@ -13026,7 +13480,7 @@ class Chamada {
13026
13480
  }
13027
13481
  exports.Chamada = Chamada;
13028
13482
 
13029
- },{"../geracao-identificadores":136}],47:[function(require,module,exports){
13483
+ },{"../geracao-identificadores":137}],47:[function(require,module,exports){
13030
13484
  "use strict";
13031
13485
  Object.defineProperty(exports, "__esModule", { value: true });
13032
13486
  exports.ComentarioComoConstruto = void 0;
@@ -13537,7 +13991,7 @@ class Leia {
13537
13991
  }
13538
13992
  exports.Leia = Leia;
13539
13993
 
13540
- },{"../geracao-identificadores":136}],65:[function(require,module,exports){
13994
+ },{"../geracao-identificadores":137}],65:[function(require,module,exports){
13541
13995
  "use strict";
13542
13996
  Object.defineProperty(exports, "__esModule", { value: true });
13543
13997
  exports.ListaCompreensao = void 0;
@@ -14766,7 +15220,7 @@ class FuncaoDeclaracao extends declaracao_1.Declaracao {
14766
15220
  }
14767
15221
  exports.FuncaoDeclaracao = FuncaoDeclaracao;
14768
15222
 
14769
- },{"../geracao-identificadores":136,"./declaracao":99}],109:[function(require,module,exports){
15223
+ },{"../geracao-identificadores":137,"./declaracao":99}],109:[function(require,module,exports){
14770
15224
  "use strict";
14771
15225
  Object.defineProperty(exports, "__esModule", { value: true });
14772
15226
  exports.Importar = void 0;
@@ -15446,7 +15900,7 @@ class EstilizadorDelegua {
15446
15900
  }
15447
15901
  exports.EstilizadorDelegua = EstilizadorDelegua;
15448
15902
 
15449
- },{"../formatadores":135,"./quebrador-linha":126}],125:[function(require,module,exports){
15903
+ },{"../formatadores":136,"./quebrador-linha":126}],125:[function(require,module,exports){
15450
15904
  "use strict";
15451
15905
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15452
15906
  if (k2 === undefined) k2 = k;
@@ -15515,6 +15969,17 @@ function obterIndentacao(linha) {
15515
15969
  const match = linha.match(/^(\s*)/);
15516
15970
  return match ? match[1] : '';
15517
15971
  }
15972
+ /**
15973
+ * Detecta linhas de comentário que devem ser preservadas intactas.
15974
+ */
15975
+ function ehLinhaComentario(linha) {
15976
+ const semIndentacao = linha.trimStart();
15977
+ return (semIndentacao.startsWith('//') ||
15978
+ semIndentacao.startsWith('#') ||
15979
+ semIndentacao.startsWith('/*') ||
15980
+ semIndentacao.startsWith('*') ||
15981
+ semIndentacao.startsWith('*/'));
15982
+ }
15518
15983
  /**
15519
15984
  * Encontra todos os pontos de quebra válidos em uma linha, retornando os índices
15520
15985
  * onde a próxima linha de continuação deve começar (já avançado o espaço separador).
@@ -15568,6 +16033,8 @@ function encontrarPontosDeQuebra(linha) {
15568
16033
  * Se a linha não puder ser melhorada (apenas 1 segmento), retorna a original intacta.
15569
16034
  */
15570
16035
  function quebrarLinha(linha, maximo, indentacaoContinuacao) {
16036
+ if (ehLinhaComentario(linha))
16037
+ return [linha];
15571
16038
  if (linha.length <= maximo)
15572
16039
  return [linha];
15573
16040
  const pontos = encontrarPontosDeQuebra(linha);
@@ -15671,9 +16138,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15671
16138
  Object.defineProperty(exports, "__esModule", { value: true });
15672
16139
  __exportStar(require("./regra-fortalecer-tipos"), exports);
15673
16140
  __exportStar(require("./regra-convencao-nomenclatura"), exports);
16141
+ __exportStar(require("./regra-explicitar-tipos-parametros"), exports);
15674
16142
  __exportStar(require("./regra-paradigma-consistente"), exports);
15675
16143
 
15676
- },{"./regra-convencao-nomenclatura":128,"./regra-fortalecer-tipos":129,"./regra-paradigma-consistente":130}],128:[function(require,module,exports){
16144
+ },{"./regra-convencao-nomenclatura":128,"./regra-explicitar-tipos-parametros":129,"./regra-fortalecer-tipos":130,"./regra-paradigma-consistente":131}],128:[function(require,module,exports){
15677
16145
  "use strict";
15678
16146
  Object.defineProperty(exports, "__esModule", { value: true });
15679
16147
  exports.RegraConvencaoNomenclatura = void 0;
@@ -15697,20 +16165,13 @@ class RegraConvencaoNomenclatura {
15697
16165
  };
15698
16166
  }
15699
16167
  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
- }
16168
+ this.visitarObjeto(declaracao, new Set());
15712
16169
  return declaracao;
15713
16170
  }
16171
+ aplicarEmConstruto(construto) {
16172
+ this.visitarObjeto(construto, new Set());
16173
+ return construto;
16174
+ }
15714
16175
  /**
15715
16176
  * Aplica convenção em declaração Var.
15716
16177
  */
@@ -15792,14 +16253,41 @@ class RegraConvencaoNomenclatura {
15792
16253
  */
15793
16254
  paraSnakeCase(nome) {
15794
16255
  return (nome
15795
- // Adiciona underscore antes de letras maiúsculas
15796
- .replace(/([A-Z])/g, '_$1')
16256
+ // Separa limites entre minúsculas/dígitos e maiúsculas.
16257
+ .replace(/([a-z0-9])([A-Z])/g, '$1_$2')
16258
+ // Separa blocos maiúsculos quando o último inicia uma palavra normal.
16259
+ .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2')
16260
+ .replace(/[\s-]+/g, '_')
15797
16261
  .toLowerCase()
15798
16262
  // Remove underscores duplicados
15799
16263
  .replace(/__+/g, '_')
15800
16264
  // Remove underscore inicial se houver
15801
16265
  .replace(/^_/, ''));
15802
16266
  }
16267
+ visitarObjeto(objeto, visitados) {
16268
+ if (!objeto || typeof objeto !== 'object' || visitados.has(objeto)) {
16269
+ return;
16270
+ }
16271
+ visitados.add(objeto);
16272
+ if (objeto instanceof declaracoes_1.Var) {
16273
+ this.aplicarConvencaoVar(objeto);
16274
+ }
16275
+ else if (objeto instanceof declaracoes_1.Const) {
16276
+ this.aplicarConvencaoConst(objeto);
16277
+ }
16278
+ else if (objeto instanceof declaracoes_1.FuncaoDeclaracao) {
16279
+ this.aplicarConvencaoFuncao(objeto);
16280
+ }
16281
+ if (Array.isArray(objeto)) {
16282
+ for (const item of objeto) {
16283
+ this.visitarObjeto(item, visitados);
16284
+ }
16285
+ return;
16286
+ }
16287
+ for (const valor of Object.values(objeto)) {
16288
+ this.visitarObjeto(valor, visitados);
16289
+ }
16290
+ }
15803
16291
  /**
15804
16292
  * Converte nome para PascalCase.
15805
16293
  */
@@ -15825,6 +16313,57 @@ exports.RegraConvencaoNomenclatura = RegraConvencaoNomenclatura;
15825
16313
  },{"../../declaracoes":110}],129:[function(require,module,exports){
15826
16314
  "use strict";
15827
16315
  Object.defineProperty(exports, "__esModule", { value: true });
16316
+ exports.RegraExplicitarTiposParametros = void 0;
16317
+ /**
16318
+ * Regra que explicita o tipo `qualquer` em parâmetros sem anotação.
16319
+ */
16320
+ class RegraExplicitarTiposParametros {
16321
+ constructor() {
16322
+ this.nome = 'explicitar-tipos-parametros';
16323
+ this.descricao = 'Explicita o tipo `qualquer` em parâmetros sem tipo declarado';
16324
+ }
16325
+ aplicarEmDeclaracao(declaracao) {
16326
+ this.visitarObjeto(declaracao, new Set());
16327
+ return declaracao;
16328
+ }
16329
+ aplicarEmConstruto(construto) {
16330
+ this.visitarObjeto(construto, new Set());
16331
+ return construto;
16332
+ }
16333
+ visitarObjeto(objeto, visitados) {
16334
+ if (!objeto || typeof objeto !== 'object' || visitados.has(objeto)) {
16335
+ return;
16336
+ }
16337
+ visitados.add(objeto);
16338
+ if (Array.isArray(objeto)) {
16339
+ for (const item of objeto) {
16340
+ this.visitarObjeto(item, visitados);
16341
+ }
16342
+ return;
16343
+ }
16344
+ if (this.ehAssinaturaComParametros(objeto)) {
16345
+ this.explicitarParametros(objeto.parametros);
16346
+ }
16347
+ for (const valor of Object.values(objeto)) {
16348
+ this.visitarObjeto(valor, visitados);
16349
+ }
16350
+ }
16351
+ ehAssinaturaComParametros(objeto) {
16352
+ return 'parametros' in objeto && Array.isArray(objeto.parametros);
16353
+ }
16354
+ explicitarParametros(parametros) {
16355
+ for (const parametro of parametros) {
16356
+ if (!parametro.tipoDado) {
16357
+ parametro.tipoDado = 'qualquer';
16358
+ }
16359
+ }
16360
+ }
16361
+ }
16362
+ exports.RegraExplicitarTiposParametros = RegraExplicitarTiposParametros;
16363
+
16364
+ },{}],130:[function(require,module,exports){
16365
+ "use strict";
16366
+ Object.defineProperty(exports, "__esModule", { value: true });
15828
16367
  exports.RegraFortalecerTipos = void 0;
15829
16368
  const declaracoes_1 = require("../../declaracoes");
15830
16369
  const construtos_1 = require("../../construtos");
@@ -15907,7 +16446,7 @@ class RegraFortalecerTipos {
15907
16446
  }
15908
16447
  exports.RegraFortalecerTipos = RegraFortalecerTipos;
15909
16448
 
15910
- },{"../../construtos":62,"../../declaracoes":110,"../../inferenciador":138}],130:[function(require,module,exports){
16449
+ },{"../../construtos":62,"../../declaracoes":110,"../../inferenciador":139}],131:[function(require,module,exports){
15911
16450
  "use strict";
15912
16451
  Object.defineProperty(exports, "__esModule", { value: true });
15913
16452
  exports.RegraParadigmaConsistente = void 0;
@@ -15997,7 +16536,7 @@ class RegraParadigmaConsistente {
15997
16536
  }
15998
16537
  exports.RegraParadigmaConsistente = RegraParadigmaConsistente;
15999
16538
 
16000
- },{"../../construtos/leia":64,"../../declaracoes":110,"../../lexador/mapeamento-paradigmas":213}],131:[function(require,module,exports){
16539
+ },{"../../construtos/leia":64,"../../declaracoes":110,"../../lexador/mapeamento-paradigmas":214}],132:[function(require,module,exports){
16001
16540
  "use strict";
16002
16541
  Object.defineProperty(exports, "__esModule", { value: true });
16003
16542
  exports.ErroEmTempoDeExecucao = void 0;
@@ -16012,7 +16551,7 @@ class ErroEmTempoDeExecucao extends Error {
16012
16551
  }
16013
16552
  exports.ErroEmTempoDeExecucao = ErroEmTempoDeExecucao;
16014
16553
 
16015
- },{}],132:[function(require,module,exports){
16554
+ },{}],133:[function(require,module,exports){
16016
16555
  "use strict";
16017
16556
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16018
16557
  if (k2 === undefined) k2 = k;
@@ -16031,7 +16570,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16031
16570
  Object.defineProperty(exports, "__esModule", { value: true });
16032
16571
  __exportStar(require("./erro-em-tempo-de-execucao"), exports);
16033
16572
 
16034
- },{"./erro-em-tempo-de-execucao":131}],133:[function(require,module,exports){
16573
+ },{"./erro-em-tempo-de-execucao":132}],134:[function(require,module,exports){
16035
16574
  "use strict";
16036
16575
  var __importDefault = (this && this.__importDefault) || function (mod) {
16037
16576
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -16082,7 +16621,7 @@ class FormatadorDelegua {
16082
16621
  for (let metodo of declaracao.metodos) {
16083
16622
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}${metodo.nome.lexema}(`;
16084
16623
  for (let parametro of metodo.parametros) {
16085
- this.codigoFormatado += `${parametro.nome.lexema}: ${parametro.tipoDado || 'qualquer'}, `;
16624
+ this.codigoFormatado += `${this.formatarParametro(parametro)}, `;
16086
16625
  }
16087
16626
  if (metodo.parametros.length > 0) {
16088
16627
  this.codigoFormatado = this.codigoFormatado.slice(0, -2);
@@ -16278,7 +16817,7 @@ class FormatadorDelegua {
16278
16817
  // Métodos estrangeiros: emitir apenas a assinatura, sem corpo.
16279
16818
  this.codigoFormatado += `(`;
16280
16819
  for (let argumento of metodo.funcao.parametros) {
16281
- this.codigoFormatado += `${argumento.nome.lexema}: ${argumento.tipoDado || 'qualquer'}, `;
16820
+ this.codigoFormatado += `${this.formatarParametro(argumento)}, `;
16282
16821
  }
16283
16822
  if (metodo.funcao.parametros.length > 0) {
16284
16823
  this.codigoFormatado = this.codigoFormatado.slice(0, -2);
@@ -16688,7 +17227,7 @@ class FormatadorDelegua {
16688
17227
  visitarExpressaoFuncaoConstruto(expressao) {
16689
17228
  this.codigoFormatado += `(`;
16690
17229
  for (let argumento of expressao.parametros) {
16691
- this.codigoFormatado += `${argumento.nome.lexema}: ${argumento.tipoDado || 'qualquer'}, `;
17230
+ this.codigoFormatado += `${this.formatarParametro(argumento)}, `;
16692
17231
  }
16693
17232
  if (expressao.parametros.length > 0) {
16694
17233
  this.codigoFormatado = this.codigoFormatado.slice(0, -2);
@@ -16700,6 +17239,12 @@ class FormatadorDelegua {
16700
17239
  this.codigoFormatado += ' ';
16701
17240
  this.formatarBlocoOuVetorDeclaracoes(expressao.corpo);
16702
17241
  }
17242
+ formatarParametro(parametro) {
17243
+ if (parametro.tipoDado) {
17244
+ return `${parametro.nome.lexema}: ${parametro.tipoDado}`;
17245
+ }
17246
+ return parametro.nome.lexema;
17247
+ }
16703
17248
  visitarExpressaoImportar(expressao) {
16704
17249
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}importar(`;
16705
17250
  this.formatarDeclaracaoOuConstruto(expressao.caminho);
@@ -16986,7 +17531,7 @@ class FormatadorDelegua {
16986
17531
  }
16987
17532
  exports.FormatadorDelegua = FormatadorDelegua;
16988
17533
 
16989
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":224}],134:[function(require,module,exports){
17534
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":225}],135:[function(require,module,exports){
16990
17535
  "use strict";
16991
17536
  var __importDefault = (this && this.__importDefault) || function (mod) {
16992
17537
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -17448,7 +17993,7 @@ class FormatadorPitugues {
17448
17993
  }
17449
17994
  exports.FormatadorPitugues = FormatadorPitugues;
17450
17995
 
17451
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/pitugues":228}],135:[function(require,module,exports){
17996
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/pitugues":229}],136:[function(require,module,exports){
17452
17997
  "use strict";
17453
17998
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17454
17999
  if (k2 === undefined) k2 = k;
@@ -17468,7 +18013,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17468
18013
  __exportStar(require("./formatador-delegua"), exports);
17469
18014
  __exportStar(require("./formatador-pitugues"), exports);
17470
18015
 
17471
- },{"./formatador-delegua":133,"./formatador-pitugues":134}],136:[function(require,module,exports){
18016
+ },{"./formatador-delegua":134,"./formatador-pitugues":135}],137:[function(require,module,exports){
17472
18017
  "use strict";
17473
18018
  Object.defineProperty(exports, "__esModule", { value: true });
17474
18019
  exports.cyrb53 = cyrb53;
@@ -17512,7 +18057,7 @@ function uuidv4() {
17512
18057
  });
17513
18058
  }
17514
18059
 
17515
- },{}],137:[function(require,module,exports){
18060
+ },{}],138:[function(require,module,exports){
17516
18061
  "use strict";
17517
18062
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17518
18063
  if (k2 === undefined) k2 = k;
@@ -17541,7 +18086,7 @@ __exportStar(require("./interpretador"), exports);
17541
18086
  __exportStar(require("./lexador"), exports);
17542
18087
  __exportStar(require("./tradutores"), exports);
17543
18088
 
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){
18089
+ },{"./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
18090
  "use strict";
17546
18091
  var __importDefault = (this && this.__importDefault) || function (mod) {
17547
18092
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -17663,7 +18208,7 @@ function inferirTipoVariavel(variavel) {
17663
18208
  }
17664
18209
  }
17665
18210
 
17666
- },{"./tipos-de-dados/delegua":219,"./tipos-de-dados/primitivos":221,"./tipos-de-simbolos/delegua":224}],139:[function(require,module,exports){
18211
+ },{"./tipos-de-dados/delegua":220,"./tipos-de-dados/primitivos":222,"./tipos-de-simbolos/delegua":225}],140:[function(require,module,exports){
17667
18212
  "use strict";
17668
18213
  Object.defineProperty(exports, "__esModule", { value: true });
17669
18214
  exports.InformacaoElementoSintatico = void 0;
@@ -17682,10 +18227,6 @@ class InformacaoElementoSintatico {
17682
18227
  }
17683
18228
  exports.InformacaoElementoSintatico = InformacaoElementoSintatico;
17684
18229
 
17685
- },{}],140:[function(require,module,exports){
17686
- "use strict";
17687
- Object.defineProperty(exports, "__esModule", { value: true });
17688
-
17689
18230
  },{}],141:[function(require,module,exports){
17690
18231
  "use strict";
17691
18232
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -17705,6 +18246,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
17705
18246
  },{}],145:[function(require,module,exports){
17706
18247
  "use strict";
17707
18248
  Object.defineProperty(exports, "__esModule", { value: true });
18249
+
18250
+ },{}],146:[function(require,module,exports){
18251
+ "use strict";
18252
+ Object.defineProperty(exports, "__esModule", { value: true });
17708
18253
  exports.DiagnosticoSeveridade = void 0;
17709
18254
  var DiagnosticoSeveridade;
17710
18255
  (function (DiagnosticoSeveridade) {
@@ -17714,11 +18259,11 @@ var DiagnosticoSeveridade;
17714
18259
  DiagnosticoSeveridade[DiagnosticoSeveridade["SUGESTAO"] = 3] = "SUGESTAO";
17715
18260
  })(DiagnosticoSeveridade || (exports.DiagnosticoSeveridade = DiagnosticoSeveridade = {}));
17716
18261
 
17717
- },{}],146:[function(require,module,exports){
18262
+ },{}],147:[function(require,module,exports){
17718
18263
  "use strict";
17719
18264
  Object.defineProperty(exports, "__esModule", { value: true });
17720
18265
 
17721
- },{}],147:[function(require,module,exports){
18266
+ },{}],148:[function(require,module,exports){
17722
18267
  "use strict";
17723
18268
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17724
18269
  if (k2 === undefined) k2 = k;
@@ -17739,15 +18284,15 @@ __exportStar(require("./correcao-sugerida-interface"), exports);
17739
18284
  __exportStar(require("./diagnostico-analisador-semantico"), exports);
17740
18285
  __exportStar(require("./erro-interpretador-interface"), exports);
17741
18286
 
17742
- },{"./correcao-sugerida-interface":144,"./diagnostico-analisador-semantico":145,"./erro-interpretador-interface":146}],148:[function(require,module,exports){
18287
+ },{"./correcao-sugerida-interface":145,"./diagnostico-analisador-semantico":146,"./erro-interpretador-interface":147}],149:[function(require,module,exports){
17743
18288
  "use strict";
17744
18289
  Object.defineProperty(exports, "__esModule", { value: true });
17745
18290
 
17746
- },{}],149:[function(require,module,exports){
18291
+ },{}],150:[function(require,module,exports){
17747
18292
  "use strict";
17748
18293
  Object.defineProperty(exports, "__esModule", { value: true });
17749
18294
 
17750
- },{}],150:[function(require,module,exports){
18295
+ },{}],151:[function(require,module,exports){
17751
18296
  "use strict";
17752
18297
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17753
18298
  if (k2 === undefined) k2 = k;
@@ -17788,11 +18333,7 @@ __exportStar(require("./construtos"), exports);
17788
18333
  __exportStar(require("./erros"), exports);
17789
18334
  __exportStar(require("./retornos"), exports);
17790
18335
 
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){
18336
+ },{"./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
18337
  "use strict";
17797
18338
  Object.defineProperty(exports, "__esModule", { value: true });
17798
18339
 
@@ -17826,6 +18367,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
17826
18367
 
17827
18368
  },{}],160:[function(require,module,exports){
17828
18369
  "use strict";
18370
+ Object.defineProperty(exports, "__esModule", { value: true });
18371
+
18372
+ },{}],161:[function(require,module,exports){
18373
+ "use strict";
17829
18374
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17830
18375
  if (k2 === undefined) k2 = k;
17831
18376
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -17847,11 +18392,7 @@ __exportStar(require("./retorno-execucao-interface"), exports);
17847
18392
  __exportStar(require("./retorno-interpretador-interface"), exports);
17848
18393
  __exportStar(require("./retorno-lexador"), exports);
17849
18394
 
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){
18395
+ },{"./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
18396
  "use strict";
17856
18397
  Object.defineProperty(exports, "__esModule", { value: true });
17857
18398
 
@@ -17889,6 +18430,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
17889
18430
 
17890
18431
  },{}],171:[function(require,module,exports){
17891
18432
  "use strict";
18433
+ Object.defineProperty(exports, "__esModule", { value: true });
18434
+
18435
+ },{}],172:[function(require,module,exports){
18436
+ "use strict";
17892
18437
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17893
18438
  if (k2 === undefined) k2 = k;
17894
18439
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -18489,7 +19034,7 @@ function obterAjudaFuncaoPadrao(funcaoPadrao) {
18489
19034
  }
18490
19035
  }
18491
19036
 
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){
19037
+ },{"../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
19038
  "use strict";
18494
19039
  Object.defineProperty(exports, "__esModule", { value: true });
18495
19040
  exports.EspacoMemoria = void 0;
@@ -18514,7 +19059,7 @@ class EspacoMemoria {
18514
19059
  }
18515
19060
  exports.EspacoMemoria = EspacoMemoria;
18516
19061
 
18517
- },{}],173:[function(require,module,exports){
19062
+ },{}],174:[function(require,module,exports){
18518
19063
  "use strict";
18519
19064
  Object.defineProperty(exports, "__esModule", { value: true });
18520
19065
  exports.Chamavel = void 0;
@@ -18531,7 +19076,7 @@ class Chamavel {
18531
19076
  }
18532
19077
  exports.Chamavel = Chamavel;
18533
19078
 
18534
- },{}],174:[function(require,module,exports){
19079
+ },{}],175:[function(require,module,exports){
18535
19080
  "use strict";
18536
19081
  Object.defineProperty(exports, "__esModule", { value: true });
18537
19082
  exports.ClasseDeModulo = void 0;
@@ -18552,7 +19097,7 @@ class ClasseDeModulo extends chamavel_1.Chamavel {
18552
19097
  }
18553
19098
  exports.ClasseDeModulo = ClasseDeModulo;
18554
19099
 
18555
- },{"./chamavel":173}],175:[function(require,module,exports){
19100
+ },{"./chamavel":174}],176:[function(require,module,exports){
18556
19101
  "use strict";
18557
19102
  Object.defineProperty(exports, "__esModule", { value: true });
18558
19103
  exports.ClassePadrao = void 0;
@@ -18593,7 +19138,7 @@ class ClassePadrao extends chamavel_1.Chamavel {
18593
19138
  }
18594
19139
  exports.ClassePadrao = ClassePadrao;
18595
19140
 
18596
- },{"./chamavel":173}],176:[function(require,module,exports){
19141
+ },{"./chamavel":174}],177:[function(require,module,exports){
18597
19142
  "use strict";
18598
19143
  Object.defineProperty(exports, "__esModule", { value: true });
18599
19144
  exports.DeleguaFuncaoNativa = void 0;
@@ -18636,7 +19181,7 @@ class DeleguaFuncaoNativa extends delegua_funcao_1.DeleguaFuncao {
18636
19181
  }
18637
19182
  exports.DeleguaFuncaoNativa = DeleguaFuncaoNativa;
18638
19183
 
18639
- },{"./delegua-funcao":177}],177:[function(require,module,exports){
19184
+ },{"./delegua-funcao":178}],178:[function(require,module,exports){
18640
19185
  "use strict";
18641
19186
  Object.defineProperty(exports, "__esModule", { value: true });
18642
19187
  exports.DeleguaFuncao = void 0;
@@ -18828,7 +19373,7 @@ function tipoDeDados(valor) {
18828
19373
  }
18829
19374
  }
18830
19375
 
18831
- },{"../../declaracoes":110,"../../quebras":218,"../espaco-memoria":172,"./chamavel":173,"./objeto-delegua-classe":185}],178:[function(require,module,exports){
19376
+ },{"../../declaracoes":110,"../../quebras":219,"../espaco-memoria":173,"./chamavel":174,"./objeto-delegua-classe":186}],179:[function(require,module,exports){
18832
19377
  "use strict";
18833
19378
  Object.defineProperty(exports, "__esModule", { value: true });
18834
19379
  exports.DescritorTipoClasse = void 0;
@@ -19142,7 +19687,7 @@ class DescritorTipoClasse extends chamavel_1.Chamavel {
19142
19687
  }
19143
19688
  exports.DescritorTipoClasse = DescritorTipoClasse;
19144
19689
 
19145
- },{"../../excecoes":132,"./chamavel":173,"./metodo-polimorfico":181,"./objeto-delegua-classe":185}],179:[function(require,module,exports){
19690
+ },{"../../excecoes":133,"./chamavel":174,"./metodo-polimorfico":182,"./objeto-delegua-classe":186}],180:[function(require,module,exports){
19146
19691
  "use strict";
19147
19692
  Object.defineProperty(exports, "__esModule", { value: true });
19148
19693
  exports.FuncaoPadrao = void 0;
@@ -19181,7 +19726,7 @@ class FuncaoPadrao extends chamavel_1.Chamavel {
19181
19726
  }
19182
19727
  exports.FuncaoPadrao = FuncaoPadrao;
19183
19728
 
19184
- },{"./chamavel":173}],180:[function(require,module,exports){
19729
+ },{"./chamavel":174}],181:[function(require,module,exports){
19185
19730
  "use strict";
19186
19731
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
19187
19732
  if (k2 === undefined) k2 = k;
@@ -19214,7 +19759,7 @@ __exportStar(require("./objeto-padrao"), exports);
19214
19759
  __exportStar(require("./referencia-montao"), exports);
19215
19760
  __exportStar(require("./super-proxy"), exports);
19216
19761
 
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){
19762
+ },{"./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
19763
  "use strict";
19219
19764
  Object.defineProperty(exports, "__esModule", { value: true });
19220
19765
  exports.MetodoPolimorfico = void 0;
@@ -19392,7 +19937,7 @@ class MetodoPolimorfico extends chamavel_1.Chamavel {
19392
19937
  }
19393
19938
  exports.MetodoPolimorfico = MetodoPolimorfico;
19394
19939
 
19395
- },{"../../excecoes":132,"../../inferenciador":138,"./chamavel":173}],182:[function(require,module,exports){
19940
+ },{"../../excecoes":133,"../../inferenciador":139,"./chamavel":174}],183:[function(require,module,exports){
19396
19941
  "use strict";
19397
19942
  Object.defineProperty(exports, "__esModule", { value: true });
19398
19943
  exports.MetodoPrimitiva = void 0;
@@ -19438,7 +19983,7 @@ class MetodoPrimitiva extends chamavel_1.Chamavel {
19438
19983
  }
19439
19984
  exports.MetodoPrimitiva = MetodoPrimitiva;
19440
19985
 
19441
- },{"./chamavel":173}],183:[function(require,module,exports){
19986
+ },{"./chamavel":174}],184:[function(require,module,exports){
19442
19987
  "use strict";
19443
19988
  Object.defineProperty(exports, "__esModule", { value: true });
19444
19989
  exports.DeleguaModulo = void 0;
@@ -19464,7 +20009,7 @@ class DeleguaModulo {
19464
20009
  }
19465
20010
  exports.DeleguaModulo = DeleguaModulo;
19466
20011
 
19467
- },{}],184:[function(require,module,exports){
20012
+ },{}],185:[function(require,module,exports){
19468
20013
  "use strict";
19469
20014
  Object.defineProperty(exports, "__esModule", { value: true });
19470
20015
  exports.OBJETO_BASE = void 0;
@@ -19538,7 +20083,7 @@ function criarDescritorObjeto() {
19538
20083
  }
19539
20084
  exports.OBJETO_BASE = criarDescritorObjeto();
19540
20085
 
19541
- },{"./delegua-funcao-nativa":176,"./descritor-tipo-classe":178}],185:[function(require,module,exports){
20086
+ },{"./delegua-funcao-nativa":177,"./descritor-tipo-classe":179}],186:[function(require,module,exports){
19542
20087
  "use strict";
19543
20088
  Object.defineProperty(exports, "__esModule", { value: true });
19544
20089
  exports.ObjetoDeleguaClasse = void 0;
@@ -19714,7 +20259,7 @@ class ObjetoDeleguaClasse {
19714
20259
  }
19715
20260
  exports.ObjetoDeleguaClasse = ObjetoDeleguaClasse;
19716
20261
 
19717
- },{"../../excecoes":132}],186:[function(require,module,exports){
20262
+ },{"../../excecoes":133}],187:[function(require,module,exports){
19718
20263
  "use strict";
19719
20264
  Object.defineProperty(exports, "__esModule", { value: true });
19720
20265
  exports.ObjetoPadrao = void 0;
@@ -19748,7 +20293,7 @@ class ObjetoPadrao {
19748
20293
  }
19749
20294
  exports.ObjetoPadrao = ObjetoPadrao;
19750
20295
 
19751
- },{}],187:[function(require,module,exports){
20296
+ },{}],188:[function(require,module,exports){
19752
20297
  "use strict";
19753
20298
  Object.defineProperty(exports, "__esModule", { value: true });
19754
20299
  exports.ReferenciaMontao = void 0;
@@ -19773,7 +20318,7 @@ class ReferenciaMontao {
19773
20318
  }
19774
20319
  exports.ReferenciaMontao = ReferenciaMontao;
19775
20320
 
19776
- },{}],188:[function(require,module,exports){
20321
+ },{}],189:[function(require,module,exports){
19777
20322
  "use strict";
19778
20323
  Object.defineProperty(exports, "__esModule", { value: true });
19779
20324
  exports.SuperProxy = void 0;
@@ -19812,7 +20357,7 @@ class SuperProxy extends chamavel_1.Chamavel {
19812
20357
  }
19813
20358
  exports.SuperProxy = SuperProxy;
19814
20359
 
19815
- },{"./chamavel":173}],189:[function(require,module,exports){
20360
+ },{"./chamavel":174}],190:[function(require,module,exports){
19816
20361
  "use strict";
19817
20362
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
19818
20363
  if (k2 === undefined) k2 = k;
@@ -19833,7 +20378,7 @@ __exportStar(require("./estruturas"), exports);
19833
20378
  __exportStar(require("./interpretador"), exports);
19834
20379
  __exportStar(require("./interpretador-base"), exports);
19835
20380
 
19836
- },{"./estruturas":180,"./interpretador":191,"./interpretador-base":190}],190:[function(require,module,exports){
20381
+ },{"./estruturas":181,"./interpretador":192,"./interpretador-base":191}],191:[function(require,module,exports){
19837
20382
  "use strict";
19838
20383
  var __importDefault = (this && this.__importDefault) || function (mod) {
19839
20384
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -19970,10 +20515,14 @@ class InterpretadorBase {
19970
20515
  return this.resolverNomeObjectoAcessado((objetoAcessado as AcessoIndiceVariavel).entidadeChamada); */
19971
20516
  case construtos_1.Chamada:
19972
20517
  return this.resolverNomeObjectoAcessado(objetoAcessado.entidadeChamada);
20518
+ case construtos_1.Agrupamento:
20519
+ return this.resolverNomeObjectoAcessado(objetoAcessado.expressao);
19973
20520
  case construtos_1.Constante:
19974
20521
  return objetoAcessado.simbolo.lexema;
20522
+ case construtos_1.AcessoMetodo:
19975
20523
  case construtos_1.AcessoMetodoOuPropriedade:
19976
20524
  case construtos_1.AcessoIndiceVariavel:
20525
+ case construtos_1.Binario:
19977
20526
  case construtos_1.Dicionario:
19978
20527
  case construtos_1.Leia:
19979
20528
  case construtos_1.Literal:
@@ -20474,6 +21023,16 @@ class InterpretadorBase {
20474
21023
  if (Array.isArray(valorEsquerdo) && Array.isArray(valorDireito)) {
20475
21024
  return valorEsquerdo.concat(valorDireito);
20476
21025
  }
21026
+ // Se ambos os operandos são dicionários, mescla-os.
21027
+ // Em caso de chaves duplicadas, valores à direita sobrescrevem os da esquerda.
21028
+ if (valorEsquerdo &&
21029
+ valorDireito &&
21030
+ !Array.isArray(valorEsquerdo) &&
21031
+ !Array.isArray(valorDireito) &&
21032
+ valorEsquerdo.constructor === Object &&
21033
+ valorDireito.constructor === Object) {
21034
+ return Object.assign({}, valorEsquerdo, valorDireito);
21035
+ }
20477
21036
  // Auto-promove para BigInt se qualquer operando for BigInt
20478
21037
  if (typeof valorEsquerdo === 'bigint' || typeof valorDireito === 'bigint') {
20479
21038
  const valorResolvidoEsquerdo = typeof valorEsquerdo === 'bigint'
@@ -20661,11 +21220,11 @@ class InterpretadorBase {
20661
21220
  async visitarExpressaoDeChamada(expressao) {
20662
21221
  try {
20663
21222
  let variavelEntidadeChamada = await this.avaliar(expressao.entidadeChamada);
20664
- if (variavelEntidadeChamada === null) {
21223
+ if (variavelEntidadeChamada === null || variavelEntidadeChamada === undefined) {
20665
21224
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, 'Chamada de função ou método inexistente: ' +
20666
21225
  String(expressao.entidadeChamada), expressao.linha));
20667
21226
  }
20668
- if (variavelEntidadeChamada.hasOwnProperty('valorRetornado')) {
21227
+ if (Object.prototype.hasOwnProperty.call(variavelEntidadeChamada, 'valorRetornado')) {
20669
21228
  variavelEntidadeChamada = variavelEntidadeChamada.valorRetornado;
20670
21229
  }
20671
21230
  let entidadeChamada = this.resolverValor(variavelEntidadeChamada);
@@ -22011,7 +22570,7 @@ class InterpretadorBase {
22011
22570
  }
22012
22571
  exports.InterpretadorBase = InterpretadorBase;
22013
22572
 
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){
22573
+ },{"../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
22574
  "use strict";
22016
22575
  var __importDefault = (this && this.__importDefault) || function (mod) {
22017
22576
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -23500,7 +24059,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
23500
24059
  }
23501
24060
  exports.Interpretador = Interpretador;
23502
24061
 
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){
24062
+ },{"../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
24063
  "use strict";
23505
24064
  Object.defineProperty(exports, "__esModule", { value: true });
23506
24065
  exports.Montao = void 0;
@@ -23557,7 +24116,7 @@ class Montao {
23557
24116
  }
23558
24117
  exports.Montao = Montao;
23559
24118
 
23560
- },{"../excecoes":132,"../geracao-identificadores":136}],193:[function(require,module,exports){
24119
+ },{"../excecoes":133,"../geracao-identificadores":137}],194:[function(require,module,exports){
23561
24120
  "use strict";
23562
24121
  var __importDefault = (this && this.__importDefault) || function (mod) {
23563
24122
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -23890,7 +24449,7 @@ class PilhaEscoposExecucao {
23890
24449
  }
23891
24450
  exports.PilhaEscoposExecucao = PilhaEscoposExecucao;
23892
24451
 
23893
- },{"../excecoes":132,"../inferenciador":138,"../lexador":209,"../tipos-de-dados/delegua":219,"./estruturas":180}],194:[function(require,module,exports){
24452
+ },{"../excecoes":133,"../inferenciador":139,"../lexador":210,"../tipos-de-dados/delegua":220,"./estruturas":181}],195:[function(require,module,exports){
23894
24453
  "use strict";
23895
24454
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23896
24455
  if (k2 === undefined) k2 = k;
@@ -23915,7 +24474,7 @@ __exportStar(require("./lexador-portugol-ipt"), exports);
23915
24474
  __exportStar(require("./lexador-prisma"), exports);
23916
24475
  __exportStar(require("./lexador-tenda"), exports);
23917
24476
 
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){
24477
+ },{"./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
24478
  "use strict";
23920
24479
  var __importDefault = (this && this.__importDefault) || function (mod) {
23921
24480
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -24228,7 +24787,7 @@ class LexadorCalango {
24228
24787
  }
24229
24788
  exports.LexadorCalango = LexadorCalango;
24230
24789
 
24231
- },{"../../tipos-de-simbolos/calango":222,"../simbolo":217,"./palavras-reservadas/calango":202}],196:[function(require,module,exports){
24790
+ },{"../../tipos-de-simbolos/calango":223,"../simbolo":218,"./palavras-reservadas/calango":203}],197:[function(require,module,exports){
24232
24791
  "use strict";
24233
24792
  var __importDefault = (this && this.__importDefault) || function (mod) {
24234
24793
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -24521,7 +25080,7 @@ class LexadorEguaClassico {
24521
25080
  }
24522
25081
  exports.LexadorEguaClassico = LexadorEguaClassico;
24523
25082
 
24524
- },{"../../tipos-de-simbolos/egua-classico":225,"../simbolo":217,"./palavras-reservadas/egua-classico":203}],197:[function(require,module,exports){
25083
+ },{"../../tipos-de-simbolos/egua-classico":226,"../simbolo":218,"./palavras-reservadas/egua-classico":204}],198:[function(require,module,exports){
24525
25084
  "use strict";
24526
25085
  var __importDefault = (this && this.__importDefault) || function (mod) {
24527
25086
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -24640,7 +25199,7 @@ class LexadorGuarani extends lexador_base_1.LexadorBase {
24640
25199
  }
24641
25200
  exports.LexadorGuarani = LexadorGuarani;
24642
25201
 
24643
- },{"../../tipos-de-simbolos/guarani":226,"../lexador-base":211,"./palavras-reservadas/guarani":204}],198:[function(require,module,exports){
25202
+ },{"../../tipos-de-simbolos/guarani":227,"../lexador-base":212,"./palavras-reservadas/guarani":205}],199:[function(require,module,exports){
24644
25203
  "use strict";
24645
25204
  var __importDefault = (this && this.__importDefault) || function (mod) {
24646
25205
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -25165,7 +25724,7 @@ class LexadorPitugues {
25165
25724
  }
25166
25725
  exports.LexadorPitugues = LexadorPitugues;
25167
25726
 
25168
- },{"../../tipos-de-simbolos/pitugues":228,"../simbolo":217,"./palavras-reservadas/pitugues":205,"browser-process-hrtime":417}],199:[function(require,module,exports){
25727
+ },{"../../tipos-de-simbolos/pitugues":229,"../simbolo":218,"./palavras-reservadas/pitugues":206,"browser-process-hrtime":418}],200:[function(require,module,exports){
25169
25728
  "use strict";
25170
25729
  var __importDefault = (this && this.__importDefault) || function (mod) {
25171
25730
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -25313,16 +25872,26 @@ class LexadorPortugolIpt {
25313
25872
  else {
25314
25873
  textoPalavraChave = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
25315
25874
  }
25316
- const tipo = textoPalavraChave in portugol_ipt_1.palavrasReservadas
25317
- ? portugol_ipt_1.palavrasReservadas[textoPalavraChave]
25875
+ const palavrasReservadasNormalizadas = portugol_ipt_1.palavrasReservadas;
25876
+ const palavraNormalizada = textoPalavraChave.toLowerCase();
25877
+ let tipo = palavraNormalizada in palavrasReservadasNormalizadas
25878
+ ? palavrasReservadasNormalizadas[palavraNormalizada]
25318
25879
  : portugol_ipt_2.default.IDENTIFICADOR;
25880
+ // 'enquanto' sem 'faz' no final da linha é o fechamento de um faz...enquanto.
25881
+ if (tipo === portugol_ipt_2.default.ENQUANTO) {
25882
+ const linhaAtual = this.codigo[linhaPrimeiroCaracter].trim().toUpperCase();
25883
+ if (!linhaAtual.startsWith('FIM ') && !linhaAtual.endsWith('FAZ')) {
25884
+ tipo = portugol_ipt_2.default.FAZENQUANTO;
25885
+ }
25886
+ }
25319
25887
  this.simbolos.push(new simbolo_1.Simbolo(tipo, textoPalavraChave, null, linhaPrimeiroCaracter + 1, this.hashArquivo));
25320
25888
  }
25321
25889
  analisarToken() {
25322
25890
  const caractere = this.simboloAtual();
25323
25891
  switch (caractere) {
25324
25892
  case ';':
25325
- // TODO: Ponto-e-vírgula não é exatamente tolerado em Portugol IPT.
25893
+ // Ponto-e-vírgula não é exatamente tolerado em Portugol IPT,
25894
+ // mas toleramos para evitar erros desnecessários.
25326
25895
  this.avancar();
25327
25896
  break;
25328
25897
  case ' ':
@@ -25340,6 +25909,42 @@ class LexadorPortugolIpt {
25340
25909
  this.analisarTexto('"');
25341
25910
  this.avancar();
25342
25911
  break;
25912
+ case '+':
25913
+ this.adicionarSimbolo(portugol_ipt_2.default.ADICAO);
25914
+ this.avancar();
25915
+ break;
25916
+ case '-':
25917
+ this.adicionarSimbolo(portugol_ipt_2.default.SUBTRACAO);
25918
+ this.avancar();
25919
+ break;
25920
+ case '*':
25921
+ this.adicionarSimbolo(portugol_ipt_2.default.MULTIPLICACAO);
25922
+ this.avancar();
25923
+ break;
25924
+ case '/':
25925
+ this.adicionarSimbolo(portugol_ipt_2.default.DIVISAO);
25926
+ this.avancar();
25927
+ break;
25928
+ case '%':
25929
+ this.adicionarSimbolo(portugol_ipt_2.default.MODULO);
25930
+ this.avancar();
25931
+ break;
25932
+ case '^':
25933
+ this.adicionarSimbolo(portugol_ipt_2.default.EXPONENCIACAO);
25934
+ this.avancar();
25935
+ break;
25936
+ case '=':
25937
+ this.avancar();
25938
+ // Operador de diferença: =/=
25939
+ if (this.simboloAtual() === '/' && this.proximoSimbolo() === '=') {
25940
+ this.avancar(); // consome '/'
25941
+ this.avancar(); // consome '='
25942
+ this.adicionarSimbolo(portugol_ipt_2.default.DIFERENTE);
25943
+ }
25944
+ else {
25945
+ this.adicionarSimbolo(portugol_ipt_2.default.IGUAL);
25946
+ }
25947
+ break;
25343
25948
  case '<':
25344
25949
  this.avancar();
25345
25950
  switch (this.simboloAtual()) {
@@ -25351,10 +25956,6 @@ class LexadorPortugolIpt {
25351
25956
  this.adicionarSimbolo(portugol_ipt_2.default.MENOR_IGUAL);
25352
25957
  this.avancar();
25353
25958
  break;
25354
- /* case '>':
25355
- this.adicionarSimbolo(tiposDeSimbolos.DIFERENTE);
25356
- this.avancar();
25357
- break; */
25358
25959
  default:
25359
25960
  this.adicionarSimbolo(portugol_ipt_2.default.MENOR);
25360
25961
  break;
@@ -25362,18 +25963,12 @@ class LexadorPortugolIpt {
25362
25963
  break;
25363
25964
  case '>':
25364
25965
  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;
25966
+ if (this.simboloAtual() === '=') {
25967
+ this.adicionarSimbolo(portugol_ipt_2.default.MAIOR_IGUAL);
25968
+ this.avancar();
25969
+ }
25970
+ else {
25971
+ this.adicionarSimbolo(portugol_ipt_2.default.MAIOR);
25377
25972
  }
25378
25973
  break;
25379
25974
  case '(':
@@ -25384,6 +25979,22 @@ class LexadorPortugolIpt {
25384
25979
  this.adicionarSimbolo(portugol_ipt_2.default.PARENTESE_DIREITO);
25385
25980
  this.avancar();
25386
25981
  break;
25982
+ case '[':
25983
+ this.adicionarSimbolo(portugol_ipt_2.default.COLCHETE_ESQUERDO);
25984
+ this.avancar();
25985
+ break;
25986
+ case ']':
25987
+ this.adicionarSimbolo(portugol_ipt_2.default.COLCHETE_DIREITO);
25988
+ this.avancar();
25989
+ break;
25990
+ case ',':
25991
+ this.adicionarSimbolo(portugol_ipt_2.default.VIRGULA);
25992
+ this.avancar();
25993
+ break;
25994
+ case ':':
25995
+ this.adicionarSimbolo(portugol_ipt_2.default.DOIS_PONTOS);
25996
+ this.avancar();
25997
+ break;
25387
25998
  default:
25388
25999
  if (this.eDigito(caractere))
25389
26000
  this.analisarNumero();
@@ -25422,7 +26033,7 @@ class LexadorPortugolIpt {
25422
26033
  }
25423
26034
  exports.LexadorPortugolIpt = LexadorPortugolIpt;
25424
26035
 
25425
- },{"../../tipos-de-simbolos/portugol-ipt":229,"../simbolo":217,"./palavras-reservadas/portugol-ipt":206}],200:[function(require,module,exports){
26036
+ },{"../../tipos-de-simbolos/portugol-ipt":230,"../simbolo":218,"./palavras-reservadas/portugol-ipt":207}],201:[function(require,module,exports){
25426
26037
  "use strict";
25427
26038
  var __importDefault = (this && this.__importDefault) || function (mod) {
25428
26039
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -25823,7 +26434,7 @@ class LexadorPrisma {
25823
26434
  }
25824
26435
  exports.LexadorPrisma = LexadorPrisma;
25825
26436
 
25826
- },{"../../tipos-de-simbolos/prisma":230,"../simbolo":217,"./palavras-reservadas/prisma":207,"browser-process-hrtime":417}],201:[function(require,module,exports){
26437
+ },{"../../tipos-de-simbolos/prisma":231,"../simbolo":218,"./palavras-reservadas/prisma":208,"browser-process-hrtime":418}],202:[function(require,module,exports){
25827
26438
  "use strict";
25828
26439
  var __importDefault = (this && this.__importDefault) || function (mod) {
25829
26440
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26217,7 +26828,7 @@ class LexadorTenda {
26217
26828
  }
26218
26829
  exports.LexadorTenda = LexadorTenda;
26219
26830
 
26220
- },{"../../tipos-de-simbolos/tenda":231,"../simbolo":217,"./palavras-reservadas/tenda":208,"browser-process-hrtime":417}],202:[function(require,module,exports){
26831
+ },{"../../tipos-de-simbolos/tenda":232,"../simbolo":218,"./palavras-reservadas/tenda":209,"browser-process-hrtime":418}],203:[function(require,module,exports){
26221
26832
  "use strict";
26222
26833
  var __importDefault = (this && this.__importDefault) || function (mod) {
26223
26834
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26265,7 +26876,7 @@ exports.default = {
26265
26876
  verdadeiro: calango_1.default.VERDADEIRO,
26266
26877
  };
26267
26878
 
26268
- },{"../../../tipos-de-simbolos/calango":222}],203:[function(require,module,exports){
26879
+ },{"../../../tipos-de-simbolos/calango":223}],204:[function(require,module,exports){
26269
26880
  "use strict";
26270
26881
  var __importDefault = (this && this.__importDefault) || function (mod) {
26271
26882
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26306,7 +26917,7 @@ exports.palavrasReservadas = {
26306
26917
  verdadeiro: egua_classico_1.default.VERDADEIRO,
26307
26918
  };
26308
26919
 
26309
- },{"../../../tipos-de-simbolos/egua-classico":225}],204:[function(require,module,exports){
26920
+ },{"../../../tipos-de-simbolos/egua-classico":226}],205:[function(require,module,exports){
26310
26921
  "use strict";
26311
26922
  var __importDefault = (this && this.__importDefault) || function (mod) {
26312
26923
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26318,7 +26929,7 @@ exports.palavrasReservadas = {
26318
26929
  hai: guarani_1.default.HAI,
26319
26930
  };
26320
26931
 
26321
- },{"../../../tipos-de-simbolos/guarani":226}],205:[function(require,module,exports){
26932
+ },{"../../../tipos-de-simbolos/guarani":227}],206:[function(require,module,exports){
26322
26933
  "use strict";
26323
26934
  var __importDefault = (this && this.__importDefault) || function (mod) {
26324
26935
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26382,7 +26993,7 @@ exports.palavrasReservadasMicroGramatica = {
26382
26993
  verdadeiro: pitugues_1.default.VERDADEIRO,
26383
26994
  };
26384
26995
 
26385
- },{"../../../tipos-de-simbolos/pitugues":228}],206:[function(require,module,exports){
26996
+ },{"../../../tipos-de-simbolos/pitugues":229}],207:[function(require,module,exports){
26386
26997
  "use strict";
26387
26998
  var __importDefault = (this && this.__importDefault) || function (mod) {
26388
26999
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26391,20 +27002,58 @@ Object.defineProperty(exports, "__esModule", { value: true });
26391
27002
  exports.palavrasReservadas = void 0;
26392
27003
  const portugol_ipt_1 = __importDefault(require("../../../tipos-de-simbolos/portugol-ipt"));
26393
27004
  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,
27005
+ // Estrutura do programa
26399
27006
  inicio: portugol_ipt_1.default.INICIO,
26400
- inteiro: portugol_ipt_1.default.INTEIRO,
27007
+ fim: portugol_ipt_1.default.FIM,
27008
+ // Entrada / saída
26401
27009
  ler: portugol_ipt_1.default.LER,
27010
+ escrever: portugol_ipt_1.default.ESCREVER,
27011
+ // Condicional
26402
27012
  se: portugol_ipt_1.default.SE,
27013
+ entao: portugol_ipt_1.default.ENTAO,
27014
+ então: portugol_ipt_1.default.ENTAO,
26403
27015
  senao: portugol_ipt_1.default.SENAO,
26404
27016
  senão: portugol_ipt_1.default.SENAO,
27017
+ fimse: portugol_ipt_1.default.FIMSE,
27018
+ // Laço enquanto
27019
+ enquanto: portugol_ipt_1.default.ENQUANTO,
27020
+ faz: portugol_ipt_1.default.FAZ,
27021
+ fimenquanto: portugol_ipt_1.default.FIMENQUANTO,
27022
+ // Laço para
27023
+ para: portugol_ipt_1.default.PARA,
27024
+ de: portugol_ipt_1.default.DE,
27025
+ ate: portugol_ipt_1.default.ATE,
27026
+ até: portugol_ipt_1.default.ATE,
27027
+ passo: portugol_ipt_1.default.PASSO,
27028
+ proximo: portugol_ipt_1.default.PROXIMO,
27029
+ próximo: portugol_ipt_1.default.PROXIMO,
27030
+ // Laço repete
27031
+ repete: portugol_ipt_1.default.REPETE,
27032
+ // Escolha
27033
+ escolhe: portugol_ipt_1.default.ESCOLHE,
27034
+ caso: portugol_ipt_1.default.CASO,
27035
+ defeito: portugol_ipt_1.default.DEFEITO,
27036
+ fimescolhe: portugol_ipt_1.default.FIMESCOLHE,
27037
+ // Tipos de variáveis
27038
+ inteiro: portugol_ipt_1.default.INTEIRO,
27039
+ texto: portugol_ipt_1.default.TEXTO,
27040
+ real: portugol_ipt_1.default.REAL,
27041
+ logico: portugol_ipt_1.default.LOGICO,
27042
+ lógico: portugol_ipt_1.default.LOGICO,
27043
+ caracter: portugol_ipt_1.default.CARACTER,
27044
+ // Modificadores de declaração
27045
+ constante: portugol_ipt_1.default.CONSTANTE,
27046
+ variavel: portugol_ipt_1.default.VARIAVEL,
27047
+ variável: portugol_ipt_1.default.VARIAVEL,
27048
+ // Operadores lógicos como palavras
27049
+ e: portugol_ipt_1.default.E,
27050
+ ou: portugol_ipt_1.default.OU,
27051
+ xou: portugol_ipt_1.default.XOU,
27052
+ nao: portugol_ipt_1.default.NAO,
27053
+ não: portugol_ipt_1.default.NAO,
26405
27054
  };
26406
27055
 
26407
- },{"../../../tipos-de-simbolos/portugol-ipt":229}],207:[function(require,module,exports){
27056
+ },{"../../../tipos-de-simbolos/portugol-ipt":230}],208:[function(require,module,exports){
26408
27057
  "use strict";
26409
27058
  var __importDefault = (this && this.__importDefault) || function (mod) {
26410
27059
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26455,7 +27104,7 @@ exports.palavrasReservadas = {
26455
27104
  verdadeiro: prisma_1.default.VERDADEIRO,
26456
27105
  };
26457
27106
 
26458
- },{"../../../tipos-de-simbolos/prisma":230}],208:[function(require,module,exports){
27107
+ },{"../../../tipos-de-simbolos/prisma":231}],209:[function(require,module,exports){
26459
27108
  "use strict";
26460
27109
  var __importDefault = (this && this.__importDefault) || function (mod) {
26461
27110
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -26513,7 +27162,7 @@ exports.palavrasReservadas = {
26513
27162
  Texto: tenda_1.default.BIBLIOTECA_GLOBAL,
26514
27163
  };
26515
27164
 
26516
- },{"../../../tipos-de-simbolos/tenda":231}],209:[function(require,module,exports){
27165
+ },{"../../../tipos-de-simbolos/tenda":232}],210:[function(require,module,exports){
26517
27166
  "use strict";
26518
27167
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
26519
27168
  if (k2 === undefined) k2 = k;
@@ -26536,7 +27185,7 @@ __exportStar(require("./lexador-base-linha-unica"), exports);
26536
27185
  __exportStar(require("./micro-lexador"), exports);
26537
27186
  __exportStar(require("./simbolo"), exports);
26538
27187
 
26539
- },{"./dialetos":194,"./lexador":212,"./lexador-base-linha-unica":210,"./micro-lexador":215,"./simbolo":217}],210:[function(require,module,exports){
27188
+ },{"./dialetos":195,"./lexador":213,"./lexador-base-linha-unica":211,"./micro-lexador":216,"./simbolo":218}],211:[function(require,module,exports){
26540
27189
  "use strict";
26541
27190
  Object.defineProperty(exports, "__esModule", { value: true });
26542
27191
  exports.LexadorBaseLinhaUnica = void 0;
@@ -26625,7 +27274,7 @@ class LexadorBaseLinhaUnica {
26625
27274
  }
26626
27275
  exports.LexadorBaseLinhaUnica = LexadorBaseLinhaUnica;
26627
27276
 
26628
- },{"./simbolo":217}],211:[function(require,module,exports){
27277
+ },{"./simbolo":218}],212:[function(require,module,exports){
26629
27278
  "use strict";
26630
27279
  Object.defineProperty(exports, "__esModule", { value: true });
26631
27280
  exports.LexadorBase = void 0;
@@ -26764,7 +27413,7 @@ class LexadorBase {
26764
27413
  }
26765
27414
  exports.LexadorBase = LexadorBase;
26766
27415
 
26767
- },{"./simbolo":217}],212:[function(require,module,exports){
27416
+ },{"./simbolo":218}],213:[function(require,module,exports){
26768
27417
  "use strict";
26769
27418
  var __importDefault = (this && this.__importDefault) || function (mod) {
26770
27419
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -27436,7 +28085,7 @@ class Lexador {
27436
28085
  }
27437
28086
  exports.Lexador = Lexador;
27438
28087
 
27439
- },{"../tipos-de-simbolos/delegua":224,"./palavras-reservadas":216,"./simbolo":217,"browser-process-hrtime":417}],213:[function(require,module,exports){
28088
+ },{"../tipos-de-simbolos/delegua":225,"./palavras-reservadas":217,"./simbolo":218,"browser-process-hrtime":418}],214:[function(require,module,exports){
27440
28089
  "use strict";
27441
28090
  var __importDefault = (this && this.__importDefault) || function (mod) {
27442
28091
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -27619,7 +28268,7 @@ function pertenceAoParadigma(lexema, paradigma) {
27619
28268
  return paradigmaLexema === paradigma;
27620
28269
  }
27621
28270
 
27622
- },{"../tipos-de-simbolos/delegua":224}],214:[function(require,module,exports){
28271
+ },{"../tipos-de-simbolos/delegua":225}],215:[function(require,module,exports){
27623
28272
  "use strict";
27624
28273
  var __importDefault = (this && this.__importDefault) || function (mod) {
27625
28274
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -27839,7 +28488,7 @@ class MicroLexadorPitugues {
27839
28488
  }
27840
28489
  exports.MicroLexadorPitugues = MicroLexadorPitugues;
27841
28490
 
27842
- },{"../tipos-de-simbolos/pitugues":228,"./palavras-reservadas":216,"./simbolo":217}],215:[function(require,module,exports){
28491
+ },{"../tipos-de-simbolos/pitugues":229,"./palavras-reservadas":217,"./simbolo":218}],216:[function(require,module,exports){
27843
28492
  "use strict";
27844
28493
  var __importDefault = (this && this.__importDefault) || function (mod) {
27845
28494
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -28077,7 +28726,7 @@ class MicroLexador {
28077
28726
  }
28078
28727
  exports.MicroLexador = MicroLexador;
28079
28728
 
28080
- },{"../tipos-de-simbolos/microgramaticas/delegua":227,"./palavras-reservadas":216,"./simbolo":217}],216:[function(require,module,exports){
28729
+ },{"../tipos-de-simbolos/microgramaticas/delegua":228,"./palavras-reservadas":217,"./simbolo":218}],217:[function(require,module,exports){
28081
28730
  "use strict";
28082
28731
  var __importDefault = (this && this.__importDefault) || function (mod) {
28083
28732
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -28176,7 +28825,7 @@ exports.palavrasReservadasMicroGramatica = {
28176
28825
  verdadeiro: delegua_1.default.VERDADEIRO,
28177
28826
  };
28178
28827
 
28179
- },{"../tipos-de-simbolos/delegua":224}],217:[function(require,module,exports){
28828
+ },{"../tipos-de-simbolos/delegua":225}],218:[function(require,module,exports){
28180
28829
  "use strict";
28181
28830
  Object.defineProperty(exports, "__esModule", { value: true });
28182
28831
  exports.Simbolo = void 0;
@@ -28197,7 +28846,7 @@ class Simbolo {
28197
28846
  }
28198
28847
  exports.Simbolo = Simbolo;
28199
28848
 
28200
- },{}],218:[function(require,module,exports){
28849
+ },{}],219:[function(require,module,exports){
28201
28850
  "use strict";
28202
28851
  Object.defineProperty(exports, "__esModule", { value: true });
28203
28852
  exports.ContinuarQuebra = exports.SustarQuebra = exports.RetornoQuebra = exports.Quebra = void 0;
@@ -28222,7 +28871,7 @@ class ContinuarQuebra extends Quebra {
28222
28871
  }
28223
28872
  exports.ContinuarQuebra = ContinuarQuebra;
28224
28873
 
28225
- },{}],219:[function(require,module,exports){
28874
+ },{}],220:[function(require,module,exports){
28226
28875
  "use strict";
28227
28876
  Object.defineProperty(exports, "__esModule", { value: true });
28228
28877
  exports.default = {
@@ -28256,7 +28905,7 @@ exports.default = {
28256
28905
  VETOR_TEXTO: 'texto[]',
28257
28906
  };
28258
28907
 
28259
- },{}],220:[function(require,module,exports){
28908
+ },{}],221:[function(require,module,exports){
28260
28909
  "use strict";
28261
28910
  Object.defineProperty(exports, "__esModule", { value: true });
28262
28911
  exports.default = {
@@ -28286,7 +28935,7 @@ exports.default = {
28286
28935
  VETOR_TEXTO: 'texto[]',
28287
28936
  };
28288
28937
 
28289
- },{}],221:[function(require,module,exports){
28938
+ },{}],222:[function(require,module,exports){
28290
28939
  "use strict";
28291
28940
  Object.defineProperty(exports, "__esModule", { value: true });
28292
28941
  exports.default = {
@@ -28305,7 +28954,7 @@ exports.default = {
28305
28954
  TEXTO: 'string',
28306
28955
  };
28307
28956
 
28308
- },{}],222:[function(require,module,exports){
28957
+ },{}],223:[function(require,module,exports){
28309
28958
  "use strict";
28310
28959
  Object.defineProperty(exports, "__esModule", { value: true });
28311
28960
  exports.default = {
@@ -28377,7 +29026,7 @@ exports.default = {
28377
29026
  VIRGULA: 'VIRGULA',
28378
29027
  };
28379
29028
 
28380
- },{}],223:[function(require,module,exports){
29029
+ },{}],224:[function(require,module,exports){
28381
29030
  "use strict";
28382
29031
  Object.defineProperty(exports, "__esModule", { value: true });
28383
29032
  exports.default = {
@@ -28404,7 +29053,7 @@ exports.default = {
28404
29053
  VIRGULA: 'VIRGULA',
28405
29054
  };
28406
29055
 
28407
- },{}],224:[function(require,module,exports){
29056
+ },{}],225:[function(require,module,exports){
28408
29057
  "use strict";
28409
29058
  Object.defineProperty(exports, "__esModule", { value: true });
28410
29059
  exports.default = {
@@ -28519,7 +29168,7 @@ exports.default = {
28519
29168
  VIRGULA: 'VIRGULA',
28520
29169
  };
28521
29170
 
28522
- },{}],225:[function(require,module,exports){
29171
+ },{}],226:[function(require,module,exports){
28523
29172
  "use strict";
28524
29173
  Object.defineProperty(exports, "__esModule", { value: true });
28525
29174
  exports.default = {
@@ -28597,7 +29246,7 @@ exports.default = {
28597
29246
  VIRGULA: 'VIRGULA',
28598
29247
  };
28599
29248
 
28600
- },{}],226:[function(require,module,exports){
29249
+ },{}],227:[function(require,module,exports){
28601
29250
  "use strict";
28602
29251
  Object.defineProperty(exports, "__esModule", { value: true });
28603
29252
  exports.default = {
@@ -28614,7 +29263,7 @@ exports.default = {
28614
29263
  VIRGULA: 'VIRGULA',
28615
29264
  };
28616
29265
 
28617
- },{}],227:[function(require,module,exports){
29266
+ },{}],228:[function(require,module,exports){
28618
29267
  "use strict";
28619
29268
  Object.defineProperty(exports, "__esModule", { value: true });
28620
29269
  exports.default = {
@@ -28667,7 +29316,7 @@ exports.default = {
28667
29316
  VIRGULA: 'VIRGULA',
28668
29317
  };
28669
29318
 
28670
- },{}],228:[function(require,module,exports){
29319
+ },{}],229:[function(require,module,exports){
28671
29320
  "use strict";
28672
29321
  Object.defineProperty(exports, "__esModule", { value: true });
28673
29322
  exports.default = {
@@ -28759,46 +29408,86 @@ exports.default = {
28759
29408
  VIRGULA: 'VIRGULA',
28760
29409
  };
28761
29410
 
28762
- },{}],229:[function(require,module,exports){
29411
+ },{}],230:[function(require,module,exports){
28763
29412
  "use strict";
28764
29413
  Object.defineProperty(exports, "__esModule", { value: true });
28765
29414
  exports.default = {
29415
+ // Operadores aritméticos
28766
29416
  ADICAO: 'ADICAO',
28767
- DIFERENTE: 'DIFERENTE',
29417
+ SUBTRACAO: 'SUBTRACAO',
29418
+ MULTIPLICACAO: 'MULTIPLICACAO',
28768
29419
  DIVISAO: 'DIVISAO',
28769
29420
  DIVISAO_INTEIRA: 'DIVISAO_INTEIRA',
28770
- E: 'E',
28771
- ENTAO: 'ENTAO',
28772
- ESCREVER: 'ESCREVER',
29421
+ MODULO: 'MODULO',
28773
29422
  EXPONENCIACAO: 'EXPONENCIACAO',
28774
- FIM: 'FIM',
28775
- FIMSE: 'FIMSE',
28776
- IDENTIFICADOR: 'IDENTIFICADOR',
29423
+ // Operadores relacionais
28777
29424
  IGUAL: 'IGUAL',
28778
- INICIO: 'INICIO',
28779
- INTEIRO: 'INTEIRO',
28780
- LER: 'LER',
29425
+ DIFERENTE: 'DIFERENTE',
28781
29426
  MAIOR: 'MAIOR',
28782
29427
  MAIOR_IGUAL: 'MAIOR_IGUAL',
28783
29428
  MENOR: 'MENOR',
28784
29429
  MENOR_IGUAL: 'MENOR_IGUAL',
28785
- MODULO: 'MODULO',
28786
- MULTIPLICACAO: 'MULTIPLICACAO',
28787
- NEGACAO: 'NEGACAO',
28788
- NUMERO: 'NUMERO',
29430
+ // Operadores lógicos
29431
+ E: 'E',
28789
29432
  OU: 'OU',
28790
- QUEBRA_LINHA: 'QUEBRA_LINHA',
29433
+ XOU: 'XOU',
29434
+ NAO: 'NAO',
29435
+ NEGACAO: 'NEGACAO',
29436
+ // Atribuição
29437
+ SETA_ATRIBUICAO: 'SETA_ATRIBUICAO',
29438
+ // Pontuação
28791
29439
  PARENTESE_ESQUERDO: 'PARENTESE_ESQUERDO',
28792
29440
  PARENTESE_DIREITO: 'PARENTESE_DIREITO',
29441
+ COLCHETE_ESQUERDO: 'COLCHETE_ESQUERDO',
29442
+ COLCHETE_DIREITO: 'COLCHETE_DIREITO',
29443
+ VIRGULA: 'VIRGULA',
29444
+ DOIS_PONTOS: 'DOIS_PONTOS',
29445
+ QUEBRA_LINHA: 'QUEBRA_LINHA',
29446
+ // Literais
29447
+ NUMERO: 'NUMERO',
29448
+ TEXTO: 'TEXTO',
29449
+ IDENTIFICADOR: 'IDENTIFICADOR',
29450
+ // Estrutura do programa
29451
+ INICIO: 'INICIO',
29452
+ FIM: 'FIM',
29453
+ // Entrada / saída
29454
+ LER: 'LER',
29455
+ ESCREVER: 'ESCREVER',
29456
+ // Condicional
28793
29457
  SE: 'SE',
29458
+ ENTAO: 'ENTAO',
28794
29459
  SENAO: 'SENAO',
28795
- SETA_ATRIBUICAO: 'SETA_ATRIBUICAO',
28796
- SUBTRACAO: 'SUBTRACAO',
28797
- TEXTO: 'TEXTO',
28798
- VIRGULA: 'VIRGULA',
29460
+ FIMSE: 'FIMSE',
29461
+ // Laço enquanto
29462
+ ENQUANTO: 'ENQUANTO',
29463
+ FAZ: 'FAZ',
29464
+ FIMENQUANTO: 'FIMENQUANTO',
29465
+ // Token especial: 'enquanto' sem 'faz' no final da linha = fechamento do faz...enquanto
29466
+ FAZENQUANTO: 'FAZENQUANTO',
29467
+ // Laço para
29468
+ PARA: 'PARA',
29469
+ DE: 'DE',
29470
+ ATE: 'ATE',
29471
+ PASSO: 'PASSO',
29472
+ PROXIMO: 'PROXIMO',
29473
+ // Laço repete
29474
+ REPETE: 'REPETE',
29475
+ // Escolha
29476
+ ESCOLHE: 'ESCOLHE',
29477
+ CASO: 'CASO',
29478
+ DEFEITO: 'DEFEITO',
29479
+ FIMESCOLHE: 'FIMESCOLHE',
29480
+ // Tipos de variáveis
29481
+ INTEIRO: 'INTEIRO',
29482
+ REAL: 'REAL',
29483
+ LOGICO: 'LOGICO',
29484
+ CARACTER: 'CARACTER',
29485
+ // Modificadores de declaração
29486
+ CONSTANTE: 'CONSTANTE',
29487
+ VARIAVEL: 'VARIAVEL',
28799
29488
  };
28800
29489
 
28801
- },{}],230:[function(require,module,exports){
29490
+ },{}],231:[function(require,module,exports){
28802
29491
  "use strict";
28803
29492
  Object.defineProperty(exports, "__esModule", { value: true });
28804
29493
  exports.default = {
@@ -28882,7 +29571,7 @@ exports.default = {
28882
29571
  VIRGULA: 'VIRGULA',
28883
29572
  };
28884
29573
 
28885
- },{}],231:[function(require,module,exports){
29574
+ },{}],232:[function(require,module,exports){
28886
29575
  "use strict";
28887
29576
  Object.defineProperty(exports, "__esModule", { value: true });
28888
29577
  // Em Tenda, isto é implementado em https://github.com/gabrielbrunop/tenda/blob/main/crates/scanner/src/token.rs#L42.
@@ -28977,7 +29666,7 @@ exports.default = {
28977
29666
  VIRGULA: 'VIRGULA',
28978
29667
  };
28979
29668
 
28980
- },{}],232:[function(require,module,exports){
29669
+ },{}],233:[function(require,module,exports){
28981
29670
  "use strict";
28982
29671
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
28983
29672
  if (k2 === undefined) k2 = k;
@@ -29010,7 +29699,7 @@ __exportStar(require("./tradutor-reverso-python"), exports);
29010
29699
  __exportStar(require("./tradutor-reverso-tenda"), exports);
29011
29700
  __exportStar(require("./tradutor-ruby"), exports);
29012
29701
 
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){
29702
+ },{"./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
29703
  "use strict";
29015
29704
  Object.defineProperty(exports, "__esModule", { value: true });
29016
29705
  exports.ArestaFluxograma = void 0;
@@ -29022,7 +29711,7 @@ class ArestaFluxograma {
29022
29711
  }
29023
29712
  exports.ArestaFluxograma = ArestaFluxograma;
29024
29713
 
29025
- },{}],234:[function(require,module,exports){
29714
+ },{}],235:[function(require,module,exports){
29026
29715
  "use strict";
29027
29716
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29028
29717
  if (k2 === undefined) k2 = k;
@@ -29045,7 +29734,7 @@ __exportStar(require("./subgrafo-funcao"), exports);
29045
29734
  __exportStar(require("./subgrafo-metodo"), exports);
29046
29735
  __exportStar(require("./vertice-fluxograma"), exports);
29047
29736
 
29048
- },{"./aresta-fluxograma":233,"./subgrafo-classe":235,"./subgrafo-funcao":236,"./subgrafo-metodo":237,"./vertice-fluxograma":238}],235:[function(require,module,exports){
29737
+ },{"./aresta-fluxograma":234,"./subgrafo-classe":236,"./subgrafo-funcao":237,"./subgrafo-metodo":238,"./vertice-fluxograma":239}],236:[function(require,module,exports){
29049
29738
  "use strict";
29050
29739
  Object.defineProperty(exports, "__esModule", { value: true });
29051
29740
  exports.SubgrafoClasse = void 0;
@@ -29091,7 +29780,7 @@ class SubgrafoClasse {
29091
29780
  }
29092
29781
  exports.SubgrafoClasse = SubgrafoClasse;
29093
29782
 
29094
- },{}],236:[function(require,module,exports){
29783
+ },{}],237:[function(require,module,exports){
29095
29784
  "use strict";
29096
29785
  Object.defineProperty(exports, "__esModule", { value: true });
29097
29786
  exports.SubgrafoFuncao = void 0;
@@ -29106,7 +29795,7 @@ class SubgrafoFuncao {
29106
29795
  }
29107
29796
  exports.SubgrafoFuncao = SubgrafoFuncao;
29108
29797
 
29109
- },{}],237:[function(require,module,exports){
29798
+ },{}],238:[function(require,module,exports){
29110
29799
  "use strict";
29111
29800
  Object.defineProperty(exports, "__esModule", { value: true });
29112
29801
  exports.SubgrafoMetodo = void 0;
@@ -29123,7 +29812,7 @@ class SubgrafoMetodo {
29123
29812
  }
29124
29813
  exports.SubgrafoMetodo = SubgrafoMetodo;
29125
29814
 
29126
- },{}],238:[function(require,module,exports){
29815
+ },{}],239:[function(require,module,exports){
29127
29816
  "use strict";
29128
29817
  Object.defineProperty(exports, "__esModule", { value: true });
29129
29818
  exports.VerticeFluxograma = void 0;
@@ -29140,7 +29829,7 @@ class VerticeFluxograma {
29140
29829
  }
29141
29830
  exports.VerticeFluxograma = VerticeFluxograma;
29142
29831
 
29143
- },{}],239:[function(require,module,exports){
29832
+ },{}],240:[function(require,module,exports){
29144
29833
  "use strict";
29145
29834
  // Generated from fontes\tradutores\python\Python3.g4 by ANTLR 4.9.0-SNAPSHOT
29146
29835
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -30380,7 +31069,7 @@ __decorate([
30380
31069
  Decorators_1.Override
30381
31070
  ], Python3Lexer.prototype, "nextToken", null);
30382
31071
 
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){
31072
+ },{"./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
31073
  "use strict";
30385
31074
  // Generated from fontes\tradutores\python\Python3.g4 by ANTLR 4.9.0-SNAPSHOT
30386
31075
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -41627,7 +42316,7 @@ class Yield_argContext extends ParserRuleContext_1.ParserRuleContext {
41627
42316
  }
41628
42317
  exports.Yield_argContext = Yield_argContext;
41629
42318
 
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){
42319
+ },{"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
42320
  "use strict";
41632
42321
  Object.defineProperty(exports, "__esModule", { value: true });
41633
42322
  exports.TradutorAssemblyARM = void 0;
@@ -42339,7 +43028,7 @@ ${labelFim}:`;
42339
43028
  }
42340
43029
  exports.TradutorAssemblyARM = TradutorAssemblyARM;
42341
43030
 
42342
- },{"../construtos":62,"../declaracoes":110}],242:[function(require,module,exports){
43031
+ },{"../construtos":62,"../declaracoes":110}],243:[function(require,module,exports){
42343
43032
  "use strict";
42344
43033
  Object.defineProperty(exports, "__esModule", { value: true });
42345
43034
  exports.TradutorAssemblyRISCV = void 0;
@@ -43015,7 +43704,7 @@ ${labelSenao}:`;
43015
43704
  }
43016
43705
  exports.TradutorAssemblyRISCV = TradutorAssemblyRISCV;
43017
43706
 
43018
- },{"../construtos":62,"../declaracoes":110}],243:[function(require,module,exports){
43707
+ },{"../construtos":62,"../declaracoes":110}],244:[function(require,module,exports){
43019
43708
  "use strict";
43020
43709
  Object.defineProperty(exports, "__esModule", { value: true });
43021
43710
  exports.TradutorAssemblyX64 = void 0;
@@ -43790,7 +44479,7 @@ __delegua_print_int:
43790
44479
  }
43791
44480
  exports.TradutorAssemblyX64 = TradutorAssemblyX64;
43792
44481
 
43793
- },{"../construtos":62,"../declaracoes":110}],244:[function(require,module,exports){
44482
+ },{"../construtos":62,"../declaracoes":110}],245:[function(require,module,exports){
43794
44483
  "use strict";
43795
44484
  var __importDefault = (this && this.__importDefault) || function (mod) {
43796
44485
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -44996,7 +45685,7 @@ class TradutorAssemblyScript {
44996
45685
  }
44997
45686
  exports.TradutorAssemblyScript = TradutorAssemblyScript;
44998
45687
 
44999
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":224}],245:[function(require,module,exports){
45688
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":225}],246:[function(require,module,exports){
45000
45689
  "use strict";
45001
45690
  var __importDefault = (this && this.__importDefault) || function (mod) {
45002
45691
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -45947,7 +46636,7 @@ class TradutorElixir {
45947
46636
  }
45948
46637
  exports.TradutorElixir = TradutorElixir;
45949
46638
 
45950
- },{"../tipos-de-simbolos/delegua":224}],246:[function(require,module,exports){
46639
+ },{"../tipos-de-simbolos/delegua":225}],247:[function(require,module,exports){
45951
46640
  "use strict";
45952
46641
  var __importDefault = (this && this.__importDefault) || function (mod) {
45953
46642
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -46739,7 +47428,7 @@ class TradutorJavaScript {
46739
47428
  }
46740
47429
  exports.TradutorJavaScript = TradutorJavaScript;
46741
47430
 
46742
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":224}],247:[function(require,module,exports){
47431
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":225}],248:[function(require,module,exports){
46743
47432
  "use strict";
46744
47433
  var __importDefault = (this && this.__importDefault) || function (mod) {
46745
47434
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -47563,69 +48252,359 @@ class TradutorMermaidJs {
47563
48252
  }
47564
48253
  exports.TradutorMermaidJs = TradutorMermaidJs;
47565
48254
 
47566
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":224,"./mermaid":234}],248:[function(require,module,exports){
48255
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":225,"./mermaid":235}],249:[function(require,module,exports){
47567
48256
  "use strict";
48257
+ var __importDefault = (this && this.__importDefault) || function (mod) {
48258
+ return (mod && mod.__esModule) ? mod : { "default": mod };
48259
+ };
47568
48260
  Object.defineProperty(exports, "__esModule", { value: true });
47569
48261
  exports.TradutorPortugolIpt = void 0;
48262
+ const construtos_1 = require("../construtos");
48263
+ const declaracoes_1 = require("../declaracoes");
47570
48264
  const dialetos_1 = require("../avaliador-sintatico/dialetos");
47571
48265
  const dialetos_2 = require("../lexador/dialetos");
48266
+ const portugol_ipt_1 = __importDefault(require("../tipos-de-simbolos/portugol-ipt"));
47572
48267
  class TradutorPortugolIpt {
47573
48268
  constructor() {
47574
48269
  this.indentacao = 0;
48270
+ // ── Mapeamento de funções embutidas ─────────────────────────────────────────
48271
+ this.mapaFuncoes = {
48272
+ ALEATORIO: 'aleatorio',
48273
+ SEN: 'seno',
48274
+ COS: 'cosseno',
48275
+ TAN: 'tangente',
48276
+ CTG: 'cotangente',
48277
+ ASEN: 'arco_seno',
48278
+ ACOS: 'arco_cosseno',
48279
+ ATAN: 'arco_tangente',
48280
+ ACTG: 'arco_cotangente',
48281
+ SENH: 'seno_hiperbolico',
48282
+ COSH: 'cosseno_hiperbolico',
48283
+ TANH: 'tangente_hiperbolica',
48284
+ CTGH: 'cotangente_hiperbolica',
48285
+ EXP: 'exponencial',
48286
+ ABS: 'absoluto',
48287
+ RAIZ: 'raiz_quadrada',
48288
+ LOG: 'logaritmo',
48289
+ LN: 'logaritmo_natural',
48290
+ INT: 'inteiro',
48291
+ FRAC: 'parte_fracionaria',
48292
+ ARRED: 'arredondar',
48293
+ POTENCIA: 'potência',
48294
+ COMPRIMENTO: 'tamanho',
48295
+ LETRA: 'letra',
48296
+ };
48297
+ // ── Dicionários ──────────────────────────────────────────────────────────────
47575
48298
  this.dicionarioConstrutos = {
48299
+ AcessoIndiceVariavel: this.traduzirConstrutoAcessoIndiceVariavel.bind(this),
48300
+ Agrupamento: this.traduzirConstrutoAgrupamento.bind(this),
48301
+ AtribuicaoPorIndice: this.traduzirConstrutoAtribuicaoPorIndice.bind(this),
48302
+ Atribuir: this.traduzirConstrutoAtribuir.bind(this),
48303
+ Binario: this.traduzirConstrutoBinario.bind(this),
48304
+ Chamada: this.traduzirConstrutoChamada.bind(this),
47576
48305
  FormatacaoEscrita: this.traduzirConstrutoFormatacaoEscrita.bind(this),
48306
+ Leia: this.traduzirConstrutoLeia.bind(this),
47577
48307
  Literal: this.traduzirConstrutoLiteral.bind(this),
48308
+ Logico: this.traduzirConstrutoLogico.bind(this),
48309
+ Unario: this.traduzirConstrutoUnario.bind(this),
48310
+ Variavel: this.traduzirConstrutoVariavel.bind(this),
48311
+ Vetor: this.traduzirConstrutoVetor.bind(this),
47578
48312
  };
47579
48313
  this.dicionarioDeclaracoes = {
48314
+ Bloco: this.traduzirDeclaracaoBloco.bind(this),
48315
+ Const: this.traduzirDeclaracaoConst.bind(this),
48316
+ Enquanto: this.traduzirDeclaracaoEnquanto.bind(this),
48317
+ Escolha: this.traduzirDeclaracaoEscolha.bind(this),
47580
48318
  Escreva: this.traduzirDeclaracaoEscreva.bind(this),
47581
48319
  EscrevaMesmaLinha: this.traduzirDeclaracaoEscrevaMesmaLinha.bind(this),
48320
+ Expressao: this.traduzirDeclaracaoExpressao.bind(this),
48321
+ Fazer: this.traduzirDeclaracaoFazer.bind(this),
48322
+ Para: this.traduzirDeclaracaoPara.bind(this),
48323
+ Se: this.traduzirDeclaracaoSe.bind(this),
48324
+ Var: this.traduzirDeclaracaoVar.bind(this),
47582
48325
  };
47583
48326
  }
47584
- traduzirConstrutoFormatacaoEscrita(formatacaoEscrita) {
47585
- let resultado = '';
47586
- resultado += String(formatacaoEscrita.expressao.valor);
47587
- return resultado;
48327
+ // ── Operadores ───────────────────────────────────────────────────────────────
48328
+ traduzirOperador(tipo) {
48329
+ switch (tipo) {
48330
+ case portugol_ipt_1.default.ADICAO: return '+';
48331
+ case portugol_ipt_1.default.SUBTRACAO: return '-';
48332
+ case portugol_ipt_1.default.MULTIPLICACAO: return '*';
48333
+ case portugol_ipt_1.default.DIVISAO: return '/';
48334
+ case portugol_ipt_1.default.MODULO: return '%';
48335
+ case portugol_ipt_1.default.EXPONENCIACAO: return '**';
48336
+ case portugol_ipt_1.default.IGUAL: return '==';
48337
+ case portugol_ipt_1.default.DIFERENTE: return '!=';
48338
+ case portugol_ipt_1.default.MAIOR: return '>';
48339
+ case portugol_ipt_1.default.MAIOR_IGUAL: return '>=';
48340
+ case portugol_ipt_1.default.MENOR: return '<';
48341
+ case portugol_ipt_1.default.MENOR_IGUAL: return '<=';
48342
+ case portugol_ipt_1.default.E: return '&&';
48343
+ case portugol_ipt_1.default.OU: return '||';
48344
+ case portugol_ipt_1.default.XOU: return '^^';
48345
+ default: return tipo;
48346
+ }
48347
+ }
48348
+ // ── Construtos ───────────────────────────────────────────────────────────────
48349
+ traduzirConstruto(construto) {
48350
+ const nome = construto.constructor.name;
48351
+ if (this.dicionarioConstrutos.hasOwnProperty(nome)) {
48352
+ return this.dicionarioConstrutos[nome](construto);
48353
+ }
48354
+ return `/* construto ${nome} não suportado */`;
47588
48355
  }
47589
48356
  traduzirConstrutoLiteral(literal) {
47590
48357
  if (typeof literal.valor === 'string')
47591
48358
  return `'${literal.valor}'`;
48359
+ if (typeof literal.valor === 'boolean')
48360
+ return literal.valor ? 'verdadeiro' : 'falso';
47592
48361
  return String(literal.valor);
47593
48362
  }
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 + ', ';
48363
+ traduzirConstrutoVariavel(variavel) {
48364
+ return variavel.simbolo.lexema;
48365
+ }
48366
+ traduzirConstrutoAgrupamento(agrupamento) {
48367
+ return `(${this.traduzirConstruto(agrupamento.expressao)})`;
48368
+ }
48369
+ traduzirConstrutoBinario(binario) {
48370
+ const esq = this.traduzirConstruto(binario.esquerda);
48371
+ const op = this.traduzirOperador(binario.operador.tipo);
48372
+ const dir = this.traduzirConstruto(binario.direita);
48373
+ return `${esq} ${op} ${dir}`;
48374
+ }
48375
+ traduzirConstrutoLogico(logico) {
48376
+ const esq = this.traduzirConstruto(logico.esquerda);
48377
+ const dir = this.traduzirConstruto(logico.direita);
48378
+ if (logico.operador.tipo === portugol_ipt_1.default.XOU) {
48379
+ return `((${esq} && !(${dir})) || (!(${esq}) && ${dir}))`;
47599
48380
  }
47600
- resultado = resultado.slice(0, -2);
47601
- resultado += ')';
48381
+ const op = this.traduzirOperador(logico.operador.tipo);
48382
+ return `${esq} ${op} ${dir}`;
48383
+ }
48384
+ traduzirConstrutoUnario(unario) {
48385
+ const operando = this.traduzirConstruto(unario.operando);
48386
+ switch (unario.operador.tipo) {
48387
+ case portugol_ipt_1.default.SUBTRACAO: return `-${operando}`;
48388
+ case portugol_ipt_1.default.NEGACAO:
48389
+ case portugol_ipt_1.default.NAO: return `!(${operando})`;
48390
+ default: return `!(${operando})`;
48391
+ }
48392
+ }
48393
+ traduzirConstrutoAtribuir(atribuir) {
48394
+ const alvo = this.traduzirConstruto(atribuir.alvo);
48395
+ const valor = this.traduzirConstruto(atribuir.valor);
48396
+ return `${alvo} = ${valor}`;
48397
+ }
48398
+ traduzirConstrutoChamada(chamada) {
48399
+ const nomeOriginal = this.traduzirConstruto(chamada.entidadeChamada).toUpperCase();
48400
+ const nomeDelegua = this.mapaFuncoes[nomeOriginal] ?? nomeOriginal.toLowerCase();
48401
+ const args = chamada.argumentos.map((a) => this.traduzirConstruto(a)).join(', ');
48402
+ return `${nomeDelegua}(${args})`;
48403
+ }
48404
+ traduzirConstrutoAcessoIndiceVariavel(acesso) {
48405
+ const entidade = this.traduzirConstruto(acesso.entidadeChamada);
48406
+ const indice = this.traduzirConstruto(acesso.indice);
48407
+ return `${entidade}[${indice}]`;
48408
+ }
48409
+ traduzirConstrutoAtribuicaoPorIndice(atrib) {
48410
+ const objeto = this.traduzirConstruto(atrib.objeto);
48411
+ const indice = this.traduzirConstruto(atrib.indice);
48412
+ const valor = this.traduzirConstruto(atrib.valor);
48413
+ return `${objeto}[${indice}] = ${valor}`;
48414
+ }
48415
+ traduzirConstrutoVetor(vetor) {
48416
+ const elementos = vetor.elementos.map((v) => this.traduzirConstruto(v)).join(', ');
48417
+ return `[${elementos}]`;
48418
+ }
48419
+ traduzirConstrutoLeia(_leia) {
48420
+ return 'leia()';
48421
+ }
48422
+ traduzirConstrutoFormatacaoEscrita(formatacao) {
48423
+ return this.traduzirConstruto(formatacao.expressao);
48424
+ }
48425
+ // ── Declarações ──────────────────────────────────────────────────────────────
48426
+ traduzirDeclaracao(declaracao) {
48427
+ const nome = declaracao.constructor.name;
48428
+ if (this.dicionarioDeclaracoes.hasOwnProperty(nome)) {
48429
+ return this.dicionarioDeclaracoes[nome](declaracao);
48430
+ }
48431
+ return `/* declaração ${nome} não suportada */`;
48432
+ }
48433
+ tipoParaDelégua(tipo) {
48434
+ switch (tipo) {
48435
+ case 'inteiro': return 'inteiro';
48436
+ case 'texto': return 'texto';
48437
+ case 'real': return 'real';
48438
+ case 'lógico':
48439
+ case 'logico': return 'logico';
48440
+ case 'caracter': return 'caracter';
48441
+ default: return tipo;
48442
+ }
48443
+ }
48444
+ valorPadraoPorTipo(tipo) {
48445
+ switch (tipo) {
48446
+ case 'inteiro': return '0';
48447
+ case 'texto': return "''";
48448
+ case 'real': return '0.0';
48449
+ case 'lógico':
48450
+ case 'logico': return 'falso';
48451
+ case 'caracter': return "' '";
48452
+ default: return 'nulo';
48453
+ }
48454
+ }
48455
+ traduzirDeclaracaoVar(declaracaoVar) {
48456
+ const nome = declaracaoVar.simbolo.lexema;
48457
+ const tipo = declaracaoVar.tipo;
48458
+ if (tipo && tipo.endsWith('[]')) {
48459
+ // Array
48460
+ const tipoBase = tipo.slice(0, -2);
48461
+ const valor = declaracaoVar.inicializador
48462
+ ? this.traduzirConstruto(declaracaoVar.inicializador)
48463
+ : '[]';
48464
+ return `var ${nome}: ${tipoBase}[] = ${valor}`;
48465
+ }
48466
+ const tipoDelegua = tipo ? this.tipoParaDelégua(tipo) : '';
48467
+ const valorPadrao = tipo ? this.valorPadraoPorTipo(tipo) : 'nulo';
48468
+ const valor = declaracaoVar.inicializador
48469
+ ? this.traduzirConstruto(declaracaoVar.inicializador)
48470
+ : valorPadrao;
48471
+ if (tipoDelegua) {
48472
+ return `var ${nome}: ${tipoDelegua} = ${valor}`;
48473
+ }
48474
+ return `var ${nome} = ${valor}`;
48475
+ }
48476
+ traduzirDeclaracaoConst(declaracaoConst) {
48477
+ const nome = declaracaoConst.simbolo.lexema;
48478
+ const valor = declaracaoConst.inicializador
48479
+ ? this.traduzirConstruto(declaracaoConst.inicializador)
48480
+ : 'nulo';
48481
+ return `const ${nome} = ${valor}`;
48482
+ }
48483
+ traduzirDeclaracaoExpressao(declaracaoExpressao) {
48484
+ const expr = declaracaoExpressao.expressao;
48485
+ // `ler x` → `x = leia()`
48486
+ if (expr instanceof construtos_1.Leia) {
48487
+ const linhas = [];
48488
+ for (const arg of expr.argumentos) {
48489
+ const alvo = arg instanceof declaracoes_1.Expressao
48490
+ ? this.traduzirConstruto(arg.expressao)
48491
+ : this.traduzirConstruto(arg);
48492
+ linhas.push(`${alvo} = leia()`);
48493
+ }
48494
+ return linhas.join('\n' + ' '.repeat(this.indentacao));
48495
+ }
48496
+ return this.traduzirConstruto(expr);
48497
+ }
48498
+ traduzirDeclaracaoBloco(bloco) {
48499
+ let resultado = '{\n';
48500
+ this.indentacao += 4;
48501
+ for (const declaracao of bloco.declaracoes) {
48502
+ resultado += ' '.repeat(this.indentacao);
48503
+ resultado += this.traduzirDeclaracao(declaracao) + '\n';
48504
+ }
48505
+ this.indentacao -= 4;
48506
+ resultado += ' '.repeat(this.indentacao) + '}';
47602
48507
  return resultado;
47603
48508
  }
48509
+ traduzirDeclaracaoEscreva(declaracaoEscreva) {
48510
+ const args = declaracaoEscreva.argumentos.map((a) => this.traduzirConstruto(a)).join(', ');
48511
+ return `escreva(${args})`;
48512
+ }
47604
48513
  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 + ', ';
48514
+ const args = declaracaoEscreva.argumentos.map((a) => this.traduzirConstruto(a)).join(', ');
48515
+ return `escreva(${args})`;
48516
+ }
48517
+ traduzirDeclaracaoSe(declaracaoSe) {
48518
+ const cond = this.traduzirConstruto(declaracaoSe.condicao);
48519
+ let resultado = `se (${cond}) `;
48520
+ resultado += this.traduzirDeclaracaoBloco(declaracaoSe.caminhoEntao);
48521
+ if (declaracaoSe.caminhoSenao) {
48522
+ resultado += ' senão ';
48523
+ resultado += this.traduzirDeclaracaoBloco(declaracaoSe.caminhoSenao);
47609
48524
  }
47610
- resultado = resultado.slice(0, -2);
47611
- resultado += ')';
47612
48525
  return resultado;
47613
48526
  }
47614
- async traduzir(codigo) {
48527
+ traduzirDeclaracaoEnquanto(declaracaoEnquanto) {
48528
+ const cond = this.traduzirConstruto(declaracaoEnquanto.condicao);
48529
+ let resultado = `enquanto (${cond}) `;
48530
+ resultado += this.traduzirDeclaracaoBloco(declaracaoEnquanto.corpo);
48531
+ return resultado;
48532
+ }
48533
+ traduzirDeclaracaoPara(declaracaoPara) {
48534
+ // inicializador é Expressao(Atribuir(v, inicio))
48535
+ let init = '';
48536
+ if (declaracaoPara.inicializador) {
48537
+ const ini = declaracaoPara.inicializador;
48538
+ if (Array.isArray(ini)) {
48539
+ init = ini.map((d) => this.traduzirDeclaracao(d)).join(', ');
48540
+ }
48541
+ else {
48542
+ init = this.traduzirDeclaracao(ini);
48543
+ }
48544
+ }
48545
+ const cond = declaracaoPara.condicao
48546
+ ? this.traduzirConstruto(declaracaoPara.condicao)
48547
+ : '';
48548
+ const incr = declaracaoPara.incrementar
48549
+ ? this.traduzirConstruto(declaracaoPara.incrementar)
48550
+ : '';
48551
+ let resultado = `para (${init}; ${cond}; ${incr}) `;
48552
+ resultado += this.traduzirDeclaracaoBloco(declaracaoPara.corpo);
48553
+ return resultado;
48554
+ }
48555
+ traduzirDeclaracaoFazer(declaracaoFazer) {
48556
+ let resultado = 'fazer ';
48557
+ resultado += this.traduzirDeclaracaoBloco(declaracaoFazer.caminhoFazer);
48558
+ const cond = this.traduzirConstruto(declaracaoFazer.condicaoEnquanto);
48559
+ resultado += ` enquanto (${cond})`;
48560
+ return resultado;
48561
+ }
48562
+ traduzirCaminhoEscolha(caminho) {
47615
48563
  let resultado = '';
48564
+ this.indentacao += 4;
48565
+ if (caminho.condicoes && caminho.condicoes.length > 0) {
48566
+ for (const cond of caminho.condicoes) {
48567
+ resultado += ' '.repeat(this.indentacao) + `caso ${this.traduzirConstruto(cond)}:\n`;
48568
+ }
48569
+ }
48570
+ else {
48571
+ resultado += ' '.repeat(this.indentacao) + 'padrão:\n';
48572
+ }
48573
+ this.indentacao += 4;
48574
+ for (const declaracao of caminho.declaracoes) {
48575
+ resultado += ' '.repeat(this.indentacao) + this.traduzirDeclaracao(declaracao) + '\n';
48576
+ }
48577
+ this.indentacao -= 8;
48578
+ return resultado;
48579
+ }
48580
+ traduzirDeclaracaoEscolha(declaracaoEscolha) {
48581
+ const expr = this.traduzirConstruto(declaracaoEscolha.identificadorOuLiteral);
48582
+ let resultado = `escolha (${expr}) {\n`;
48583
+ for (const caminho of declaracaoEscolha.caminhos) {
48584
+ resultado += this.traduzirCaminhoEscolha(caminho);
48585
+ }
48586
+ if (declaracaoEscolha.caminhoPadrao) {
48587
+ resultado += this.traduzirCaminhoEscolha(declaracaoEscolha.caminhoPadrao);
48588
+ }
48589
+ resultado += ' '.repeat(this.indentacao) + '}';
48590
+ return resultado;
48591
+ }
48592
+ // ── Ponto de entrada ─────────────────────────────────────────────────────────
48593
+ async traduzir(codigo) {
47616
48594
  this.lexador = new dialetos_2.LexadorPortugolIpt();
47617
48595
  this.avaliadorSintatico = new dialetos_1.AvaliadorSintaticoPortugolIpt();
47618
48596
  const retornoLexador = this.lexador.mapear(codigo.split('\n'), -1);
47619
48597
  const retornoAvaliadorSintatico = await this.avaliadorSintatico.analisar(retornoLexador, -1);
48598
+ let resultado = '';
47620
48599
  for (const declaracao of retornoAvaliadorSintatico.declaracoes) {
47621
- resultado += `${this.dicionarioDeclaracoes[declaracao.constructor.name](declaracao)} \n`;
48600
+ resultado += this.traduzirDeclaracao(declaracao) + '\n';
47622
48601
  }
47623
48602
  return resultado;
47624
48603
  }
47625
48604
  }
47626
48605
  exports.TradutorPortugolIpt = TradutorPortugolIpt;
47627
48606
 
47628
- },{"../avaliador-sintatico/dialetos":17,"../lexador/dialetos":194}],249:[function(require,module,exports){
48607
+ },{"../avaliador-sintatico/dialetos":17,"../construtos":62,"../declaracoes":110,"../lexador/dialetos":195,"../tipos-de-simbolos/portugol-ipt":230}],250:[function(require,module,exports){
47629
48608
  "use strict";
47630
48609
  var __importDefault = (this && this.__importDefault) || function (mod) {
47631
48610
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -48310,7 +49289,7 @@ class TradutorPython {
48310
49289
  }
48311
49290
  exports.TradutorPython = TradutorPython;
48312
49291
 
48313
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":224}],250:[function(require,module,exports){
49292
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":225}],251:[function(require,module,exports){
48314
49293
  "use strict";
48315
49294
  var __importDefault = (this && this.__importDefault) || function (mod) {
48316
49295
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -48662,7 +49641,7 @@ class TradutorReversoCalango {
48662
49641
  }
48663
49642
  exports.TradutorReversoCalango = TradutorReversoCalango;
48664
49643
 
48665
- },{"../tipos-de-simbolos/calango":222}],251:[function(require,module,exports){
49644
+ },{"../tipos-de-simbolos/calango":223}],252:[function(require,module,exports){
48666
49645
  "use strict";
48667
49646
  Object.defineProperty(exports, "__esModule", { value: true });
48668
49647
  exports.TradutorReversoJavaScript = void 0;
@@ -49057,7 +50036,7 @@ class TradutorReversoJavaScript {
49057
50036
  }
49058
50037
  exports.TradutorReversoJavaScript = TradutorReversoJavaScript;
49059
50038
 
49060
- },{}],252:[function(require,module,exports){
50039
+ },{}],253:[function(require,module,exports){
49061
50040
  "use strict";
49062
50041
  Object.defineProperty(exports, "__esModule", { value: true });
49063
50042
  exports.TradutorReversoPython = void 0;
@@ -49687,7 +50666,7 @@ class TradutorReversoPython extends AbstractParseTreeVisitor_1.AbstractParseTree
49687
50666
  }
49688
50667
  exports.TradutorReversoPython = TradutorReversoPython;
49689
50668
 
49690
- },{"./python/python3-lexer":239,"./python/python3-parser":240,"antlr4ts":371,"antlr4ts/tree/AbstractParseTreeVisitor":389}],253:[function(require,module,exports){
50669
+ },{"./python/python3-lexer":240,"./python/python3-parser":241,"antlr4ts":372,"antlr4ts/tree/AbstractParseTreeVisitor":390}],254:[function(require,module,exports){
49691
50670
  "use strict";
49692
50671
  var __importDefault = (this && this.__importDefault) || function (mod) {
49693
50672
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -50278,7 +51257,7 @@ class TradutorReversoTenda {
50278
51257
  }
50279
51258
  exports.TradutorReversoTenda = TradutorReversoTenda;
50280
51259
 
50281
- },{"../construtos":62,"../tipos-de-simbolos/tenda":231}],254:[function(require,module,exports){
51260
+ },{"../construtos":62,"../tipos-de-simbolos/tenda":232}],255:[function(require,module,exports){
50282
51261
  "use strict";
50283
51262
  var __importDefault = (this && this.__importDefault) || function (mod) {
50284
51263
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -50965,7 +51944,7 @@ class TradutorRuby {
50965
51944
  }
50966
51945
  exports.TradutorRuby = TradutorRuby;
50967
51946
 
50968
- },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":224}],255:[function(require,module,exports){
51947
+ },{"../construtos":62,"../declaracoes":110,"../tipos-de-simbolos/delegua":225}],256:[function(require,module,exports){
50969
51948
  "use strict";
50970
51949
  Object.defineProperty(exports, "__esModule", { value: true });
50971
51950
  exports.TradutorWebAssembly = void 0;
@@ -51852,7 +52831,7 @@ process.exit(codigoSaida);
51852
52831
  }
51853
52832
  exports.TradutorWebAssembly = TradutorWebAssembly;
51854
52833
 
51855
- },{"../construtos":62,"../declaracoes":110}],256:[function(require,module,exports){
52834
+ },{"../construtos":62,"../declaracoes":110}],257:[function(require,module,exports){
51856
52835
  "use strict";
51857
52836
  /*!
51858
52837
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51860,7 +52839,7 @@ exports.TradutorWebAssembly = TradutorWebAssembly;
51860
52839
  */
51861
52840
  Object.defineProperty(exports, "__esModule", { value: true });
51862
52841
 
51863
- },{}],257:[function(require,module,exports){
52842
+ },{}],258:[function(require,module,exports){
51864
52843
  "use strict";
51865
52844
  /*!
51866
52845
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51868,7 +52847,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
51868
52847
  */
51869
52848
  Object.defineProperty(exports, "__esModule", { value: true });
51870
52849
 
51871
- },{}],258:[function(require,module,exports){
52850
+ },{}],259:[function(require,module,exports){
51872
52851
  "use strict";
51873
52852
  /*!
51874
52853
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52030,7 +53009,7 @@ __decorate([
52030
53009
  ], ANTLRInputStream.prototype, "toString", null);
52031
53010
  exports.ANTLRInputStream = ANTLRInputStream;
52032
53011
 
52033
- },{"./Decorators":269,"./IntStream":275,"assert":412}],259:[function(require,module,exports){
53012
+ },{"./Decorators":270,"./IntStream":276,"assert":413}],260:[function(require,module,exports){
52034
53013
  "use strict";
52035
53014
  /*!
52036
53015
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52113,7 +53092,7 @@ __decorate([
52113
53092
  ], BailErrorStrategy.prototype, "sync", null);
52114
53093
  exports.BailErrorStrategy = BailErrorStrategy;
52115
53094
 
52116
- },{"./Decorators":269,"./DefaultErrorStrategy":270,"./InputMismatchException":274,"./misc/ParseCancellationException":386}],260:[function(require,module,exports){
53095
+ },{"./Decorators":270,"./DefaultErrorStrategy":271,"./InputMismatchException":275,"./misc/ParseCancellationException":387}],261:[function(require,module,exports){
52117
53096
  "use strict";
52118
53097
  /*!
52119
53098
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52603,7 +53582,7 @@ BufferedTokenStream = __decorate([
52603
53582
  ], BufferedTokenStream);
52604
53583
  exports.BufferedTokenStream = BufferedTokenStream;
52605
53584
 
52606
- },{"./CommonToken":265,"./Decorators":269,"./Lexer":277,"./Token":294,"./misc/Interval":381,"assert":412}],261:[function(require,module,exports){
53585
+ },{"./CommonToken":266,"./Decorators":270,"./Lexer":278,"./Token":295,"./misc/Interval":382,"assert":413}],262:[function(require,module,exports){
52607
53586
  "use strict";
52608
53587
  /*!
52609
53588
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52611,7 +53590,7 @@ exports.BufferedTokenStream = BufferedTokenStream;
52611
53590
  */
52612
53591
  Object.defineProperty(exports, "__esModule", { value: true });
52613
53592
 
52614
- },{}],262:[function(require,module,exports){
53593
+ },{}],263:[function(require,module,exports){
52615
53594
  "use strict";
52616
53595
  /*!
52617
53596
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52745,7 +53724,7 @@ var CharStreams;
52745
53724
  // }
52746
53725
  })(CharStreams = exports.CharStreams || (exports.CharStreams = {}));
52747
53726
 
52748
- },{"./CodePointBuffer":263,"./CodePointCharStream":264,"./IntStream":275}],263:[function(require,module,exports){
53727
+ },{"./CodePointBuffer":264,"./CodePointCharStream":265,"./IntStream":276}],264:[function(require,module,exports){
52749
53728
  "use strict";
52750
53729
  /*!
52751
53730
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52980,7 +53959,7 @@ exports.CodePointBuffer = CodePointBuffer;
52980
53959
  CodePointBuffer.Builder = Builder;
52981
53960
  })(CodePointBuffer = exports.CodePointBuffer || (exports.CodePointBuffer = {}));
52982
53961
 
52983
- },{"./misc/Character":377,"assert":412}],264:[function(require,module,exports){
53962
+ },{"./misc/Character":378,"assert":413}],265:[function(require,module,exports){
52984
53963
  "use strict";
52985
53964
  /*!
52986
53965
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53130,7 +54109,7 @@ __decorate([
53130
54109
  ], CodePointCharStream.prototype, "getText", null);
53131
54110
  exports.CodePointCharStream = CodePointCharStream;
53132
54111
 
53133
- },{"./Decorators":269,"./IntStream":275,"./misc/Interval":381,"assert":412}],265:[function(require,module,exports){
54112
+ },{"./Decorators":270,"./IntStream":276,"./misc/Interval":382,"assert":413}],266:[function(require,module,exports){
53134
54113
  "use strict";
53135
54114
  /*!
53136
54115
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53360,7 +54339,7 @@ CommonToken = __decorate([
53360
54339
  ], CommonToken);
53361
54340
  exports.CommonToken = CommonToken;
53362
54341
 
53363
- },{"./Decorators":269,"./Token":294,"./misc/Interval":381}],266:[function(require,module,exports){
54342
+ },{"./Decorators":270,"./Token":295,"./misc/Interval":382}],267:[function(require,module,exports){
53364
54343
  "use strict";
53365
54344
  /*!
53366
54345
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53424,7 +54403,7 @@ exports.CommonTokenFactory = CommonTokenFactory;
53424
54403
  CommonTokenFactory.DEFAULT = new CommonTokenFactory();
53425
54404
  })(CommonTokenFactory = exports.CommonTokenFactory || (exports.CommonTokenFactory = {}));
53426
54405
 
53427
- },{"./CommonToken":265,"./Decorators":269,"./misc/Interval":381}],267:[function(require,module,exports){
54406
+ },{"./CommonToken":266,"./Decorators":270,"./misc/Interval":382}],268:[function(require,module,exports){
53428
54407
  "use strict";
53429
54408
  /*!
53430
54409
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53551,7 +54530,7 @@ CommonTokenStream = __decorate([
53551
54530
  ], CommonTokenStream);
53552
54531
  exports.CommonTokenStream = CommonTokenStream;
53553
54532
 
53554
- },{"./BufferedTokenStream":260,"./Decorators":269,"./Token":294}],268:[function(require,module,exports){
54533
+ },{"./BufferedTokenStream":261,"./Decorators":270,"./Token":295}],269:[function(require,module,exports){
53555
54534
  "use strict";
53556
54535
  /*!
53557
54536
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53585,7 +54564,7 @@ exports.ConsoleErrorListener = ConsoleErrorListener;
53585
54564
  */
53586
54565
  ConsoleErrorListener.INSTANCE = new ConsoleErrorListener();
53587
54566
 
53588
- },{}],269:[function(require,module,exports){
54567
+ },{}],270:[function(require,module,exports){
53589
54568
  "use strict";
53590
54569
  /*!
53591
54570
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53612,7 +54591,7 @@ function SuppressWarnings(options) {
53612
54591
  }
53613
54592
  exports.SuppressWarnings = SuppressWarnings;
53614
54593
 
53615
- },{}],270:[function(require,module,exports){
54594
+ },{}],271:[function(require,module,exports){
53616
54595
  "use strict";
53617
54596
  /*!
53618
54597
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54426,7 +55405,7 @@ __decorate([
54426
55405
  ], DefaultErrorStrategy.prototype, "consumeUntil", null);
54427
55406
  exports.DefaultErrorStrategy = DefaultErrorStrategy;
54428
55407
 
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){
55408
+ },{"./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
55409
  "use strict";
54431
55410
  /*!
54432
55411
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54502,7 +55481,7 @@ var Dependents;
54502
55481
  Dependents[Dependents["FOLLOWING"] = 9] = "FOLLOWING";
54503
55482
  })(Dependents = exports.Dependents || (exports.Dependents = {}));
54504
55483
 
54505
- },{}],272:[function(require,module,exports){
55484
+ },{}],273:[function(require,module,exports){
54506
55485
  "use strict";
54507
55486
  /*!
54508
55487
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54650,7 +55629,7 @@ __decorate([
54650
55629
  ], DiagnosticErrorListener.prototype, "getConflictingAlts", null);
54651
55630
  exports.DiagnosticErrorListener = DiagnosticErrorListener;
54652
55631
 
54653
- },{"./Decorators":269,"./misc/BitSet":376,"./misc/Interval":381}],273:[function(require,module,exports){
55632
+ },{"./Decorators":270,"./misc/BitSet":377,"./misc/Interval":382}],274:[function(require,module,exports){
54654
55633
  "use strict";
54655
55634
  /*!
54656
55635
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54715,7 +55694,7 @@ FailedPredicateException = __decorate([
54715
55694
  ], FailedPredicateException);
54716
55695
  exports.FailedPredicateException = FailedPredicateException;
54717
55696
 
54718
- },{"./Decorators":269,"./RecognitionException":288,"./atn/PredicateTransition":348}],274:[function(require,module,exports){
55697
+ },{"./Decorators":270,"./RecognitionException":289,"./atn/PredicateTransition":349}],275:[function(require,module,exports){
54719
55698
  "use strict";
54720
55699
  /*!
54721
55700
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54755,7 +55734,7 @@ InputMismatchException = __decorate([
54755
55734
  ], InputMismatchException);
54756
55735
  exports.InputMismatchException = InputMismatchException;
54757
55736
 
54758
- },{"./Decorators":269,"./RecognitionException":288}],275:[function(require,module,exports){
55737
+ },{"./Decorators":270,"./RecognitionException":289}],276:[function(require,module,exports){
54759
55738
  "use strict";
54760
55739
  /*!
54761
55740
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54778,7 +55757,7 @@ var IntStream;
54778
55757
  IntStream.UNKNOWN_SOURCE_NAME = "<unknown>";
54779
55758
  })(IntStream = exports.IntStream || (exports.IntStream = {}));
54780
55759
 
54781
- },{}],276:[function(require,module,exports){
55760
+ },{}],277:[function(require,module,exports){
54782
55761
  "use strict";
54783
55762
  /*!
54784
55763
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54825,7 +55804,7 @@ __decorate([
54825
55804
  ], InterpreterRuleContext.prototype, "ruleIndex", null);
54826
55805
  exports.InterpreterRuleContext = InterpreterRuleContext;
54827
55806
 
54828
- },{"./Decorators":269,"./ParserRuleContext":285}],277:[function(require,module,exports){
55807
+ },{"./Decorators":270,"./ParserRuleContext":286}],278:[function(require,module,exports){
54829
55808
  "use strict";
54830
55809
  /*!
54831
55810
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55161,7 +56140,7 @@ __decorate([
55161
56140
  ], Lexer.prototype, "charPositionInLine", null);
55162
56141
  exports.Lexer = Lexer;
55163
56142
 
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){
56143
+ },{"./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
56144
  "use strict";
55166
56145
  /*!
55167
56146
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55241,7 +56220,7 @@ LexerInterpreter = __decorate([
55241
56220
  ], LexerInterpreter);
55242
56221
  exports.LexerInterpreter = LexerInterpreter;
55243
56222
 
55244
- },{"./Decorators":269,"./Lexer":277,"./atn/LexerATNSimulator":327}],279:[function(require,module,exports){
56223
+ },{"./Decorators":270,"./Lexer":278,"./atn/LexerATNSimulator":328}],280:[function(require,module,exports){
55245
56224
  "use strict";
55246
56225
  /*!
55247
56226
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55298,7 +56277,7 @@ LexerNoViableAltException = __decorate([
55298
56277
  ], LexerNoViableAltException);
55299
56278
  exports.LexerNoViableAltException = LexerNoViableAltException;
55300
56279
 
55301
- },{"./Decorators":269,"./RecognitionException":288,"./misc/Interval":381,"./misc/Utils":388}],280:[function(require,module,exports){
56280
+ },{"./Decorators":270,"./RecognitionException":289,"./misc/Interval":382,"./misc/Utils":389}],281:[function(require,module,exports){
55302
56281
  "use strict";
55303
56282
  /*!
55304
56283
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55508,7 +56487,7 @@ ListTokenSource = __decorate([
55508
56487
  ], ListTokenSource);
55509
56488
  exports.ListTokenSource = ListTokenSource;
55510
56489
 
55511
- },{"./CommonTokenFactory":266,"./Decorators":269,"./Token":294}],281:[function(require,module,exports){
56490
+ },{"./CommonTokenFactory":267,"./Decorators":270,"./Token":295}],282:[function(require,module,exports){
55512
56491
  "use strict";
55513
56492
  /*!
55514
56493
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55563,7 +56542,7 @@ __decorate([
55563
56542
  ], NoViableAltException.prototype, "_startToken", void 0);
55564
56543
  exports.NoViableAltException = NoViableAltException;
55565
56544
 
55566
- },{"./Decorators":269,"./Parser":282,"./RecognitionException":288}],282:[function(require,module,exports){
56545
+ },{"./Decorators":270,"./Parser":283,"./RecognitionException":289}],283:[function(require,module,exports){
55567
56546
  (function (process){(function (){
55568
56547
  "use strict";
55569
56548
  /*!
@@ -56409,7 +57388,7 @@ __decorate([
56409
57388
  exports.Parser = Parser;
56410
57389
 
56411
57390
  }).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){
57391
+ },{"./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
57392
  "use strict";
56414
57393
  /*!
56415
57394
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -56417,7 +57396,7 @@ exports.Parser = Parser;
56417
57396
  */
56418
57397
  Object.defineProperty(exports, "__esModule", { value: true });
56419
57398
 
56420
- },{}],284:[function(require,module,exports){
57399
+ },{}],285:[function(require,module,exports){
56421
57400
  "use strict";
56422
57401
  /*!
56423
57402
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -56825,7 +57804,7 @@ ParserInterpreter = __decorate([
56825
57804
  ], ParserInterpreter);
56826
57805
  exports.ParserInterpreter = ParserInterpreter;
56827
57806
 
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){
57807
+ },{"./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
57808
  "use strict";
56830
57809
  /*!
56831
57810
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57126,7 +58105,7 @@ __decorate([
57126
58105
  ], ParserRuleContext.prototype, "sourceInterval", null);
57127
58106
  exports.ParserRuleContext = ParserRuleContext;
57128
58107
 
57129
- },{"./Decorators":269,"./RuleContext":290,"./misc/Interval":381,"./tree/ErrorNode":390,"./tree/TerminalNode":392}],286:[function(require,module,exports){
58108
+ },{"./Decorators":270,"./RuleContext":291,"./misc/Interval":382,"./tree/ErrorNode":391,"./tree/TerminalNode":393}],287:[function(require,module,exports){
57130
58109
  "use strict";
57131
58110
  /*!
57132
58111
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57176,7 +58155,7 @@ __decorate([
57176
58155
  ], ProxyErrorListener.prototype, "syntaxError", null);
57177
58156
  exports.ProxyErrorListener = ProxyErrorListener;
57178
58157
 
57179
- },{"./Decorators":269}],287:[function(require,module,exports){
58158
+ },{"./Decorators":270}],288:[function(require,module,exports){
57180
58159
  "use strict";
57181
58160
  /*!
57182
58161
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57235,7 +58214,7 @@ __decorate([
57235
58214
  ], ProxyParserErrorListener.prototype, "reportContextSensitivity", null);
57236
58215
  exports.ProxyParserErrorListener = ProxyParserErrorListener;
57237
58216
 
57238
- },{"./Decorators":269,"./ProxyErrorListener":286}],288:[function(require,module,exports){
58217
+ },{"./Decorators":270,"./ProxyErrorListener":287}],289:[function(require,module,exports){
57239
58218
  "use strict";
57240
58219
  /*!
57241
58220
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57340,7 +58319,7 @@ class RecognitionException extends Error {
57340
58319
  }
57341
58320
  exports.RecognitionException = RecognitionException;
57342
58321
 
57343
- },{}],289:[function(require,module,exports){
58322
+ },{}],290:[function(require,module,exports){
57344
58323
  "use strict";
57345
58324
  /*!
57346
58325
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57559,7 +58538,7 @@ __decorate([
57559
58538
  ], Recognizer.prototype, "getErrorListeners", null);
57560
58539
  exports.Recognizer = Recognizer;
57561
58540
 
57562
- },{"./ConsoleErrorListener":268,"./Decorators":269,"./ProxyErrorListener":286,"./Token":294,"./misc/Utils":388}],290:[function(require,module,exports){
58541
+ },{"./ConsoleErrorListener":269,"./Decorators":270,"./ProxyErrorListener":287,"./Token":295,"./misc/Utils":389}],291:[function(require,module,exports){
57563
58542
  "use strict";
57564
58543
  /*!
57565
58544
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57776,7 +58755,7 @@ __decorate([
57776
58755
  ], RuleContext.prototype, "toStringTree", null);
57777
58756
  exports.RuleContext = RuleContext;
57778
58757
 
57779
- },{"./Decorators":269,"./ParserRuleContext":285,"./Recognizer":289,"./atn/ATN":302,"./misc/Interval":381,"./tree/RuleNode":391,"./tree/Trees":393}],291:[function(require,module,exports){
58758
+ },{"./Decorators":270,"./ParserRuleContext":286,"./Recognizer":290,"./atn/ATN":303,"./misc/Interval":382,"./tree/RuleNode":392,"./tree/Trees":394}],292:[function(require,module,exports){
57780
58759
  "use strict";
57781
58760
  /*!
57782
58761
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57827,7 +58806,7 @@ __decorate([
57827
58806
  ], RuleContextWithAltNum.prototype, "altNumber", null);
57828
58807
  exports.RuleContextWithAltNum = RuleContextWithAltNum;
57829
58808
 
57830
- },{"./Decorators":269,"./ParserRuleContext":285,"./atn/ATN":302}],292:[function(require,module,exports){
58809
+ },{"./Decorators":270,"./ParserRuleContext":286,"./atn/ATN":303}],293:[function(require,module,exports){
57831
58810
  "use strict";
57832
58811
  /*!
57833
58812
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57850,7 +58829,7 @@ function RuleDependency(dependency) {
57850
58829
  }
57851
58830
  exports.RuleDependency = RuleDependency;
57852
58831
 
57853
- },{}],293:[function(require,module,exports){
58832
+ },{}],294:[function(require,module,exports){
57854
58833
  "use strict";
57855
58834
  /*!
57856
58835
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57869,7 +58848,7 @@ function RuleVersion(version) {
57869
58848
  }
57870
58849
  exports.RuleVersion = RuleVersion;
57871
58850
 
57872
- },{}],294:[function(require,module,exports){
58851
+ },{}],295:[function(require,module,exports){
57873
58852
  "use strict";
57874
58853
  /*!
57875
58854
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57909,7 +58888,7 @@ var Token;
57909
58888
  Token.MIN_USER_CHANNEL_VALUE = 2;
57910
58889
  })(Token = exports.Token || (exports.Token = {}));
57911
58890
 
57912
- },{"./IntStream":275}],295:[function(require,module,exports){
58891
+ },{"./IntStream":276}],296:[function(require,module,exports){
57913
58892
  "use strict";
57914
58893
  /*!
57915
58894
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57917,7 +58896,7 @@ var Token;
57917
58896
  */
57918
58897
  Object.defineProperty(exports, "__esModule", { value: true });
57919
58898
 
57920
- },{}],296:[function(require,module,exports){
58899
+ },{}],297:[function(require,module,exports){
57921
58900
  "use strict";
57922
58901
  /*!
57923
58902
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57925,7 +58904,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
57925
58904
  */
57926
58905
  Object.defineProperty(exports, "__esModule", { value: true });
57927
58906
 
57928
- },{}],297:[function(require,module,exports){
58907
+ },{}],298:[function(require,module,exports){
57929
58908
  "use strict";
57930
58909
  /*!
57931
58910
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57933,7 +58912,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
57933
58912
  */
57934
58913
  Object.defineProperty(exports, "__esModule", { value: true });
57935
58914
 
57936
- },{}],298:[function(require,module,exports){
58915
+ },{}],299:[function(require,module,exports){
57937
58916
  "use strict";
57938
58917
  /*!
57939
58918
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -58441,7 +59420,7 @@ __decorate([
58441
59420
  Decorators_1.Override
58442
59421
  ], ReplaceOp.prototype, "toString", null);
58443
59422
 
58444
- },{"./Decorators":269,"./Token":294,"./misc/Interval":381}],299:[function(require,module,exports){
59423
+ },{"./Decorators":270,"./Token":295,"./misc/Interval":382}],300:[function(require,module,exports){
58445
59424
  "use strict";
58446
59425
  /*!
58447
59426
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -58449,7 +59428,7 @@ __decorate([
58449
59428
  */
58450
59429
  Object.defineProperty(exports, "__esModule", { value: true });
58451
59430
 
58452
- },{}],300:[function(require,module,exports){
59431
+ },{}],301:[function(require,module,exports){
58453
59432
  "use strict";
58454
59433
  /*!
58455
59434
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -58569,7 +59548,7 @@ __decorate([
58569
59548
  ], VocabularyImpl, "EMPTY_VOCABULARY", void 0);
58570
59549
  exports.VocabularyImpl = VocabularyImpl;
58571
59550
 
58572
- },{"./Decorators":269,"./Token":294}],301:[function(require,module,exports){
59551
+ },{"./Decorators":270,"./Token":295}],302:[function(require,module,exports){
58573
59552
  "use strict";
58574
59553
  /*!
58575
59554
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -58577,7 +59556,7 @@ exports.VocabularyImpl = VocabularyImpl;
58577
59556
  */
58578
59557
  Object.defineProperty(exports, "__esModule", { value: true });
58579
59558
 
58580
- },{}],302:[function(require,module,exports){
59559
+ },{}],303:[function(require,module,exports){
58581
59560
  "use strict";
58582
59561
  /*!
58583
59562
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -58799,7 +59778,7 @@ exports.ATN = ATN;
58799
59778
  })(ATN = exports.ATN || (exports.ATN = {}));
58800
59779
  exports.ATN = ATN;
58801
59780
 
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){
59781
+ },{"../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
59782
  "use strict";
58804
59783
  /*!
58805
59784
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -59324,7 +60303,7 @@ ActionSemanticContextATNConfig = __decorate([
59324
60303
  __param(1, Decorators_1.NotNull), __param(2, Decorators_1.NotNull)
59325
60304
  ], ActionSemanticContextATNConfig);
59326
60305
 
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){
60306
+ },{"../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
60307
  "use strict";
59329
60308
  /*!
59330
60309
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -59771,7 +60750,7 @@ __decorate([
59771
60750
  ], ATNConfigSet.prototype, "hashCode", null);
59772
60751
  exports.ATNConfigSet = ATNConfigSet;
59773
60752
 
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){
60753
+ },{"../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
60754
  "use strict";
59776
60755
  /*!
59777
60756
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -59850,7 +60829,7 @@ __decorate([
59850
60829
  ], ATNDeserializationOptions, "defaultOptions", null);
59851
60830
  exports.ATNDeserializationOptions = ATNDeserializationOptions;
59852
60831
 
59853
- },{"../Decorators":269}],306:[function(require,module,exports){
60832
+ },{"../Decorators":270}],307:[function(require,module,exports){
59854
60833
  "use strict";
59855
60834
  /*!
59856
60835
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -60937,7 +61916,7 @@ __decorate([
60937
61916
  ], ATNDeserializer.prototype, "edgeFactory", null);
60938
61917
  exports.ATNDeserializer = ATNDeserializer;
60939
61918
 
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){
61919
+ },{"../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
61920
  "use strict";
60942
61921
  /*!
60943
61922
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61001,7 +61980,7 @@ exports.ATNSimulator = ATNSimulator;
61001
61980
  })(ATNSimulator = exports.ATNSimulator || (exports.ATNSimulator = {}));
61002
61981
  exports.ATNSimulator = ATNSimulator;
61003
61982
 
61004
- },{"../Decorators":269,"../dfa/DFAState":369,"./ATNConfigSet":304,"./PredictionContext":349}],308:[function(require,module,exports){
61983
+ },{"../Decorators":270,"../dfa/DFAState":370,"./ATNConfigSet":305,"./PredictionContext":350}],309:[function(require,module,exports){
61005
61984
  "use strict";
61006
61985
  /*!
61007
61986
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61188,7 +62167,7 @@ exports.ATNState = ATNState;
61188
62167
  ATNState.INVALID_STATE_NUMBER = -1;
61189
62168
  })(ATNState = exports.ATNState || (exports.ATNState = {}));
61190
62169
 
61191
- },{"../Decorators":269}],309:[function(require,module,exports){
62170
+ },{"../Decorators":270}],310:[function(require,module,exports){
61192
62171
  "use strict";
61193
62172
  /*!
61194
62173
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61214,7 +62193,7 @@ var ATNStateType;
61214
62193
  ATNStateType[ATNStateType["LOOP_END"] = 12] = "LOOP_END";
61215
62194
  })(ATNStateType = exports.ATNStateType || (exports.ATNStateType = {}));
61216
62195
 
61217
- },{}],310:[function(require,module,exports){
62196
+ },{}],311:[function(require,module,exports){
61218
62197
  "use strict";
61219
62198
  /*!
61220
62199
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61234,7 +62213,7 @@ class AbstractPredicateTransition extends Transition_1.Transition {
61234
62213
  }
61235
62214
  exports.AbstractPredicateTransition = AbstractPredicateTransition;
61236
62215
 
61237
- },{"./Transition":364}],311:[function(require,module,exports){
62216
+ },{"./Transition":365}],312:[function(require,module,exports){
61238
62217
  "use strict";
61239
62218
  /*!
61240
62219
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61290,7 +62269,7 @@ ActionTransition = __decorate([
61290
62269
  ], ActionTransition);
61291
62270
  exports.ActionTransition = ActionTransition;
61292
62271
 
61293
- },{"../Decorators":269,"./Transition":364}],312:[function(require,module,exports){
62272
+ },{"../Decorators":270,"./Transition":365}],313:[function(require,module,exports){
61294
62273
  "use strict";
61295
62274
  /*!
61296
62275
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61377,7 +62356,7 @@ AmbiguityInfo = __decorate([
61377
62356
  ], AmbiguityInfo);
61378
62357
  exports.AmbiguityInfo = AmbiguityInfo;
61379
62358
 
61380
- },{"../Decorators":269,"./DecisionEventInfo":320}],313:[function(require,module,exports){
62359
+ },{"../Decorators":270,"./DecisionEventInfo":321}],314:[function(require,module,exports){
61381
62360
  "use strict";
61382
62361
  /*!
61383
62362
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61435,7 +62414,7 @@ AtomTransition = __decorate([
61435
62414
  ], AtomTransition);
61436
62415
  exports.AtomTransition = AtomTransition;
61437
62416
 
61438
- },{"../Decorators":269,"../misc/IntervalSet":382,"./Transition":364}],314:[function(require,module,exports){
62417
+ },{"../Decorators":270,"../misc/IntervalSet":383,"./Transition":365}],315:[function(require,module,exports){
61439
62418
  "use strict";
61440
62419
  /*!
61441
62420
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61467,7 +62446,7 @@ __decorate([
61467
62446
  ], BasicBlockStartState.prototype, "stateType", null);
61468
62447
  exports.BasicBlockStartState = BasicBlockStartState;
61469
62448
 
61470
- },{"../Decorators":269,"./ATNStateType":309,"./BlockStartState":317}],315:[function(require,module,exports){
62449
+ },{"../Decorators":270,"./ATNStateType":310,"./BlockStartState":318}],316:[function(require,module,exports){
61471
62450
  "use strict";
61472
62451
  /*!
61473
62452
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61499,7 +62478,7 @@ __decorate([
61499
62478
  ], BasicState.prototype, "stateType", null);
61500
62479
  exports.BasicState = BasicState;
61501
62480
 
61502
- },{"../Decorators":269,"./ATNState":308,"./ATNStateType":309}],316:[function(require,module,exports){
62481
+ },{"../Decorators":270,"./ATNState":309,"./ATNStateType":310}],317:[function(require,module,exports){
61503
62482
  "use strict";
61504
62483
  /*!
61505
62484
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61528,7 +62507,7 @@ __decorate([
61528
62507
  ], BlockEndState.prototype, "stateType", null);
61529
62508
  exports.BlockEndState = BlockEndState;
61530
62509
 
61531
- },{"../Decorators":269,"./ATNState":308,"./ATNStateType":309}],317:[function(require,module,exports){
62510
+ },{"../Decorators":270,"./ATNState":309,"./ATNStateType":310}],318:[function(require,module,exports){
61532
62511
  "use strict";
61533
62512
  /*!
61534
62513
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61542,7 +62521,7 @@ class BlockStartState extends DecisionState_1.DecisionState {
61542
62521
  }
61543
62522
  exports.BlockStartState = BlockStartState;
61544
62523
 
61545
- },{"./DecisionState":322}],318:[function(require,module,exports){
62524
+ },{"./DecisionState":323}],319:[function(require,module,exports){
61546
62525
  "use strict";
61547
62526
  /*!
61548
62527
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61612,7 +62591,7 @@ __decorate([
61612
62591
  ], ConflictInfo.prototype, "hashCode", null);
61613
62592
  exports.ConflictInfo = ConflictInfo;
61614
62593
 
61615
- },{"../Decorators":269,"../misc/Utils":388}],319:[function(require,module,exports){
62594
+ },{"../Decorators":270,"../misc/Utils":389}],320:[function(require,module,exports){
61616
62595
  "use strict";
61617
62596
  /*!
61618
62597
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61672,7 +62651,7 @@ ContextSensitivityInfo = __decorate([
61672
62651
  ], ContextSensitivityInfo);
61673
62652
  exports.ContextSensitivityInfo = ContextSensitivityInfo;
61674
62653
 
61675
- },{"../Decorators":269,"./DecisionEventInfo":320}],320:[function(require,module,exports){
62654
+ },{"../Decorators":270,"./DecisionEventInfo":321}],321:[function(require,module,exports){
61676
62655
  "use strict";
61677
62656
  /*!
61678
62657
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61724,7 +62703,7 @@ DecisionEventInfo = __decorate([
61724
62703
  ], DecisionEventInfo);
61725
62704
  exports.DecisionEventInfo = DecisionEventInfo;
61726
62705
 
61727
- },{"../Decorators":269}],321:[function(require,module,exports){
62706
+ },{"../Decorators":270}],322:[function(require,module,exports){
61728
62707
  "use strict";
61729
62708
  /*!
61730
62709
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61937,7 +62916,7 @@ __decorate([
61937
62916
  ], DecisionInfo.prototype, "toString", null);
61938
62917
  exports.DecisionInfo = DecisionInfo;
61939
62918
 
61940
- },{"../Decorators":269}],322:[function(require,module,exports){
62919
+ },{"../Decorators":270}],323:[function(require,module,exports){
61941
62920
  "use strict";
61942
62921
  /*!
61943
62922
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -61957,7 +62936,7 @@ class DecisionState extends ATNState_1.ATNState {
61957
62936
  }
61958
62937
  exports.DecisionState = DecisionState;
61959
62938
 
61960
- },{"./ATNState":308}],323:[function(require,module,exports){
62939
+ },{"./ATNState":309}],324:[function(require,module,exports){
61961
62940
  "use strict";
61962
62941
  /*!
61963
62942
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -62023,7 +63002,7 @@ EpsilonTransition = __decorate([
62023
63002
  ], EpsilonTransition);
62024
63003
  exports.EpsilonTransition = EpsilonTransition;
62025
63004
 
62026
- },{"../Decorators":269,"./Transition":364}],324:[function(require,module,exports){
63005
+ },{"../Decorators":270,"./Transition":365}],325:[function(require,module,exports){
62027
63006
  "use strict";
62028
63007
  /*!
62029
63008
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -62076,7 +63055,7 @@ ErrorInfo = __decorate([
62076
63055
  ], ErrorInfo);
62077
63056
  exports.ErrorInfo = ErrorInfo;
62078
63057
 
62079
- },{"../Decorators":269,"./DecisionEventInfo":320}],325:[function(require,module,exports){
63058
+ },{"../Decorators":270,"./DecisionEventInfo":321}],326:[function(require,module,exports){
62080
63059
  "use strict";
62081
63060
  /*!
62082
63061
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -62107,7 +63086,7 @@ __decorate([
62107
63086
  ], InvalidState.prototype, "stateType", null);
62108
63087
  exports.InvalidState = InvalidState;
62109
63088
 
62110
- },{"../Decorators":269,"./ATNStateType":309,"./BasicState":315}],326:[function(require,module,exports){
63089
+ },{"../Decorators":270,"./ATNStateType":310,"./BasicState":316}],327:[function(require,module,exports){
62111
63090
  "use strict";
62112
63091
  /*!
62113
63092
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -62329,7 +63308,7 @@ LL1Analyzer = __decorate([
62329
63308
  ], LL1Analyzer);
62330
63309
  exports.LL1Analyzer = LL1Analyzer;
62331
63310
 
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){
63311
+ },{"../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
63312
  "use strict";
62334
63313
  /*!
62335
63314
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63046,7 +64025,7 @@ exports.LexerATNSimulator = LexerATNSimulator;
63046
64025
  })(LexerATNSimulator = exports.LexerATNSimulator || (exports.LexerATNSimulator = {}));
63047
64026
  exports.LexerATNSimulator = LexerATNSimulator;
63048
64027
 
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){
64028
+ },{"../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
64029
  "use strict";
63051
64030
  /*!
63052
64031
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63247,7 +64226,7 @@ LexerActionExecutor = __decorate([
63247
64226
  ], LexerActionExecutor);
63248
64227
  exports.LexerActionExecutor = LexerActionExecutor;
63249
64228
 
63250
- },{"../Decorators":269,"../misc/ArrayEqualityComparator":374,"../misc/MurmurHash":384,"./LexerIndexedCustomAction":331}],329:[function(require,module,exports){
64229
+ },{"../Decorators":270,"../misc/ArrayEqualityComparator":375,"../misc/MurmurHash":385,"./LexerIndexedCustomAction":332}],330:[function(require,module,exports){
63251
64230
  "use strict";
63252
64231
  /*!
63253
64232
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63352,7 +64331,7 @@ __decorate([
63352
64331
  ], LexerChannelAction.prototype, "toString", null);
63353
64332
  exports.LexerChannelAction = LexerChannelAction;
63354
64333
 
63355
- },{"../Decorators":269,"../misc/MurmurHash":384}],330:[function(require,module,exports){
64334
+ },{"../Decorators":270,"../misc/MurmurHash":385}],331:[function(require,module,exports){
63356
64335
  "use strict";
63357
64336
  /*!
63358
64337
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63481,7 +64460,7 @@ __decorate([
63481
64460
  ], LexerCustomAction.prototype, "equals", null);
63482
64461
  exports.LexerCustomAction = LexerCustomAction;
63483
64462
 
63484
- },{"../Decorators":269,"../misc/MurmurHash":384}],331:[function(require,module,exports){
64463
+ },{"../Decorators":270,"../misc/MurmurHash":385}],332:[function(require,module,exports){
63485
64464
  "use strict";
63486
64465
  /*!
63487
64466
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63616,7 +64595,7 @@ LexerIndexedCustomAction = __decorate([
63616
64595
  ], LexerIndexedCustomAction);
63617
64596
  exports.LexerIndexedCustomAction = LexerIndexedCustomAction;
63618
64597
 
63619
- },{"../Decorators":269,"../misc/MurmurHash":384}],332:[function(require,module,exports){
64598
+ },{"../Decorators":270,"../misc/MurmurHash":385}],333:[function(require,module,exports){
63620
64599
  "use strict";
63621
64600
  /*!
63622
64601
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63721,7 +64700,7 @@ __decorate([
63721
64700
  ], LexerModeAction.prototype, "toString", null);
63722
64701
  exports.LexerModeAction = LexerModeAction;
63723
64702
 
63724
- },{"../Decorators":269,"../misc/MurmurHash":384}],333:[function(require,module,exports){
64703
+ },{"../Decorators":270,"../misc/MurmurHash":385}],334:[function(require,module,exports){
63725
64704
  "use strict";
63726
64705
  /*!
63727
64706
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63817,7 +64796,7 @@ exports.LexerMoreAction = LexerMoreAction;
63817
64796
  LexerMoreAction.INSTANCE = new LexerMoreAction();
63818
64797
  })(LexerMoreAction = exports.LexerMoreAction || (exports.LexerMoreAction = {}));
63819
64798
 
63820
- },{"../Decorators":269,"../misc/MurmurHash":384}],334:[function(require,module,exports){
64799
+ },{"../Decorators":270,"../misc/MurmurHash":385}],335:[function(require,module,exports){
63821
64800
  "use strict";
63822
64801
  /*!
63823
64802
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -63913,7 +64892,7 @@ exports.LexerPopModeAction = LexerPopModeAction;
63913
64892
  LexerPopModeAction.INSTANCE = new LexerPopModeAction();
63914
64893
  })(LexerPopModeAction = exports.LexerPopModeAction || (exports.LexerPopModeAction = {}));
63915
64894
 
63916
- },{"../Decorators":269,"../misc/MurmurHash":384}],335:[function(require,module,exports){
64895
+ },{"../Decorators":270,"../misc/MurmurHash":385}],336:[function(require,module,exports){
63917
64896
  "use strict";
63918
64897
  /*!
63919
64898
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64018,7 +64997,7 @@ __decorate([
64018
64997
  ], LexerPushModeAction.prototype, "toString", null);
64019
64998
  exports.LexerPushModeAction = LexerPushModeAction;
64020
64999
 
64021
- },{"../Decorators":269,"../misc/MurmurHash":384}],336:[function(require,module,exports){
65000
+ },{"../Decorators":270,"../misc/MurmurHash":385}],337:[function(require,module,exports){
64022
65001
  "use strict";
64023
65002
  /*!
64024
65003
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64114,7 +65093,7 @@ exports.LexerSkipAction = LexerSkipAction;
64114
65093
  LexerSkipAction.INSTANCE = new LexerSkipAction();
64115
65094
  })(LexerSkipAction = exports.LexerSkipAction || (exports.LexerSkipAction = {}));
64116
65095
 
64117
- },{"../Decorators":269,"../misc/MurmurHash":384}],337:[function(require,module,exports){
65096
+ },{"../Decorators":270,"../misc/MurmurHash":385}],338:[function(require,module,exports){
64118
65097
  "use strict";
64119
65098
  /*!
64120
65099
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64218,7 +65197,7 @@ __decorate([
64218
65197
  ], LexerTypeAction.prototype, "toString", null);
64219
65198
  exports.LexerTypeAction = LexerTypeAction;
64220
65199
 
64221
- },{"../Decorators":269,"../misc/MurmurHash":384}],338:[function(require,module,exports){
65200
+ },{"../Decorators":270,"../misc/MurmurHash":385}],339:[function(require,module,exports){
64222
65201
  "use strict";
64223
65202
  /*!
64224
65203
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64270,7 +65249,7 @@ LookaheadEventInfo = __decorate([
64270
65249
  ], LookaheadEventInfo);
64271
65250
  exports.LookaheadEventInfo = LookaheadEventInfo;
64272
65251
 
64273
- },{"../Decorators":269,"./DecisionEventInfo":320}],339:[function(require,module,exports){
65252
+ },{"../Decorators":270,"./DecisionEventInfo":321}],340:[function(require,module,exports){
64274
65253
  "use strict";
64275
65254
  /*!
64276
65255
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64299,7 +65278,7 @@ __decorate([
64299
65278
  ], LoopEndState.prototype, "stateType", null);
64300
65279
  exports.LoopEndState = LoopEndState;
64301
65280
 
64302
- },{"../Decorators":269,"./ATNState":308,"./ATNStateType":309}],340:[function(require,module,exports){
65281
+ },{"../Decorators":270,"./ATNState":309,"./ATNStateType":310}],341:[function(require,module,exports){
64303
65282
  "use strict";
64304
65283
  /*!
64305
65284
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64348,7 +65327,7 @@ NotSetTransition = __decorate([
64348
65327
  ], NotSetTransition);
64349
65328
  exports.NotSetTransition = NotSetTransition;
64350
65329
 
64351
- },{"../Decorators":269,"./SetTransition":358}],341:[function(require,module,exports){
65330
+ },{"../Decorators":270,"./SetTransition":359}],342:[function(require,module,exports){
64352
65331
  "use strict";
64353
65332
  /*!
64354
65333
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64403,7 +65382,7 @@ __decorate([
64403
65382
  ], OrderedATNConfigSet.prototype, "canMerge", null);
64404
65383
  exports.OrderedATNConfigSet = OrderedATNConfigSet;
64405
65384
 
64406
- },{"../Decorators":269,"./ATNConfigSet":304}],342:[function(require,module,exports){
65385
+ },{"../Decorators":270,"./ATNConfigSet":305}],343:[function(require,module,exports){
64407
65386
  "use strict";
64408
65387
  /*!
64409
65388
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -64565,7 +65544,7 @@ ParseInfo = __decorate([
64565
65544
  ], ParseInfo);
64566
65545
  exports.ParseInfo = ParseInfo;
64567
65546
 
64568
- },{"../Decorators":269}],343:[function(require,module,exports){
65547
+ },{"../Decorators":270}],344:[function(require,module,exports){
64569
65548
  "use strict";
64570
65549
  /*!
64571
65550
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -66838,7 +67817,7 @@ ParserATNSimulator = __decorate([
66838
67817
  ], ParserATNSimulator);
66839
67818
  exports.ParserATNSimulator = ParserATNSimulator;
66840
67819
 
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){
67820
+ },{"../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
67821
  "use strict";
66843
67822
  /*!
66844
67823
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -66871,7 +67850,7 @@ __decorate([
66871
67850
  ], PlusBlockStartState.prototype, "stateType", null);
66872
67851
  exports.PlusBlockStartState = PlusBlockStartState;
66873
67852
 
66874
- },{"../Decorators":269,"./ATNStateType":309,"./BlockStartState":317}],345:[function(require,module,exports){
67853
+ },{"../Decorators":270,"./ATNStateType":310,"./BlockStartState":318}],346:[function(require,module,exports){
66875
67854
  "use strict";
66876
67855
  /*!
66877
67856
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -66902,7 +67881,7 @@ __decorate([
66902
67881
  ], PlusLoopbackState.prototype, "stateType", null);
66903
67882
  exports.PlusLoopbackState = PlusLoopbackState;
66904
67883
 
66905
- },{"../Decorators":269,"./ATNStateType":309,"./DecisionState":322}],346:[function(require,module,exports){
67884
+ },{"../Decorators":270,"./ATNStateType":310,"./DecisionState":323}],347:[function(require,module,exports){
66906
67885
  "use strict";
66907
67886
  /*!
66908
67887
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -66965,7 +67944,7 @@ PrecedencePredicateTransition = __decorate([
66965
67944
  ], PrecedencePredicateTransition);
66966
67945
  exports.PrecedencePredicateTransition = PrecedencePredicateTransition;
66967
67946
 
66968
- },{"../Decorators":269,"./AbstractPredicateTransition":310,"./SemanticContext":357}],347:[function(require,module,exports){
67947
+ },{"../Decorators":270,"./AbstractPredicateTransition":311,"./SemanticContext":358}],348:[function(require,module,exports){
66969
67948
  "use strict";
66970
67949
  /*!
66971
67950
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -67028,7 +68007,7 @@ PredicateEvalInfo = __decorate([
67028
68007
  ], PredicateEvalInfo);
67029
68008
  exports.PredicateEvalInfo = PredicateEvalInfo;
67030
68009
 
67031
- },{"../Decorators":269,"./DecisionEventInfo":320}],348:[function(require,module,exports){
68010
+ },{"../Decorators":270,"./DecisionEventInfo":321}],349:[function(require,module,exports){
67032
68011
  "use strict";
67033
68012
  /*!
67034
68013
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -67094,7 +68073,7 @@ PredicateTransition = __decorate([
67094
68073
  ], PredicateTransition);
67095
68074
  exports.PredicateTransition = PredicateTransition;
67096
68075
 
67097
- },{"../Decorators":269,"./AbstractPredicateTransition":310,"./SemanticContext":357}],349:[function(require,module,exports){
68076
+ },{"../Decorators":270,"./AbstractPredicateTransition":311,"./SemanticContext":358}],350:[function(require,module,exports){
67098
68077
  "use strict";
67099
68078
  /*!
67100
68079
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -67785,7 +68764,7 @@ exports.SingletonPredictionContext = SingletonPredictionContext;
67785
68764
  PredictionContext.IdentityEqualityComparator = IdentityEqualityComparator;
67786
68765
  })(PredictionContext = exports.PredictionContext || (exports.PredictionContext = {}));
67787
68766
 
67788
- },{"../Decorators":269,"../misc/Array2DHashMap":372,"../misc/Array2DHashSet":373,"../misc/Arrays":375,"../misc/MurmurHash":384,"./PredictionContextCache":350,"assert":412}],350:[function(require,module,exports){
68767
+ },{"../Decorators":270,"../misc/Array2DHashMap":373,"../misc/Array2DHashSet":374,"../misc/Arrays":376,"../misc/MurmurHash":385,"./PredictionContextCache":351,"assert":413}],351:[function(require,module,exports){
67789
68768
  "use strict";
67790
68769
  /*!
67791
68770
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -67926,7 +68905,7 @@ PredictionContextCache.UNCACHED = new PredictionContextCache(false);
67926
68905
  PredictionContextCache.IdentityCommutativePredictionContextOperands = IdentityCommutativePredictionContextOperands;
67927
68906
  })(PredictionContextCache = exports.PredictionContextCache || (exports.PredictionContextCache = {}));
67928
68907
 
67929
- },{"../Decorators":269,"../misc/Array2DHashMap":372,"../misc/ObjectEqualityComparator":385,"./PredictionContext":349,"assert":412}],351:[function(require,module,exports){
68908
+ },{"../Decorators":270,"../misc/Array2DHashMap":373,"../misc/ObjectEqualityComparator":386,"./PredictionContext":350,"assert":413}],352:[function(require,module,exports){
67930
68909
  "use strict";
67931
68910
  /*!
67932
68911
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -68087,7 +69066,7 @@ var PredictionMode;
68087
69066
  PredictionMode.allConfigsInRuleStopStates = allConfigsInRuleStopStates;
68088
69067
  })(PredictionMode = exports.PredictionMode || (exports.PredictionMode = {}));
68089
69068
 
68090
- },{"../Decorators":269,"../misc/Array2DHashMap":372,"../misc/MurmurHash":384,"./RuleStopState":355}],352:[function(require,module,exports){
69069
+ },{"../Decorators":270,"../misc/Array2DHashMap":373,"../misc/MurmurHash":385,"./RuleStopState":356}],353:[function(require,module,exports){
68091
69070
  (function (process){(function (){
68092
69071
  "use strict";
68093
69072
  /*!
@@ -68356,7 +69335,7 @@ __decorate([
68356
69335
  exports.ProfilingATNSimulator = ProfilingATNSimulator;
68357
69336
 
68358
69337
  }).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){
69338
+ },{"../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
69339
  "use strict";
68361
69340
  /*!
68362
69341
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -68414,7 +69393,7 @@ RangeTransition = __decorate([
68414
69393
  ], RangeTransition);
68415
69394
  exports.RangeTransition = RangeTransition;
68416
69395
 
68417
- },{"../Decorators":269,"../misc/IntervalSet":382,"./Transition":364}],354:[function(require,module,exports){
69396
+ },{"../Decorators":270,"../misc/IntervalSet":383,"./Transition":365}],355:[function(require,module,exports){
68418
69397
  "use strict";
68419
69398
  /*!
68420
69399
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -68447,7 +69426,7 @@ __decorate([
68447
69426
  ], RuleStartState.prototype, "stateType", null);
68448
69427
  exports.RuleStartState = RuleStartState;
68449
69428
 
68450
- },{"../Decorators":269,"./ATNState":308,"./ATNStateType":309}],355:[function(require,module,exports){
69429
+ },{"../Decorators":270,"./ATNState":309,"./ATNStateType":310}],356:[function(require,module,exports){
68451
69430
  "use strict";
68452
69431
  /*!
68453
69432
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -68486,7 +69465,7 @@ __decorate([
68486
69465
  ], RuleStopState.prototype, "stateType", null);
68487
69466
  exports.RuleStopState = RuleStopState;
68488
69467
 
68489
- },{"../Decorators":269,"./ATNState":308,"./ATNStateType":309}],356:[function(require,module,exports){
69468
+ },{"../Decorators":270,"./ATNState":309,"./ATNStateType":310}],357:[function(require,module,exports){
68490
69469
  "use strict";
68491
69470
  /*!
68492
69471
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -68542,7 +69521,7 @@ RuleTransition = __decorate([
68542
69521
  ], RuleTransition);
68543
69522
  exports.RuleTransition = RuleTransition;
68544
69523
 
68545
- },{"../Decorators":269,"./Transition":364}],357:[function(require,module,exports){
69524
+ },{"../Decorators":270,"./Transition":365}],358:[function(require,module,exports){
68546
69525
  "use strict";
68547
69526
  /*!
68548
69527
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69022,7 +70001,7 @@ exports.SemanticContext = SemanticContext;
69022
70001
  SemanticContext.OR = OR;
69023
70002
  })(SemanticContext = exports.SemanticContext || (exports.SemanticContext = {}));
69024
70003
 
69025
- },{"../Decorators":269,"../misc/Array2DHashSet":373,"../misc/ArrayEqualityComparator":374,"../misc/MurmurHash":384,"../misc/ObjectEqualityComparator":385,"../misc/Utils":388}],358:[function(require,module,exports){
70004
+ },{"../Decorators":270,"../misc/Array2DHashSet":374,"../misc/ArrayEqualityComparator":375,"../misc/MurmurHash":385,"../misc/ObjectEqualityComparator":386,"../misc/Utils":389}],359:[function(require,module,exports){
69026
70005
  "use strict";
69027
70006
  /*!
69028
70007
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69088,7 +70067,7 @@ SetTransition = __decorate([
69088
70067
  ], SetTransition);
69089
70068
  exports.SetTransition = SetTransition;
69090
70069
 
69091
- },{"../Decorators":269,"../Token":294,"../misc/IntervalSet":382,"./Transition":364}],359:[function(require,module,exports){
70070
+ },{"../Decorators":270,"../Token":295,"../misc/IntervalSet":383,"./Transition":365}],360:[function(require,module,exports){
69092
70071
  "use strict";
69093
70072
  /*!
69094
70073
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69124,7 +70103,7 @@ SimulatorState = __decorate([
69124
70103
  ], SimulatorState);
69125
70104
  exports.SimulatorState = SimulatorState;
69126
70105
 
69127
- },{"../Decorators":269,"../ParserRuleContext":285}],360:[function(require,module,exports){
70106
+ },{"../Decorators":270,"../ParserRuleContext":286}],361:[function(require,module,exports){
69128
70107
  "use strict";
69129
70108
  /*!
69130
70109
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69152,7 +70131,7 @@ __decorate([
69152
70131
  ], StarBlockStartState.prototype, "stateType", null);
69153
70132
  exports.StarBlockStartState = StarBlockStartState;
69154
70133
 
69155
- },{"../Decorators":269,"./ATNStateType":309,"./BlockStartState":317}],361:[function(require,module,exports){
70134
+ },{"../Decorators":270,"./ATNStateType":310,"./BlockStartState":318}],362:[function(require,module,exports){
69156
70135
  "use strict";
69157
70136
  /*!
69158
70137
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69209,7 +70188,7 @@ __decorate([
69209
70188
  ], StarLoopEntryState.prototype, "stateType", null);
69210
70189
  exports.StarLoopEntryState = StarLoopEntryState;
69211
70190
 
69212
- },{"../Decorators":269,"../misc/BitSet":376,"./ATNStateType":309,"./DecisionState":322}],362:[function(require,module,exports){
70191
+ },{"../Decorators":270,"../misc/BitSet":377,"./ATNStateType":310,"./DecisionState":323}],363:[function(require,module,exports){
69213
70192
  "use strict";
69214
70193
  /*!
69215
70194
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69240,7 +70219,7 @@ __decorate([
69240
70219
  ], StarLoopbackState.prototype, "stateType", null);
69241
70220
  exports.StarLoopbackState = StarLoopbackState;
69242
70221
 
69243
- },{"../Decorators":269,"./ATNState":308,"./ATNStateType":309}],363:[function(require,module,exports){
70222
+ },{"../Decorators":270,"./ATNState":309,"./ATNStateType":310}],364:[function(require,module,exports){
69244
70223
  "use strict";
69245
70224
  /*!
69246
70225
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69269,7 +70248,7 @@ __decorate([
69269
70248
  ], TokensStartState.prototype, "stateType", null);
69270
70249
  exports.TokensStartState = TokensStartState;
69271
70250
 
69272
- },{"../Decorators":269,"./ATNStateType":309,"./DecisionState":322}],364:[function(require,module,exports){
70251
+ },{"../Decorators":270,"./ATNStateType":310,"./DecisionState":323}],365:[function(require,module,exports){
69273
70252
  "use strict";
69274
70253
  /*!
69275
70254
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69343,7 +70322,7 @@ Transition = __decorate([
69343
70322
  ], Transition);
69344
70323
  exports.Transition = Transition;
69345
70324
 
69346
- },{"../Decorators":269}],365:[function(require,module,exports){
70325
+ },{"../Decorators":270}],366:[function(require,module,exports){
69347
70326
  "use strict";
69348
70327
  /*!
69349
70328
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69391,7 +70370,7 @@ WildcardTransition = __decorate([
69391
70370
  ], WildcardTransition);
69392
70371
  exports.WildcardTransition = WildcardTransition;
69393
70372
 
69394
- },{"../Decorators":269,"./Transition":364}],366:[function(require,module,exports){
70373
+ },{"../Decorators":270,"./Transition":365}],367:[function(require,module,exports){
69395
70374
  "use strict";
69396
70375
  /*!
69397
70376
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69433,7 +70412,7 @@ class AcceptStateInfo {
69433
70412
  }
69434
70413
  exports.AcceptStateInfo = AcceptStateInfo;
69435
70414
 
69436
- },{}],367:[function(require,module,exports){
70415
+ },{}],368:[function(require,module,exports){
69437
70416
  "use strict";
69438
70417
  /*!
69439
70418
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69608,7 +70587,7 @@ DFA = __decorate([
69608
70587
  ], DFA);
69609
70588
  exports.DFA = DFA;
69610
70589
 
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){
70590
+ },{"../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
70591
  "use strict";
69613
70592
  /*!
69614
70593
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69750,7 +70729,7 @@ __decorate([
69750
70729
  ], DFASerializer.prototype, "toString", null);
69751
70730
  exports.DFASerializer = DFASerializer;
69752
70731
 
69753
- },{"../Decorators":269,"../Recognizer":289,"../VocabularyImpl":300,"../atn/ATNSimulator":307,"../atn/PredictionContext":349}],369:[function(require,module,exports){
70732
+ },{"../Decorators":270,"../Recognizer":290,"../VocabularyImpl":301,"../atn/ATNSimulator":308,"../atn/PredictionContext":350}],370:[function(require,module,exports){
69754
70733
  "use strict";
69755
70734
  /*!
69756
70735
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -69981,7 +70960,7 @@ exports.DFAState = DFAState;
69981
70960
  DFAState.PredPrediction = PredPrediction;
69982
70961
  })(DFAState = exports.DFAState || (exports.DFAState = {}));
69983
70962
 
69984
- },{"../Decorators":269,"../atn/ATN":302,"../atn/PredictionContext":349,"../misc/BitSet":376,"../misc/MurmurHash":384,"assert":412}],370:[function(require,module,exports){
70963
+ },{"../Decorators":270,"../atn/ATN":303,"../atn/PredictionContext":350,"../misc/BitSet":377,"../misc/MurmurHash":385,"assert":413}],371:[function(require,module,exports){
69985
70964
  "use strict";
69986
70965
  /*!
69987
70966
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -70018,7 +70997,7 @@ LexerDFASerializer = __decorate([
70018
70997
  ], LexerDFASerializer);
70019
70998
  exports.LexerDFASerializer = LexerDFASerializer;
70020
70999
 
70021
- },{"../Decorators":269,"../VocabularyImpl":300,"./DFASerializer":368}],371:[function(require,module,exports){
71000
+ },{"../Decorators":270,"../VocabularyImpl":301,"./DFASerializer":369}],372:[function(require,module,exports){
70022
71001
  "use strict";
70023
71002
  /*!
70024
71003
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -70084,7 +71063,7 @@ __exportStar(require("./Vocabulary"), exports);
70084
71063
  __exportStar(require("./VocabularyImpl"), exports);
70085
71064
  __exportStar(require("./WritableToken"), exports);
70086
71065
 
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){
71066
+ },{"./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
71067
  "use strict";
70089
71068
  /*!
70090
71069
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -70167,7 +71146,7 @@ class Array2DHashMap {
70167
71146
  }
70168
71147
  exports.Array2DHashMap = Array2DHashMap;
70169
71148
 
70170
- },{"./Array2DHashSet":373}],373:[function(require,module,exports){
71149
+ },{"./Array2DHashSet":374}],374:[function(require,module,exports){
70171
71150
  "use strict";
70172
71151
  /*!
70173
71152
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -70534,7 +71513,7 @@ __decorate([
70534
71513
  ], Array2DHashSet.prototype, "createBuckets", null);
70535
71514
  exports.Array2DHashSet = Array2DHashSet;
70536
71515
 
70537
- },{"../Decorators":269,"./DefaultEqualityComparator":378,"./MurmurHash":384,"assert":412}],374:[function(require,module,exports){
71516
+ },{"../Decorators":270,"./DefaultEqualityComparator":379,"./MurmurHash":385,"assert":413}],375:[function(require,module,exports){
70538
71517
  "use strict";
70539
71518
  /*!
70540
71519
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -70606,7 +71585,7 @@ __decorate([
70606
71585
  ], ArrayEqualityComparator.prototype, "equals", null);
70607
71586
  exports.ArrayEqualityComparator = ArrayEqualityComparator;
70608
71587
 
70609
- },{"../Decorators":269,"./MurmurHash":384,"./ObjectEqualityComparator":385}],375:[function(require,module,exports){
71588
+ },{"../Decorators":270,"./MurmurHash":385,"./ObjectEqualityComparator":386}],376:[function(require,module,exports){
70610
71589
  "use strict";
70611
71590
  /*!
70612
71591
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -70676,7 +71655,7 @@ var Arrays;
70676
71655
  Arrays.toString = toString;
70677
71656
  })(Arrays = exports.Arrays || (exports.Arrays = {}));
70678
71657
 
70679
- },{}],376:[function(require,module,exports){
71658
+ },{}],377:[function(require,module,exports){
70680
71659
  "use strict";
70681
71660
  /*!
70682
71661
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -71348,7 +72327,7 @@ class BitSetIterator {
71348
72327
  [Symbol.iterator]() { return this; }
71349
72328
  }
71350
72329
 
71351
- },{"./MurmurHash":384,"util":476}],377:[function(require,module,exports){
72330
+ },{"./MurmurHash":385,"util":477}],378:[function(require,module,exports){
71352
72331
  "use strict";
71353
72332
  /*!
71354
72333
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -71369,7 +72348,7 @@ function isSupplementaryCodePoint(ch) {
71369
72348
  }
71370
72349
  exports.isSupplementaryCodePoint = isSupplementaryCodePoint;
71371
72350
 
71372
- },{}],378:[function(require,module,exports){
72351
+ },{}],379:[function(require,module,exports){
71373
72352
  "use strict";
71374
72353
  /*!
71375
72354
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -71440,7 +72419,7 @@ __decorate([
71440
72419
  ], DefaultEqualityComparator.prototype, "equals", null);
71441
72420
  exports.DefaultEqualityComparator = DefaultEqualityComparator;
71442
72421
 
71443
- },{"../Decorators":269,"./MurmurHash":384,"./ObjectEqualityComparator":385}],379:[function(require,module,exports){
72422
+ },{"../Decorators":270,"./MurmurHash":385,"./ObjectEqualityComparator":386}],380:[function(require,module,exports){
71444
72423
  "use strict";
71445
72424
  /*!
71446
72425
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -71734,7 +72713,7 @@ __decorate([
71734
72713
  ], IntegerList.prototype, "toString", null);
71735
72714
  exports.IntegerList = IntegerList;
71736
72715
 
71737
- },{"../Decorators":269,"./Arrays":375}],380:[function(require,module,exports){
72716
+ },{"../Decorators":270,"./Arrays":376}],381:[function(require,module,exports){
71738
72717
  "use strict";
71739
72718
  /*!
71740
72719
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -71764,7 +72743,7 @@ class IntegerStack extends IntegerList_1.IntegerList {
71764
72743
  }
71765
72744
  exports.IntegerStack = IntegerStack;
71766
72745
 
71767
- },{"./IntegerList":379}],381:[function(require,module,exports){
72746
+ },{"./IntegerList":380}],382:[function(require,module,exports){
71768
72747
  "use strict";
71769
72748
  /*!
71770
72749
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -71907,7 +72886,7 @@ __decorate([
71907
72886
  ], Interval.prototype, "toString", null);
71908
72887
  exports.Interval = Interval;
71909
72888
 
71910
- },{"../Decorators":269}],382:[function(require,module,exports){
72889
+ },{"../Decorators":270}],383:[function(require,module,exports){
71911
72890
  "use strict";
71912
72891
  /*!
71913
72892
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -72553,7 +73532,7 @@ __decorate([
72553
73532
  ], IntervalSet, "subtract", null);
72554
73533
  exports.IntervalSet = IntervalSet;
72555
73534
 
72556
- },{"../Decorators":269,"../Lexer":277,"../Token":294,"./ArrayEqualityComparator":374,"./IntegerList":379,"./Interval":381,"./MurmurHash":384}],383:[function(require,module,exports){
73535
+ },{"../Decorators":270,"../Lexer":278,"../Token":295,"./ArrayEqualityComparator":375,"./IntegerList":380,"./Interval":382,"./MurmurHash":385}],384:[function(require,module,exports){
72557
73536
  "use strict";
72558
73537
  /*!
72559
73538
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -72586,7 +73565,7 @@ class MultiMap extends Map {
72586
73565
  }
72587
73566
  exports.MultiMap = MultiMap;
72588
73567
 
72589
- },{}],384:[function(require,module,exports){
73568
+ },{}],385:[function(require,module,exports){
72590
73569
  "use strict";
72591
73570
  /*!
72592
73571
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -72701,7 +73680,7 @@ var MurmurHash;
72701
73680
  }
72702
73681
  })(MurmurHash = exports.MurmurHash || (exports.MurmurHash = {}));
72703
73682
 
72704
- },{}],385:[function(require,module,exports){
73683
+ },{}],386:[function(require,module,exports){
72705
73684
  "use strict";
72706
73685
  /*!
72707
73686
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -72760,7 +73739,7 @@ __decorate([
72760
73739
  ], ObjectEqualityComparator.prototype, "equals", null);
72761
73740
  exports.ObjectEqualityComparator = ObjectEqualityComparator;
72762
73741
 
72763
- },{"../Decorators":269}],386:[function(require,module,exports){
73742
+ },{"../Decorators":270}],387:[function(require,module,exports){
72764
73743
  "use strict";
72765
73744
  /*!
72766
73745
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -72789,7 +73768,7 @@ class ParseCancellationException extends Error {
72789
73768
  }
72790
73769
  exports.ParseCancellationException = ParseCancellationException;
72791
73770
 
72792
- },{}],387:[function(require,module,exports){
73771
+ },{}],388:[function(require,module,exports){
72793
73772
  "use strict";
72794
73773
  /*!
72795
73774
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -72843,7 +73822,7 @@ class UUID {
72843
73822
  }
72844
73823
  exports.UUID = UUID;
72845
73824
 
72846
- },{"./MurmurHash":384}],388:[function(require,module,exports){
73825
+ },{"./MurmurHash":385}],389:[function(require,module,exports){
72847
73826
  "use strict";
72848
73827
  /*!
72849
73828
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73018,7 +73997,7 @@ exports.toCharArray = toCharArray;
73018
73997
  // return s;
73019
73998
  // }
73020
73999
 
73021
- },{}],389:[function(require,module,exports){
74000
+ },{}],390:[function(require,module,exports){
73022
74001
  "use strict";
73023
74002
  /*!
73024
74003
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73163,7 +74142,7 @@ __decorate([
73163
74142
  ], AbstractParseTreeVisitor.prototype, "shouldVisitNextChild", null);
73164
74143
  exports.AbstractParseTreeVisitor = AbstractParseTreeVisitor;
73165
74144
 
73166
- },{"../Decorators":269}],390:[function(require,module,exports){
74145
+ },{"../Decorators":270}],391:[function(require,module,exports){
73167
74146
  "use strict";
73168
74147
  /*!
73169
74148
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73199,7 +74178,7 @@ __decorate([
73199
74178
  ], ErrorNode.prototype, "accept", null);
73200
74179
  exports.ErrorNode = ErrorNode;
73201
74180
 
73202
- },{"../Decorators":269,"./TerminalNode":392}],391:[function(require,module,exports){
74181
+ },{"../Decorators":270,"./TerminalNode":393}],392:[function(require,module,exports){
73203
74182
  "use strict";
73204
74183
  /*!
73205
74184
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73211,7 +74190,7 @@ class RuleNode {
73211
74190
  }
73212
74191
  exports.RuleNode = RuleNode;
73213
74192
 
73214
- },{}],392:[function(require,module,exports){
74193
+ },{}],393:[function(require,module,exports){
73215
74194
  "use strict";
73216
74195
  /*!
73217
74196
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73303,7 +74282,7 @@ __decorate([
73303
74282
  ], TerminalNode.prototype, "toString", null);
73304
74283
  exports.TerminalNode = TerminalNode;
73305
74284
 
73306
- },{"../Decorators":269,"../Token":294,"../misc/Interval":381}],393:[function(require,module,exports){
74285
+ },{"../Decorators":270,"../Token":295,"../misc/Interval":382}],394:[function(require,module,exports){
73307
74286
  "use strict";
73308
74287
  /*!
73309
74288
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73547,7 +74526,7 @@ __decorate([
73547
74526
  ], Trees, "getRootOfSubtreeEnclosingRegion", null);
73548
74527
  exports.Trees = Trees;
73549
74528
 
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){
74529
+ },{"../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
74530
  "use strict";
73552
74531
  /*!
73553
74532
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73571,7 +74550,7 @@ class Chunk {
73571
74550
  }
73572
74551
  exports.Chunk = Chunk;
73573
74552
 
73574
- },{}],395:[function(require,module,exports){
74553
+ },{}],396:[function(require,module,exports){
73575
74554
  "use strict";
73576
74555
  /*!
73577
74556
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73751,7 +74730,7 @@ ParseTreeMatch = __decorate([
73751
74730
  ], ParseTreeMatch);
73752
74731
  exports.ParseTreeMatch = ParseTreeMatch;
73753
74732
 
73754
- },{"../../Decorators":269}],396:[function(require,module,exports){
74733
+ },{"../../Decorators":270}],397:[function(require,module,exports){
73755
74734
  "use strict";
73756
74735
  /*!
73757
74736
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -73909,7 +74888,7 @@ ParseTreePattern = __decorate([
73909
74888
  ], ParseTreePattern);
73910
74889
  exports.ParseTreePattern = ParseTreePattern;
73911
74890
 
73912
- },{"../../Decorators":269,"../xpath/XPath":402}],397:[function(require,module,exports){
74891
+ },{"../../Decorators":270,"../xpath/XPath":403}],398:[function(require,module,exports){
73913
74892
  "use strict";
73914
74893
  /*!
73915
74894
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -74387,7 +75366,7 @@ exports.ParseTreePatternMatcher = ParseTreePatternMatcher;
74387
75366
  ParseTreePatternMatcher.StartRuleDoesNotConsumeFullPattern = StartRuleDoesNotConsumeFullPattern;
74388
75367
  })(ParseTreePatternMatcher = exports.ParseTreePatternMatcher || (exports.ParseTreePatternMatcher = {}));
74389
75368
 
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){
75369
+ },{"../../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
75370
  "use strict";
74392
75371
  /*!
74393
75372
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -74585,7 +75564,7 @@ RuleTagToken = __decorate([
74585
75564
  ], RuleTagToken);
74586
75565
  exports.RuleTagToken = RuleTagToken;
74587
75566
 
74588
- },{"../../Decorators":269,"../../Token":294}],399:[function(require,module,exports){
75567
+ },{"../../Decorators":270,"../../Token":295}],400:[function(require,module,exports){
74589
75568
  "use strict";
74590
75569
  /*!
74591
75570
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -74672,7 +75651,7 @@ __decorate([
74672
75651
  ], TagChunk.prototype, "toString", null);
74673
75652
  exports.TagChunk = TagChunk;
74674
75653
 
74675
- },{"../../Decorators":269,"./Chunk":394}],400:[function(require,module,exports){
75654
+ },{"../../Decorators":270,"./Chunk":395}],401:[function(require,module,exports){
74676
75655
  "use strict";
74677
75656
  /*!
74678
75657
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -74742,7 +75721,7 @@ TextChunk = __decorate([
74742
75721
  ], TextChunk);
74743
75722
  exports.TextChunk = TextChunk;
74744
75723
 
74745
- },{"../../Decorators":269,"./Chunk":394}],401:[function(require,module,exports){
75724
+ },{"../../Decorators":270,"./Chunk":395}],402:[function(require,module,exports){
74746
75725
  "use strict";
74747
75726
  /*!
74748
75727
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -74837,7 +75816,7 @@ TokenTagToken = __decorate([
74837
75816
  ], TokenTagToken);
74838
75817
  exports.TokenTagToken = TokenTagToken;
74839
75818
 
74840
- },{"../../CommonToken":265,"../../Decorators":269}],402:[function(require,module,exports){
75819
+ },{"../../CommonToken":266,"../../Decorators":270}],403:[function(require,module,exports){
74841
75820
  "use strict";
74842
75821
  /*!
74843
75822
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75034,7 +76013,7 @@ exports.XPath = XPath;
75034
76013
  XPath.WILDCARD = "*"; // word not operator/separator
75035
76014
  XPath.NOT = "!"; // word for invert operator
75036
76015
 
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){
76016
+ },{"../../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
76017
  "use strict";
75039
76018
  /*!
75040
76019
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75069,7 +76048,7 @@ __decorate([
75069
76048
  ], XPathElement.prototype, "toString", null);
75070
76049
  exports.XPathElement = XPathElement;
75071
76050
 
75072
- },{"../../Decorators":269}],404:[function(require,module,exports){
76051
+ },{"../../Decorators":270}],405:[function(require,module,exports){
75073
76052
  "use strict";
75074
76053
  // Generated from XPathLexer.g4 by ANTLR 4.9.0-SNAPSHOT
75075
76054
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -75544,7 +76523,7 @@ XPathLexer._serializedATN = Utils.join([
75544
76523
  XPathLexer._serializedATNSegment1,
75545
76524
  ], "");
75546
76525
 
75547
- },{"../../Lexer":277,"../../VocabularyImpl":300,"../../atn/ATNDeserializer":306,"../../atn/LexerATNSimulator":327,"../../misc/Utils":388}],405:[function(require,module,exports){
76526
+ },{"../../Lexer":278,"../../VocabularyImpl":301,"../../atn/ATNDeserializer":307,"../../atn/LexerATNSimulator":328,"../../misc/Utils":389}],406:[function(require,module,exports){
75548
76527
  "use strict";
75549
76528
  /*!
75550
76529
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75569,7 +76548,7 @@ __decorate([
75569
76548
  ], XPathLexerErrorListener.prototype, "syntaxError", null);
75570
76549
  exports.XPathLexerErrorListener = XPathLexerErrorListener;
75571
76550
 
75572
- },{"../../Decorators":269}],406:[function(require,module,exports){
76551
+ },{"../../Decorators":270}],407:[function(require,module,exports){
75573
76552
  "use strict";
75574
76553
  /*!
75575
76554
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75603,7 +76582,7 @@ __decorate([
75603
76582
  ], XPathRuleAnywhereElement.prototype, "evaluate", null);
75604
76583
  exports.XPathRuleAnywhereElement = XPathRuleAnywhereElement;
75605
76584
 
75606
- },{"../../Decorators":269,"../Trees":393,"./XPathElement":403}],407:[function(require,module,exports){
76585
+ },{"../../Decorators":270,"../Trees":394,"./XPathElement":404}],408:[function(require,module,exports){
75607
76586
  "use strict";
75608
76587
  /*!
75609
76588
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75646,7 +76625,7 @@ __decorate([
75646
76625
  ], XPathRuleElement.prototype, "evaluate", null);
75647
76626
  exports.XPathRuleElement = XPathRuleElement;
75648
76627
 
75649
- },{"../../Decorators":269,"../../ParserRuleContext":285,"../Trees":393,"./XPathElement":403}],408:[function(require,module,exports){
76628
+ },{"../../Decorators":270,"../../ParserRuleContext":286,"../Trees":394,"./XPathElement":404}],409:[function(require,module,exports){
75650
76629
  "use strict";
75651
76630
  /*!
75652
76631
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75678,7 +76657,7 @@ __decorate([
75678
76657
  ], XPathTokenAnywhereElement.prototype, "evaluate", null);
75679
76658
  exports.XPathTokenAnywhereElement = XPathTokenAnywhereElement;
75680
76659
 
75681
- },{"../../Decorators":269,"../Trees":393,"./XPathElement":403}],409:[function(require,module,exports){
76660
+ },{"../../Decorators":270,"../Trees":394,"./XPathElement":404}],410:[function(require,module,exports){
75682
76661
  "use strict";
75683
76662
  /*!
75684
76663
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75721,7 +76700,7 @@ __decorate([
75721
76700
  ], XPathTokenElement.prototype, "evaluate", null);
75722
76701
  exports.XPathTokenElement = XPathTokenElement;
75723
76702
 
75724
- },{"../../Decorators":269,"../TerminalNode":392,"../Trees":393,"./XPathElement":403}],410:[function(require,module,exports){
76703
+ },{"../../Decorators":270,"../TerminalNode":393,"../Trees":394,"./XPathElement":404}],411:[function(require,module,exports){
75725
76704
  "use strict";
75726
76705
  /*!
75727
76706
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75757,7 +76736,7 @@ __decorate([
75757
76736
  ], XPathWildcardAnywhereElement.prototype, "evaluate", null);
75758
76737
  exports.XPathWildcardAnywhereElement = XPathWildcardAnywhereElement;
75759
76738
 
75760
- },{"../../Decorators":269,"../Trees":393,"./XPath":402,"./XPathElement":403}],411:[function(require,module,exports){
76739
+ },{"../../Decorators":270,"../Trees":394,"./XPath":403,"./XPathElement":404}],412:[function(require,module,exports){
75761
76740
  "use strict";
75762
76741
  /*!
75763
76742
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -75797,7 +76776,7 @@ __decorate([
75797
76776
  ], XPathWildcardElement.prototype, "evaluate", null);
75798
76777
  exports.XPathWildcardElement = XPathWildcardElement;
75799
76778
 
75800
- },{"../../Decorators":269,"../Trees":393,"./XPath":402,"./XPathElement":403}],412:[function(require,module,exports){
76779
+ },{"../../Decorators":270,"../Trees":394,"./XPath":403,"./XPathElement":404}],413:[function(require,module,exports){
75801
76780
  (function (global){(function (){
75802
76781
  'use strict';
75803
76782
 
@@ -76307,7 +77286,7 @@ var objectKeys = Object.keys || function (obj) {
76307
77286
  };
76308
77287
 
76309
77288
  }).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){
77289
+ },{"object.assign/polyfill":470,"util/":416}],414:[function(require,module,exports){
76311
77290
  if (typeof Object.create === 'function') {
76312
77291
  // implementation from standard node.js 'util' module
76313
77292
  module.exports = function inherits(ctor, superCtor) {
@@ -76332,14 +77311,14 @@ if (typeof Object.create === 'function') {
76332
77311
  }
76333
77312
  }
76334
77313
 
76335
- },{}],414:[function(require,module,exports){
77314
+ },{}],415:[function(require,module,exports){
76336
77315
  module.exports = function isBuffer(arg) {
76337
77316
  return arg && typeof arg === 'object'
76338
77317
  && typeof arg.copy === 'function'
76339
77318
  && typeof arg.fill === 'function'
76340
77319
  && typeof arg.readUInt8 === 'function';
76341
77320
  }
76342
- },{}],415:[function(require,module,exports){
77321
+ },{}],416:[function(require,module,exports){
76343
77322
  (function (process,global){(function (){
76344
77323
  // Copyright Joyent, Inc. and other Node contributors.
76345
77324
  //
@@ -76929,7 +77908,7 @@ function hasOwnProperty(obj, prop) {
76929
77908
  }
76930
77909
 
76931
77910
  }).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){
77911
+ },{"./support/isBuffer":415,"_process":472,"inherits":414}],417:[function(require,module,exports){
76933
77912
  (function (global){(function (){
76934
77913
  'use strict';
76935
77914
 
@@ -76950,7 +77929,7 @@ module.exports = function availableTypedArrays() {
76950
77929
  };
76951
77930
 
76952
77931
  }).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){
77932
+ },{"possible-typed-array-names":471}],418:[function(require,module,exports){
76954
77933
  (function (process,global){(function (){
76955
77934
  module.exports = process.hrtime || hrtime
76956
77935
 
@@ -76981,7 +77960,7 @@ function hrtime(previousTimestamp){
76981
77960
  return [seconds,nanoseconds]
76982
77961
  }
76983
77962
  }).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){
77963
+ },{"_process":472}],419:[function(require,module,exports){
76985
77964
  'use strict';
76986
77965
 
76987
77966
  var bind = require('function-bind');
@@ -76993,7 +77972,7 @@ var $reflectApply = require('./reflectApply');
76993
77972
  /** @type {import('./actualApply')} */
76994
77973
  module.exports = $reflectApply || bind.call($call, $apply);
76995
77974
 
76996
- },{"./functionApply":420,"./functionCall":421,"./reflectApply":423,"function-bind":439}],419:[function(require,module,exports){
77975
+ },{"./functionApply":421,"./functionCall":422,"./reflectApply":424,"function-bind":440}],420:[function(require,module,exports){
76997
77976
  'use strict';
76998
77977
 
76999
77978
  var bind = require('function-bind');
@@ -77005,19 +77984,19 @@ module.exports = function applyBind() {
77005
77984
  return actualApply(bind, $apply, arguments);
77006
77985
  };
77007
77986
 
77008
- },{"./actualApply":418,"./functionApply":420,"function-bind":439}],420:[function(require,module,exports){
77987
+ },{"./actualApply":419,"./functionApply":421,"function-bind":440}],421:[function(require,module,exports){
77009
77988
  'use strict';
77010
77989
 
77011
77990
  /** @type {import('./functionApply')} */
77012
77991
  module.exports = Function.prototype.apply;
77013
77992
 
77014
- },{}],421:[function(require,module,exports){
77993
+ },{}],422:[function(require,module,exports){
77015
77994
  'use strict';
77016
77995
 
77017
77996
  /** @type {import('./functionCall')} */
77018
77997
  module.exports = Function.prototype.call;
77019
77998
 
77020
- },{}],422:[function(require,module,exports){
77999
+ },{}],423:[function(require,module,exports){
77021
78000
  'use strict';
77022
78001
 
77023
78002
  var bind = require('function-bind');
@@ -77034,13 +78013,13 @@ module.exports = function callBindBasic(args) {
77034
78013
  return $actualApply(bind, $call, args);
77035
78014
  };
77036
78015
 
77037
- },{"./actualApply":418,"./functionCall":421,"es-errors/type":434,"function-bind":439}],423:[function(require,module,exports){
78016
+ },{"./actualApply":419,"./functionCall":422,"es-errors/type":435,"function-bind":440}],424:[function(require,module,exports){
77038
78017
  'use strict';
77039
78018
 
77040
78019
  /** @type {import('./reflectApply')} */
77041
78020
  module.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;
77042
78021
 
77043
- },{}],424:[function(require,module,exports){
78022
+ },{}],425:[function(require,module,exports){
77044
78023
  'use strict';
77045
78024
 
77046
78025
  var setFunctionLength = require('set-function-length');
@@ -77066,7 +78045,7 @@ if ($defineProperty) {
77066
78045
  module.exports.apply = applyBind;
77067
78046
  }
77068
78047
 
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){
78048
+ },{"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
78049
  'use strict';
77071
78050
 
77072
78051
  var GetIntrinsic = require('get-intrinsic');
@@ -77087,7 +78066,7 @@ module.exports = function callBoundIntrinsic(name, allowMissing) {
77087
78066
  return intrinsic;
77088
78067
  };
77089
78068
 
77090
- },{"call-bind-apply-helpers":422,"get-intrinsic":440}],426:[function(require,module,exports){
78069
+ },{"call-bind-apply-helpers":423,"get-intrinsic":441}],427:[function(require,module,exports){
77091
78070
  'use strict';
77092
78071
 
77093
78072
  var $defineProperty = require('es-define-property');
@@ -77145,7 +78124,7 @@ module.exports = function defineDataProperty(
77145
78124
  }
77146
78125
  };
77147
78126
 
77148
- },{"es-define-property":428,"es-errors/syntax":433,"es-errors/type":434,"gopd":445}],427:[function(require,module,exports){
78127
+ },{"es-define-property":429,"es-errors/syntax":434,"es-errors/type":435,"gopd":446}],428:[function(require,module,exports){
77149
78128
  'use strict';
77150
78129
 
77151
78130
  var callBind = require('call-bind-apply-helpers');
@@ -77177,7 +78156,7 @@ module.exports = desc && typeof desc.get === 'function'
77177
78156
  }
77178
78157
  : false;
77179
78158
 
77180
- },{"call-bind-apply-helpers":422,"gopd":445}],428:[function(require,module,exports){
78159
+ },{"call-bind-apply-helpers":423,"gopd":446}],429:[function(require,module,exports){
77181
78160
  'use strict';
77182
78161
 
77183
78162
  /** @type {import('.')} */
@@ -77193,55 +78172,55 @@ if ($defineProperty) {
77193
78172
 
77194
78173
  module.exports = $defineProperty;
77195
78174
 
77196
- },{}],429:[function(require,module,exports){
78175
+ },{}],430:[function(require,module,exports){
77197
78176
  'use strict';
77198
78177
 
77199
78178
  /** @type {import('./eval')} */
77200
78179
  module.exports = EvalError;
77201
78180
 
77202
- },{}],430:[function(require,module,exports){
78181
+ },{}],431:[function(require,module,exports){
77203
78182
  'use strict';
77204
78183
 
77205
78184
  /** @type {import('.')} */
77206
78185
  module.exports = Error;
77207
78186
 
77208
- },{}],431:[function(require,module,exports){
78187
+ },{}],432:[function(require,module,exports){
77209
78188
  'use strict';
77210
78189
 
77211
78190
  /** @type {import('./range')} */
77212
78191
  module.exports = RangeError;
77213
78192
 
77214
- },{}],432:[function(require,module,exports){
78193
+ },{}],433:[function(require,module,exports){
77215
78194
  'use strict';
77216
78195
 
77217
78196
  /** @type {import('./ref')} */
77218
78197
  module.exports = ReferenceError;
77219
78198
 
77220
- },{}],433:[function(require,module,exports){
78199
+ },{}],434:[function(require,module,exports){
77221
78200
  'use strict';
77222
78201
 
77223
78202
  /** @type {import('./syntax')} */
77224
78203
  module.exports = SyntaxError;
77225
78204
 
77226
- },{}],434:[function(require,module,exports){
78205
+ },{}],435:[function(require,module,exports){
77227
78206
  'use strict';
77228
78207
 
77229
78208
  /** @type {import('./type')} */
77230
78209
  module.exports = TypeError;
77231
78210
 
77232
- },{}],435:[function(require,module,exports){
78211
+ },{}],436:[function(require,module,exports){
77233
78212
  'use strict';
77234
78213
 
77235
78214
  /** @type {import('./uri')} */
77236
78215
  module.exports = URIError;
77237
78216
 
77238
- },{}],436:[function(require,module,exports){
78217
+ },{}],437:[function(require,module,exports){
77239
78218
  'use strict';
77240
78219
 
77241
78220
  /** @type {import('.')} */
77242
78221
  module.exports = Object;
77243
78222
 
77244
- },{}],437:[function(require,module,exports){
78223
+ },{}],438:[function(require,module,exports){
77245
78224
  'use strict';
77246
78225
 
77247
78226
  var isCallable = require('is-callable');
@@ -77312,7 +78291,7 @@ module.exports = function forEach(list, iterator, thisArg) {
77312
78291
  }
77313
78292
  };
77314
78293
 
77315
- },{"is-callable":453}],438:[function(require,module,exports){
78294
+ },{"is-callable":454}],439:[function(require,module,exports){
77316
78295
  'use strict';
77317
78296
 
77318
78297
  /* eslint no-invalid-this: 1 */
@@ -77398,14 +78377,14 @@ module.exports = function bind(that) {
77398
78377
  return bound;
77399
78378
  };
77400
78379
 
77401
- },{}],439:[function(require,module,exports){
78380
+ },{}],440:[function(require,module,exports){
77402
78381
  'use strict';
77403
78382
 
77404
78383
  var implementation = require('./implementation');
77405
78384
 
77406
78385
  module.exports = Function.prototype.bind || implementation;
77407
78386
 
77408
- },{"./implementation":438}],440:[function(require,module,exports){
78387
+ },{"./implementation":439}],441:[function(require,module,exports){
77409
78388
  'use strict';
77410
78389
 
77411
78390
  var undefined;
@@ -77785,7 +78764,7 @@ module.exports = function GetIntrinsic(name, allowMissing) {
77785
78764
  return value;
77786
78765
  };
77787
78766
 
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){
78767
+ },{"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
78768
  'use strict';
77790
78769
 
77791
78770
  var $Object = require('es-object-atoms');
@@ -77793,13 +78772,13 @@ var $Object = require('es-object-atoms');
77793
78772
  /** @type {import('./Object.getPrototypeOf')} */
77794
78773
  module.exports = $Object.getPrototypeOf || null;
77795
78774
 
77796
- },{"es-object-atoms":436}],442:[function(require,module,exports){
78775
+ },{"es-object-atoms":437}],443:[function(require,module,exports){
77797
78776
  'use strict';
77798
78777
 
77799
78778
  /** @type {import('./Reflect.getPrototypeOf')} */
77800
78779
  module.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;
77801
78780
 
77802
- },{}],443:[function(require,module,exports){
78781
+ },{}],444:[function(require,module,exports){
77803
78782
  'use strict';
77804
78783
 
77805
78784
  var reflectGetProto = require('./Reflect.getPrototypeOf');
@@ -77828,13 +78807,13 @@ module.exports = reflectGetProto
77828
78807
  }
77829
78808
  : null;
77830
78809
 
77831
- },{"./Object.getPrototypeOf":441,"./Reflect.getPrototypeOf":442,"dunder-proto/get":427}],444:[function(require,module,exports){
78810
+ },{"./Object.getPrototypeOf":442,"./Reflect.getPrototypeOf":443,"dunder-proto/get":428}],445:[function(require,module,exports){
77832
78811
  'use strict';
77833
78812
 
77834
78813
  /** @type {import('./gOPD')} */
77835
78814
  module.exports = Object.getOwnPropertyDescriptor;
77836
78815
 
77837
- },{}],445:[function(require,module,exports){
78816
+ },{}],446:[function(require,module,exports){
77838
78817
  'use strict';
77839
78818
 
77840
78819
  /** @type {import('.')} */
@@ -77851,7 +78830,7 @@ if ($gOPD) {
77851
78830
 
77852
78831
  module.exports = $gOPD;
77853
78832
 
77854
- },{"./gOPD":444}],446:[function(require,module,exports){
78833
+ },{"./gOPD":445}],447:[function(require,module,exports){
77855
78834
  'use strict';
77856
78835
 
77857
78836
  var $defineProperty = require('es-define-property');
@@ -77875,7 +78854,7 @@ hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBu
77875
78854
 
77876
78855
  module.exports = hasPropertyDescriptors;
77877
78856
 
77878
- },{"es-define-property":428}],447:[function(require,module,exports){
78857
+ },{"es-define-property":429}],448:[function(require,module,exports){
77879
78858
  'use strict';
77880
78859
 
77881
78860
  var origSymbol = typeof Symbol !== 'undefined' && Symbol;
@@ -77891,7 +78870,7 @@ module.exports = function hasNativeSymbols() {
77891
78870
  return hasSymbolSham();
77892
78871
  };
77893
78872
 
77894
- },{"./shams":448}],448:[function(require,module,exports){
78873
+ },{"./shams":449}],449:[function(require,module,exports){
77895
78874
  'use strict';
77896
78875
 
77897
78876
  /** @type {import('./shams')} */
@@ -77938,7 +78917,7 @@ module.exports = function hasSymbols() {
77938
78917
  return true;
77939
78918
  };
77940
78919
 
77941
- },{}],449:[function(require,module,exports){
78920
+ },{}],450:[function(require,module,exports){
77942
78921
  'use strict';
77943
78922
 
77944
78923
  var hasSymbols = require('has-symbols/shams');
@@ -77948,7 +78927,7 @@ module.exports = function hasToStringTagShams() {
77948
78927
  return hasSymbols() && !!Symbol.toStringTag;
77949
78928
  };
77950
78929
 
77951
- },{"has-symbols/shams":448}],450:[function(require,module,exports){
78930
+ },{"has-symbols/shams":449}],451:[function(require,module,exports){
77952
78931
  'use strict';
77953
78932
 
77954
78933
  var call = Function.prototype.call;
@@ -77958,7 +78937,7 @@ var bind = require('function-bind');
77958
78937
  /** @type {import('.')} */
77959
78938
  module.exports = bind.call(call, $hasOwn);
77960
78939
 
77961
- },{"function-bind":439}],451:[function(require,module,exports){
78940
+ },{"function-bind":440}],452:[function(require,module,exports){
77962
78941
  if (typeof Object.create === 'function') {
77963
78942
  // implementation from standard node.js 'util' module
77964
78943
  module.exports = function inherits(ctor, superCtor) {
@@ -77987,7 +78966,7 @@ if (typeof Object.create === 'function') {
77987
78966
  }
77988
78967
  }
77989
78968
 
77990
- },{}],452:[function(require,module,exports){
78969
+ },{}],453:[function(require,module,exports){
77991
78970
  'use strict';
77992
78971
 
77993
78972
  var hasToStringTag = require('has-tostringtag/shams')();
@@ -78033,7 +79012,7 @@ isStandardArguments.isLegacyArguments = isLegacyArguments; // for tests
78033
79012
  /** @type {import('.')} */
78034
79013
  module.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;
78035
79014
 
78036
- },{"call-bound":425,"has-tostringtag/shams":449}],453:[function(require,module,exports){
79015
+ },{"call-bound":426,"has-tostringtag/shams":450}],454:[function(require,module,exports){
78037
79016
  'use strict';
78038
79017
 
78039
79018
  var fnToStr = Function.prototype.toString;
@@ -78136,7 +79115,7 @@ module.exports = reflectApply
78136
79115
  return tryFunctionObject(value);
78137
79116
  };
78138
79117
 
78139
- },{}],454:[function(require,module,exports){
79118
+ },{}],455:[function(require,module,exports){
78140
79119
  'use strict';
78141
79120
 
78142
79121
  var callBound = require('call-bound');
@@ -78185,7 +79164,7 @@ module.exports = function isGeneratorFunction(fn) {
78185
79164
  return getProto(fn) === GeneratorFunction;
78186
79165
  };
78187
79166
 
78188
- },{"call-bound":425,"get-proto":443,"has-tostringtag/shams":449,"safe-regex-test":472}],455:[function(require,module,exports){
79167
+ },{"call-bound":426,"get-proto":444,"has-tostringtag/shams":450,"safe-regex-test":473}],456:[function(require,module,exports){
78189
79168
  'use strict';
78190
79169
 
78191
79170
  var callBound = require('call-bound');
@@ -78256,7 +79235,7 @@ if (hasToStringTag) {
78256
79235
 
78257
79236
  module.exports = fn;
78258
79237
 
78259
- },{"call-bound":425,"gopd":445,"has-tostringtag/shams":449,"hasown":450}],456:[function(require,module,exports){
79238
+ },{"call-bound":426,"gopd":446,"has-tostringtag/shams":450,"hasown":451}],457:[function(require,module,exports){
78260
79239
  'use strict';
78261
79240
 
78262
79241
  var whichTypedArray = require('which-typed-array');
@@ -78266,19 +79245,19 @@ module.exports = function isTypedArray(value) {
78266
79245
  return !!whichTypedArray(value);
78267
79246
  };
78268
79247
 
78269
- },{"which-typed-array":477}],457:[function(require,module,exports){
79248
+ },{"which-typed-array":478}],458:[function(require,module,exports){
78270
79249
  'use strict';
78271
79250
 
78272
79251
  /** @type {import('./abs')} */
78273
79252
  module.exports = Math.abs;
78274
79253
 
78275
- },{}],458:[function(require,module,exports){
79254
+ },{}],459:[function(require,module,exports){
78276
79255
  'use strict';
78277
79256
 
78278
79257
  /** @type {import('./floor')} */
78279
79258
  module.exports = Math.floor;
78280
79259
 
78281
- },{}],459:[function(require,module,exports){
79260
+ },{}],460:[function(require,module,exports){
78282
79261
  'use strict';
78283
79262
 
78284
79263
  /** @type {import('./isNaN')} */
@@ -78286,31 +79265,31 @@ module.exports = Number.isNaN || function isNaN(a) {
78286
79265
  return a !== a;
78287
79266
  };
78288
79267
 
78289
- },{}],460:[function(require,module,exports){
79268
+ },{}],461:[function(require,module,exports){
78290
79269
  'use strict';
78291
79270
 
78292
79271
  /** @type {import('./max')} */
78293
79272
  module.exports = Math.max;
78294
79273
 
78295
- },{}],461:[function(require,module,exports){
79274
+ },{}],462:[function(require,module,exports){
78296
79275
  'use strict';
78297
79276
 
78298
79277
  /** @type {import('./min')} */
78299
79278
  module.exports = Math.min;
78300
79279
 
78301
- },{}],462:[function(require,module,exports){
79280
+ },{}],463:[function(require,module,exports){
78302
79281
  'use strict';
78303
79282
 
78304
79283
  /** @type {import('./pow')} */
78305
79284
  module.exports = Math.pow;
78306
79285
 
78307
- },{}],463:[function(require,module,exports){
79286
+ },{}],464:[function(require,module,exports){
78308
79287
  'use strict';
78309
79288
 
78310
79289
  /** @type {import('./round')} */
78311
79290
  module.exports = Math.round;
78312
79291
 
78313
- },{}],464:[function(require,module,exports){
79292
+ },{}],465:[function(require,module,exports){
78314
79293
  'use strict';
78315
79294
 
78316
79295
  var $isNaN = require('./isNaN');
@@ -78323,7 +79302,7 @@ module.exports = function sign(number) {
78323
79302
  return number < 0 ? -1 : +1;
78324
79303
  };
78325
79304
 
78326
- },{"./isNaN":459}],465:[function(require,module,exports){
79305
+ },{"./isNaN":460}],466:[function(require,module,exports){
78327
79306
  'use strict';
78328
79307
 
78329
79308
  var keysShim;
@@ -78447,7 +79426,7 @@ if (!Object.keys) {
78447
79426
  }
78448
79427
  module.exports = keysShim;
78449
79428
 
78450
- },{"./isArguments":467}],466:[function(require,module,exports){
79429
+ },{"./isArguments":468}],467:[function(require,module,exports){
78451
79430
  'use strict';
78452
79431
 
78453
79432
  var slice = Array.prototype.slice;
@@ -78481,7 +79460,7 @@ keysShim.shim = function shimObjectKeys() {
78481
79460
 
78482
79461
  module.exports = keysShim;
78483
79462
 
78484
- },{"./implementation":465,"./isArguments":467}],467:[function(require,module,exports){
79463
+ },{"./implementation":466,"./isArguments":468}],468:[function(require,module,exports){
78485
79464
  'use strict';
78486
79465
 
78487
79466
  var toStr = Object.prototype.toString;
@@ -78500,7 +79479,7 @@ module.exports = function isArguments(value) {
78500
79479
  return isArgs;
78501
79480
  };
78502
79481
 
78503
- },{}],468:[function(require,module,exports){
79482
+ },{}],469:[function(require,module,exports){
78504
79483
  'use strict';
78505
79484
 
78506
79485
  // modified from https://github.com/es-shims/es6-shim
@@ -78548,7 +79527,7 @@ module.exports = function assign(target, source1) {
78548
79527
  return to; // step 4
78549
79528
  };
78550
79529
 
78551
- },{"call-bound":425,"es-object-atoms":436,"has-symbols/shams":448,"object-keys":466}],469:[function(require,module,exports){
79530
+ },{"call-bound":426,"es-object-atoms":437,"has-symbols/shams":449,"object-keys":467}],470:[function(require,module,exports){
78552
79531
  'use strict';
78553
79532
 
78554
79533
  var implementation = require('./implementation');
@@ -78605,7 +79584,7 @@ module.exports = function getPolyfill() {
78605
79584
  return Object.assign;
78606
79585
  };
78607
79586
 
78608
- },{"./implementation":468}],470:[function(require,module,exports){
79587
+ },{"./implementation":469}],471:[function(require,module,exports){
78609
79588
  'use strict';
78610
79589
 
78611
79590
  /** @type {import('.')} */
@@ -78624,7 +79603,7 @@ module.exports = [
78624
79603
  'BigUint64Array'
78625
79604
  ];
78626
79605
 
78627
- },{}],471:[function(require,module,exports){
79606
+ },{}],472:[function(require,module,exports){
78628
79607
  // shim for using process in browser
78629
79608
  var process = module.exports = {};
78630
79609
 
@@ -78810,7 +79789,7 @@ process.chdir = function (dir) {
78810
79789
  };
78811
79790
  process.umask = function() { return 0; };
78812
79791
 
78813
- },{}],472:[function(require,module,exports){
79792
+ },{}],473:[function(require,module,exports){
78814
79793
  'use strict';
78815
79794
 
78816
79795
  var callBound = require('call-bound');
@@ -78829,7 +79808,7 @@ module.exports = function regexTester(regex) {
78829
79808
  };
78830
79809
  };
78831
79810
 
78832
- },{"call-bound":425,"es-errors/type":434,"is-regex":455}],473:[function(require,module,exports){
79811
+ },{"call-bound":426,"es-errors/type":435,"is-regex":456}],474:[function(require,module,exports){
78833
79812
  'use strict';
78834
79813
 
78835
79814
  var GetIntrinsic = require('get-intrinsic');
@@ -78873,9 +79852,9 @@ module.exports = function setFunctionLength(fn, length) {
78873
79852
  return fn;
78874
79853
  };
78875
79854
 
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){
79855
+ },{"define-data-property":427,"es-errors/type":435,"get-intrinsic":441,"gopd":446,"has-property-descriptors":447}],475:[function(require,module,exports){
79856
+ arguments[4][415][0].apply(exports,arguments)
79857
+ },{"dup":415}],476:[function(require,module,exports){
78879
79858
  // Currently in sync with Node.js lib/internal/util/types.js
78880
79859
  // https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9
78881
79860
 
@@ -79211,7 +80190,7 @@ exports.isAnyArrayBuffer = isAnyArrayBuffer;
79211
80190
  });
79212
80191
  });
79213
80192
 
79214
- },{"is-arguments":452,"is-generator-function":454,"is-typed-array":456,"which-typed-array":477}],476:[function(require,module,exports){
80193
+ },{"is-arguments":453,"is-generator-function":455,"is-typed-array":457,"which-typed-array":478}],477:[function(require,module,exports){
79215
80194
  (function (process){(function (){
79216
80195
  // Copyright Joyent, Inc. and other Node contributors.
79217
80196
  //
@@ -79930,7 +80909,7 @@ function callbackify(original) {
79930
80909
  exports.callbackify = callbackify;
79931
80910
 
79932
80911
  }).call(this)}).call(this,require('_process'))
79933
- },{"./support/isBuffer":474,"./support/types":475,"_process":471,"inherits":451}],477:[function(require,module,exports){
80912
+ },{"./support/isBuffer":475,"./support/types":476,"_process":472,"inherits":452}],478:[function(require,module,exports){
79934
80913
  (function (global){(function (){
79935
80914
  'use strict';
79936
80915
 
@@ -80051,5 +81030,5 @@ module.exports = function whichTypedArray(value) {
80051
81030
  };
80052
81031
 
80053
81032
  }).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)
81033
+ },{"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
81034
  });