@designliquido/delegua 0.62.0 → 0.63.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +17 -9
  2. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +13 -2
  3. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  4. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +42 -0
  5. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  6. package/bin/package.json +1 -1
  7. package/interfaces/retornos/retorno-lexador.d.ts +2 -2
  8. package/interfaces/retornos/retorno-lexador.d.ts.map +1 -1
  9. package/lexador/dialetos/lexador-pitugues.d.ts +3 -3
  10. package/lexador/dialetos/lexador-pitugues.d.ts.map +1 -1
  11. package/lexador/dialetos/lexador-pitugues.js +7 -6
  12. package/lexador/dialetos/lexador-pitugues.js.map +1 -1
  13. package/lexador/dialetos/lexador-tenda.d.ts +2 -2
  14. package/lexador/dialetos/lexador-tenda.d.ts.map +1 -1
  15. package/lexador/dialetos/localizacao.d.ts +9 -0
  16. package/lexador/dialetos/localizacao.d.ts.map +1 -0
  17. package/lexador/dialetos/{pragma.js → localizacao.js} +1 -1
  18. package/lexador/dialetos/localizacao.js.map +1 -0
  19. package/package.json +1 -1
  20. package/tradutores/index.d.ts +2 -0
  21. package/tradutores/index.d.ts.map +1 -1
  22. package/tradutores/index.js +2 -0
  23. package/tradutores/index.js.map +1 -1
  24. package/tradutores/mermaid/aresta-fluxograma.d.ts +7 -0
  25. package/tradutores/mermaid/aresta-fluxograma.d.ts.map +1 -0
  26. package/tradutores/mermaid/aresta-fluxograma.js +11 -0
  27. package/tradutores/mermaid/aresta-fluxograma.js.map +1 -0
  28. package/tradutores/mermaid/diagrama-classe.d.ts +16 -0
  29. package/tradutores/mermaid/diagrama-classe.d.ts.map +1 -0
  30. package/tradutores/mermaid/diagrama-classe.js +33 -0
  31. package/tradutores/mermaid/diagrama-classe.js.map +1 -0
  32. package/tradutores/mermaid/index.d.ts +5 -0
  33. package/tradutores/mermaid/index.d.ts.map +1 -0
  34. package/tradutores/mermaid/index.js +21 -0
  35. package/tradutores/mermaid/index.js.map +1 -0
  36. package/tradutores/mermaid/subgrafo-classe.d.ts +14 -0
  37. package/tradutores/mermaid/subgrafo-classe.d.ts.map +1 -0
  38. package/tradutores/mermaid/subgrafo-classe.js +45 -0
  39. package/tradutores/mermaid/subgrafo-classe.js.map +1 -0
  40. package/tradutores/mermaid/vertice-fluxograma.d.ts +9 -0
  41. package/tradutores/mermaid/vertice-fluxograma.d.ts.map +1 -0
  42. package/tradutores/mermaid/vertice-fluxograma.js +16 -0
  43. package/tradutores/mermaid/vertice-fluxograma.js.map +1 -0
  44. package/tradutores/tradutor-assembly-arm.d.ts +98 -0
  45. package/tradutores/tradutor-assembly-arm.d.ts.map +1 -0
  46. package/tradutores/tradutor-assembly-arm.js +715 -0
  47. package/tradutores/tradutor-assembly-arm.js.map +1 -0
  48. package/tradutores/tradutor-assembly-x64.d.ts +4 -1
  49. package/tradutores/tradutor-assembly-x64.d.ts.map +1 -1
  50. package/tradutores/tradutor-assembly-x64.js +57 -21
  51. package/tradutores/tradutor-assembly-x64.js.map +1 -1
  52. package/tradutores/tradutor-mermaidjs.d.ts +10 -16
  53. package/tradutores/tradutor-mermaidjs.d.ts.map +1 -1
  54. package/tradutores/tradutor-mermaidjs.js +107 -43
  55. package/tradutores/tradutor-mermaidjs.js.map +1 -1
  56. package/umd/delegua.js +1917 -293
  57. package/lexador/dialetos/pragma.d.ts +0 -9
  58. package/lexador/dialetos/pragma.d.ts.map +0 -1
  59. package/lexador/dialetos/pragma.js.map +0 -1
package/umd/delegua.js CHANGED
@@ -2260,7 +2260,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
2260
2260
  }
2261
2261
  exports.AvaliadorSintatico = AvaliadorSintatico;
2262
2262
 
2263
- },{"../bibliotecas/primitivas-dicionario":20,"../bibliotecas/primitivas-numero":21,"../bibliotecas/primitivas-texto":22,"../bibliotecas/primitivas-vetor":23,"../construtos":51,"../construtos/tuplas":68,"../declaracoes":96,"../inferenciador":116,"../informacao-elemento-sintatico":117,"../tipos-de-dados/delegua":185,"../tipos-de-simbolos/delegua":190,"./avaliador-sintatico-base":1,"./comum":3,"./elemento-montao-tipos":11,"./erro-avaliador-sintatico":12,"./informacao-escopo":14,"./montao-tipos":17,"./pilha-escopos":18,"browser-process-hrtime":371}],3:[function(require,module,exports){
2263
+ },{"../bibliotecas/primitivas-dicionario":20,"../bibliotecas/primitivas-numero":21,"../bibliotecas/primitivas-texto":22,"../bibliotecas/primitivas-vetor":23,"../construtos":51,"../construtos/tuplas":68,"../declaracoes":96,"../inferenciador":116,"../informacao-elemento-sintatico":117,"../tipos-de-dados/delegua":185,"../tipos-de-simbolos/delegua":190,"./avaliador-sintatico-base":1,"./comum":3,"./elemento-montao-tipos":11,"./erro-avaliador-sintatico":12,"./informacao-escopo":14,"./montao-tipos":17,"./pilha-escopos":18,"browser-process-hrtime":378}],3:[function(require,module,exports){
2264
2264
  "use strict";
2265
2265
  Object.defineProperty(exports, "__esModule", { value: true });
2266
2266
  exports.buscarRetornos = buscarRetornos;
@@ -4184,6 +4184,34 @@ class AvaliadorSintaticoPitugues {
4184
4184
  const textoFalha = this.consumir(pitugues_2.default.TEXTO, 'Esperado texto para explicar falha.');
4185
4185
  return new declaracoes_1.Falhar(simboloFalha, textoFalha.literal);
4186
4186
  }
4187
+ /**
4188
+ * Verifica se há pontos e vírgula no final de sentenças.
4189
+ * Em Pituguês, ; só é permitido para separar múltiplos comandos na mesma linha,
4190
+ * mas não no final de uma sentença/linha.
4191
+ */
4192
+ verificarPontosEVirgulasInvalidos() {
4193
+ for (let i = 0; i < this.simbolos.length; i++) {
4194
+ const simboloAtual = this.simbolos[i];
4195
+ if (simboloAtual.tipo === pitugues_2.default.PONTO_E_VIRGULA) {
4196
+ const proximoSimbolo = this.encontrarProximoSimboloNaoComentario(i + 1);
4197
+ if (!proximoSimbolo || proximoSimbolo.linha > simboloAtual.linha) {
4198
+ this.erros.push(new erro_avaliador_sintatico_1.ErroAvaliadorSintatico(simboloAtual, 'Ponto e vírgula (;) não é permitido no final da sentença de código.'));
4199
+ }
4200
+ }
4201
+ }
4202
+ }
4203
+ /**
4204
+ * Encontra o próximo símbolo que não seja comentário.
4205
+ * Isso é importante porque comentários não afetam a validade do ponto e vírgula.
4206
+ */
4207
+ encontrarProximoSimboloNaoComentario(inicio) {
4208
+ for (let i = inicio; i < this.simbolos.length; i++) {
4209
+ if (this.simbolos[i].tipo !== pitugues_2.default.COMENTARIO) {
4210
+ return this.simbolos[i];
4211
+ }
4212
+ }
4213
+ return null;
4214
+ }
4187
4215
  /**
4188
4216
  * Consome o símbolo atual, verificando se é uma declaração de função, variável, classe
4189
4217
  * ou uma expressão.
@@ -4361,15 +4389,29 @@ class AvaliadorSintaticoPitugues {
4361
4389
  this.hashArquivo = hashArquivo || 0;
4362
4390
  this.simbolos = (retornoLexador === null || retornoLexador === void 0 ? void 0 : retornoLexador.simbolos) || [];
4363
4391
  this.localizacoes = (retornoLexador === null || retornoLexador === void 0 ? void 0 : retornoLexador.pragmas) || {};
4392
+ this.verificarPontosEVirgulasInvalidos();
4364
4393
  let declaracoes = [];
4365
4394
  while (!this.estaNoFinal()) {
4366
4395
  const retornoDeclaracao = this.resolverDeclaracaoForaDeBloco();
4396
+ if (retornoDeclaracao === null) {
4397
+ continue;
4398
+ }
4367
4399
  if (Array.isArray(retornoDeclaracao)) {
4368
4400
  declaracoes = declaracoes.concat(retornoDeclaracao);
4369
4401
  }
4370
4402
  else {
4371
4403
  declaracoes.push(retornoDeclaracao);
4372
4404
  }
4405
+ if (!this.estaNoFinal() && this.verificarTipoSimboloAtual(pitugues_2.default.PONTO_E_VIRGULA)) {
4406
+ // Verificar se este ; está na mesma linha da declaração anterior
4407
+ const declaracaoAnterior = declaracoes[declaracoes.length - 1];
4408
+ const linhaDeclaraoAnterior = declaracaoAnterior.linha || 0;
4409
+ const linhaPontoVirgula = this.simboloAtual().linha;
4410
+ if (linhaPontoVirgula === linhaDeclaraoAnterior) {
4411
+ // Está na mesma linha, então é um separador válido
4412
+ this.avancarEDevolverAnterior();
4413
+ }
4414
+ }
4373
4415
  }
4374
4416
  if (this.performance) {
4375
4417
  const deltaAnalise = (0, browser_process_hrtime_1.default)(inicioAnalise);
@@ -4384,7 +4426,7 @@ class AvaliadorSintaticoPitugues {
4384
4426
  }
4385
4427
  exports.AvaliadorSintaticoPitugues = AvaliadorSintaticoPitugues;
4386
4428
 
4387
- },{"../../bibliotecas/primitivas-dicionario":20,"../../bibliotecas/primitivas-numero":21,"../../bibliotecas/primitivas-texto":22,"../../bibliotecas/primitivas-vetor":23,"../../construtos":51,"../../declaracoes":96,"../../inferenciador":116,"../../informacao-elemento-sintatico":117,"../../lexador":177,"../../tipos-de-dados/dialetos/pitugues":186,"../../tipos-de-simbolos/pitugues":194,"../comum":3,"../erro-avaliador-sintatico":12,"../informacao-escopo":14,"../pilha-escopos":18,"browser-process-hrtime":371}],7:[function(require,module,exports){
4429
+ },{"../../bibliotecas/primitivas-dicionario":20,"../../bibliotecas/primitivas-numero":21,"../../bibliotecas/primitivas-texto":22,"../../bibliotecas/primitivas-vetor":23,"../../construtos":51,"../../declaracoes":96,"../../inferenciador":116,"../../informacao-elemento-sintatico":117,"../../lexador":177,"../../tipos-de-dados/dialetos/pitugues":186,"../../tipos-de-simbolos/pitugues":194,"../comum":3,"../erro-avaliador-sintatico":12,"../informacao-escopo":14,"../pilha-escopos":18,"browser-process-hrtime":378}],7:[function(require,module,exports){
4388
4430
  "use strict";
4389
4431
  var __importDefault = (this && this.__importDefault) || function (mod) {
4390
4432
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -5273,7 +5315,7 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
5273
5315
  }
5274
5316
  exports.AvaliadorSintaticoPrisma = AvaliadorSintaticoPrisma;
5275
5317
 
5276
- },{"../../bibliotecas/primitivas-dicionario":20,"../../bibliotecas/primitivas-numero":21,"../../bibliotecas/primitivas-texto":22,"../../bibliotecas/primitivas-vetor":23,"../../construtos":51,"../../declaracoes":96,"../../inferenciador":116,"../../informacao-elemento-sintatico":117,"../../lexador":177,"../../tipos-de-simbolos/prisma":196,"../avaliador-sintatico-base":1,"../comum":3,"../erro-avaliador-sintatico":12,"../informacao-escopo":14,"../pilha-escopos":18,"browser-process-hrtime":371}],9:[function(require,module,exports){
5318
+ },{"../../bibliotecas/primitivas-dicionario":20,"../../bibliotecas/primitivas-numero":21,"../../bibliotecas/primitivas-texto":22,"../../bibliotecas/primitivas-vetor":23,"../../construtos":51,"../../declaracoes":96,"../../inferenciador":116,"../../informacao-elemento-sintatico":117,"../../lexador":177,"../../tipos-de-simbolos/prisma":196,"../avaliador-sintatico-base":1,"../comum":3,"../erro-avaliador-sintatico":12,"../informacao-escopo":14,"../pilha-escopos":18,"browser-process-hrtime":378}],9:[function(require,module,exports){
5277
5319
  "use strict";
5278
5320
  var __importDefault = (this && this.__importDefault) || function (mod) {
5279
5321
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -6259,7 +6301,7 @@ class AvaliadorSintaticoTenda extends avaliador_sintatico_base_1.AvaliadorSintat
6259
6301
  }
6260
6302
  exports.AvaliadorSintaticoTenda = AvaliadorSintaticoTenda;
6261
6303
 
6262
- },{"../../bibliotecas/primitivas-dicionario":20,"../../bibliotecas/primitivas-numero":21,"../../bibliotecas/primitivas-texto":22,"../../bibliotecas/primitivas-vetor":23,"../../construtos":51,"../../construtos/tuplas":68,"../../declaracoes":96,"../../inferenciador":116,"../../informacao-elemento-sintatico":117,"../../lexador/simbolo":183,"../../tipos-de-dados/delegua":185,"../../tipos-de-simbolos/tenda":197,"../avaliador-sintatico-base":1,"./../erro-avaliador-sintatico":12,"./../informacao-escopo":14,"./../pilha-escopos":18,"browser-process-hrtime":371}],10:[function(require,module,exports){
6304
+ },{"../../bibliotecas/primitivas-dicionario":20,"../../bibliotecas/primitivas-numero":21,"../../bibliotecas/primitivas-texto":22,"../../bibliotecas/primitivas-vetor":23,"../../construtos":51,"../../construtos/tuplas":68,"../../declaracoes":96,"../../inferenciador":116,"../../informacao-elemento-sintatico":117,"../../lexador/simbolo":183,"../../tipos-de-dados/delegua":185,"../../tipos-de-simbolos/tenda":197,"../avaliador-sintatico-base":1,"./../erro-avaliador-sintatico":12,"./../informacao-escopo":14,"./../pilha-escopos":18,"browser-process-hrtime":378}],10:[function(require,module,exports){
6263
6305
  "use strict";
6264
6306
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6265
6307
  if (k2 === undefined) k2 = k;
@@ -14741,7 +14783,7 @@ class InterpretadorBase {
14741
14783
  exports.InterpretadorBase = InterpretadorBase;
14742
14784
 
14743
14785
  }).call(this)}).call(this,require('_process'))
14744
- },{"../avaliador-sintatico":13,"../bibliotecas/primitivas-dicionario":20,"../bibliotecas/primitivas-vetor":23,"../construtos":51,"../excecoes":110,"../inferenciador":116,"../lexador":177,"../quebras":184,"../tipos-de-dados/delegua":185,"../tipos-de-dados/primitivos":187,"../tipos-de-simbolos/delegua":190,"./espaco-memoria":144,"./estruturas":151,"./estruturas/metodo-primitiva":152,"./pilha-escopos-execucao":161,"_process":425,"browser-process-hrtime":371}],159:[function(require,module,exports){
14786
+ },{"../avaliador-sintatico":13,"../bibliotecas/primitivas-dicionario":20,"../bibliotecas/primitivas-vetor":23,"../construtos":51,"../excecoes":110,"../inferenciador":116,"../lexador":177,"../quebras":184,"../tipos-de-dados/delegua":185,"../tipos-de-dados/primitivos":187,"../tipos-de-simbolos/delegua":190,"./espaco-memoria":144,"./estruturas":151,"./estruturas/metodo-primitiva":152,"./pilha-escopos-execucao":161,"_process":432,"browser-process-hrtime":378}],159:[function(require,module,exports){
14745
14787
  "use strict";
14746
14788
  var __importDefault = (this && this.__importDefault) || function (mod) {
14747
14789
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -16779,7 +16821,7 @@ class LexadorPitugues {
16779
16821
  this.performance = performance;
16780
16822
  this.simbolos = [];
16781
16823
  this.erros = [];
16782
- this.pragmas = {};
16824
+ this.localizacoes = {};
16783
16825
  this.inicioSimbolo = 0;
16784
16826
  this.atual = 0;
16785
16827
  this.linha = 0;
@@ -16961,7 +17003,7 @@ class LexadorPitugues {
16961
17003
  espacos++;
16962
17004
  this.avancar();
16963
17005
  }
16964
- this.pragmas[this.linha + 1] = {
17006
+ this.localizacoes[this.linha + 1] = {
16965
17007
  linha: this.linha + 1,
16966
17008
  espacosIndentacao: espacos,
16967
17009
  };
@@ -16987,12 +17029,13 @@ class LexadorPitugues {
16987
17029
  switch (caractere) {
16988
17030
  case ' ':
16989
17031
  case '\t':
16990
- this.avancar();
16991
- break;
16992
17032
  case '\r':
16993
17033
  case '\n':
16994
17034
  case '\0':
17035
+ this.avancar();
17036
+ break;
16995
17037
  case ';':
17038
+ this.adicionarSimbolo(pitugues_2.default.PONTO_E_VIRGULA);
16996
17039
  this.avancar();
16997
17040
  break;
16998
17041
  case '=':
@@ -17178,7 +17221,7 @@ class LexadorPitugues {
17178
17221
  const inicioMapeamento = (0, browser_process_hrtime_1.default)();
17179
17222
  this.simbolos = [];
17180
17223
  this.erros = [];
17181
- this.pragmas = {};
17224
+ this.localizacoes = {};
17182
17225
  this.inicioSimbolo = 0;
17183
17226
  this.atual = 0;
17184
17227
  this.linha = 0;
@@ -17198,13 +17241,13 @@ class LexadorPitugues {
17198
17241
  return {
17199
17242
  simbolos: this.simbolos,
17200
17243
  erros: this.erros,
17201
- pragmas: this.pragmas,
17244
+ pragmas: this.localizacoes,
17202
17245
  };
17203
17246
  }
17204
17247
  }
17205
17248
  exports.LexadorPitugues = LexadorPitugues;
17206
17249
 
17207
- },{"../../tipos-de-simbolos/pitugues":194,"../simbolo":183,"./palavras-reservadas/pitugues":173,"browser-process-hrtime":371}],167:[function(require,module,exports){
17250
+ },{"../../tipos-de-simbolos/pitugues":194,"../simbolo":183,"./palavras-reservadas/pitugues":173,"browser-process-hrtime":378}],167:[function(require,module,exports){
17208
17251
  "use strict";
17209
17252
  var __importDefault = (this && this.__importDefault) || function (mod) {
17210
17253
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -17814,7 +17857,7 @@ class LexadorPrisma {
17814
17857
  }
17815
17858
  exports.LexadorPrisma = LexadorPrisma;
17816
17859
 
17817
- },{"../../tipos-de-simbolos/prisma":196,"../simbolo":183,"./palavras-reservadas/prisma":175,"browser-process-hrtime":371}],169:[function(require,module,exports){
17860
+ },{"../../tipos-de-simbolos/prisma":196,"../simbolo":183,"./palavras-reservadas/prisma":175,"browser-process-hrtime":378}],169:[function(require,module,exports){
17818
17861
  "use strict";
17819
17862
  var __importDefault = (this && this.__importDefault) || function (mod) {
17820
17863
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -18205,7 +18248,7 @@ class LexadorTenda {
18205
18248
  }
18206
18249
  exports.LexadorTenda = LexadorTenda;
18207
18250
 
18208
- },{"../../tipos-de-simbolos/tenda":197,"../simbolo":183,"./palavras-reservadas/tenda":176,"browser-process-hrtime":371}],170:[function(require,module,exports){
18251
+ },{"../../tipos-de-simbolos/tenda":197,"../simbolo":183,"./palavras-reservadas/tenda":176,"browser-process-hrtime":378}],170:[function(require,module,exports){
18209
18252
  "use strict";
18210
18253
  var __importDefault = (this && this.__importDefault) || function (mod) {
18211
18254
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -19164,7 +19207,7 @@ class Lexador {
19164
19207
  }
19165
19208
  exports.Lexador = Lexador;
19166
19209
 
19167
- },{"../tipos-de-simbolos/delegua":190,"./palavras-reservadas":182,"./simbolo":183,"browser-process-hrtime":371}],181:[function(require,module,exports){
19210
+ },{"../tipos-de-simbolos/delegua":190,"./palavras-reservadas":182,"./simbolo":183,"browser-process-hrtime":378}],181:[function(require,module,exports){
19168
19211
  "use strict";
19169
19212
  var __importDefault = (this && this.__importDefault) || function (mod) {
19170
19213
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -20226,6 +20269,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20226
20269
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20227
20270
  };
20228
20271
  Object.defineProperty(exports, "__esModule", { value: true });
20272
+ __exportStar(require("./tradutor-assembly-arm"), exports);
20273
+ __exportStar(require("./tradutor-assembly-x64"), exports);
20229
20274
  __exportStar(require("./tradutor-assemblyscript"), exports);
20230
20275
  __exportStar(require("./tradutor-calango"), exports);
20231
20276
  __exportStar(require("./tradutor-javascript"), exports);
@@ -20236,7 +20281,138 @@ __exportStar(require("./tradutor-reverso-javascript"), exports);
20236
20281
  __exportStar(require("./tradutor-reverso-python"), exports);
20237
20282
  __exportStar(require("./tradutor-reverso-tenda"), exports);
20238
20283
 
20239
- },{"./tradutor-assemblyscript":201,"./tradutor-calango":202,"./tradutor-javascript":203,"./tradutor-mermaidjs":204,"./tradutor-portugol-ipt":205,"./tradutor-python":206,"./tradutor-reverso-javascript":207,"./tradutor-reverso-python":208,"./tradutor-reverso-tenda":209}],199:[function(require,module,exports){
20284
+ },{"./tradutor-assembly-arm":206,"./tradutor-assembly-x64":207,"./tradutor-assemblyscript":208,"./tradutor-calango":209,"./tradutor-javascript":210,"./tradutor-mermaidjs":211,"./tradutor-portugol-ipt":212,"./tradutor-python":213,"./tradutor-reverso-javascript":214,"./tradutor-reverso-python":215,"./tradutor-reverso-tenda":216}],199:[function(require,module,exports){
20285
+ "use strict";
20286
+ Object.defineProperty(exports, "__esModule", { value: true });
20287
+ exports.ArestaFluxograma = void 0;
20288
+ class ArestaFluxograma {
20289
+ constructor(declaracao, texto) {
20290
+ this.declaracao = declaracao;
20291
+ this.texto = texto;
20292
+ }
20293
+ }
20294
+ exports.ArestaFluxograma = ArestaFluxograma;
20295
+
20296
+ },{}],200:[function(require,module,exports){
20297
+ "use strict";
20298
+ Object.defineProperty(exports, "__esModule", { value: true });
20299
+ exports.DiagramaClasse = void 0;
20300
+ class DiagramaClasse {
20301
+ constructor(nome, superClasse) {
20302
+ this.nome = nome;
20303
+ this.superClasse = superClasse;
20304
+ this.metodos = [];
20305
+ this.propriedades = [];
20306
+ }
20307
+ paraTexto() {
20308
+ let resultado = ` classe ${this.nome} {\n`;
20309
+ // Adiciona propriedades (se houver)
20310
+ for (const prop of this.propriedades) {
20311
+ const tipo = prop.tipo ? `: ${prop.tipo}` : '';
20312
+ resultado += ` +${prop.nome}${tipo}\n`;
20313
+ }
20314
+ // Adiciona métodos
20315
+ for (const metodo of this.metodos) {
20316
+ const params = metodo.parametros.join(', ');
20317
+ const retorno = metodo.tipoRetorno ? `: ${metodo.tipoRetorno}` : '';
20318
+ resultado += ` +${metodo.nome}(${params})${retorno}\n`;
20319
+ }
20320
+ resultado += ` }\n`;
20321
+ // Adiciona herança se houver
20322
+ if (this.superClasse) {
20323
+ resultado += ` ${this.superClasse} <|-- ${this.nome}\n`;
20324
+ }
20325
+ return resultado;
20326
+ }
20327
+ }
20328
+ exports.DiagramaClasse = DiagramaClasse;
20329
+
20330
+ },{}],201:[function(require,module,exports){
20331
+ "use strict";
20332
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20333
+ if (k2 === undefined) k2 = k;
20334
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20335
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
20336
+ desc = { enumerable: true, get: function() { return m[k]; } };
20337
+ }
20338
+ Object.defineProperty(o, k2, desc);
20339
+ }) : (function(o, m, k, k2) {
20340
+ if (k2 === undefined) k2 = k;
20341
+ o[k2] = m[k];
20342
+ }));
20343
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20344
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20345
+ };
20346
+ Object.defineProperty(exports, "__esModule", { value: true });
20347
+ __exportStar(require("./aresta-fluxograma"), exports);
20348
+ __exportStar(require("./diagrama-classe"), exports);
20349
+ __exportStar(require("./subgrafo-classe"), exports);
20350
+ __exportStar(require("./vertice-fluxograma"), exports);
20351
+
20352
+ },{"./aresta-fluxograma":199,"./diagrama-classe":200,"./subgrafo-classe":202,"./vertice-fluxograma":203}],202:[function(require,module,exports){
20353
+ "use strict";
20354
+ Object.defineProperty(exports, "__esModule", { value: true });
20355
+ exports.SubgrafoClasse = void 0;
20356
+ class SubgrafoClasse {
20357
+ constructor(nomeClasse, linha, superClasse) {
20358
+ this.nomeClasse = nomeClasse;
20359
+ this.linha = linha;
20360
+ this.superClasse = superClasse;
20361
+ this.vertices = [];
20362
+ this.metodos = [];
20363
+ }
20364
+ paraTexto() {
20365
+ let resultado = ` subgraph Classe_${this.nomeClasse}_${this.linha}["Classe: ${this.nomeClasse}`;
20366
+ if (this.superClasse) {
20367
+ resultado += ` (estende ${this.superClasse})`;
20368
+ }
20369
+ resultado += `"]\n`;
20370
+ resultado += ` direction TB\n`;
20371
+ // Nó de início da classe
20372
+ resultado += ` ClasseInicio_${this.nomeClasse}_${this.linha}((Início da Classe))\n`;
20373
+ // Adiciona os métodos como sub-subgrafos
20374
+ for (const metodo of this.metodos) {
20375
+ resultado += ` subgraph Metodo_${metodo.nome}_${this.nomeClasse}_${this.linha}["Método: ${metodo.nome}"]\n`;
20376
+ resultado += ` direction TB\n`;
20377
+ for (const vertice of metodo.vertices) {
20378
+ // Adiciona indentação extra para vértices dentro do método
20379
+ const textoVertice = vertice.paraTexto().replace(/^ {4}/, ' ');
20380
+ resultado += textoVertice;
20381
+ }
20382
+ resultado += ` end\n`;
20383
+ }
20384
+ // Conecta o início da classe aos métodos
20385
+ if (this.metodos.length > 0) {
20386
+ const primeiroMetodo = this.metodos[0];
20387
+ if (primeiroMetodo.vertices.length > 0) {
20388
+ const primeiraAresta = primeiroMetodo.vertices[0].origem.texto;
20389
+ resultado += ` ClasseInicio_${this.nomeClasse}_${this.linha} --> ${primeiraAresta}\n`;
20390
+ }
20391
+ }
20392
+ resultado += ` end\n`;
20393
+ return resultado;
20394
+ }
20395
+ }
20396
+ exports.SubgrafoClasse = SubgrafoClasse;
20397
+
20398
+ },{}],203:[function(require,module,exports){
20399
+ "use strict";
20400
+ Object.defineProperty(exports, "__esModule", { value: true });
20401
+ exports.VerticeFluxograma = void 0;
20402
+ class VerticeFluxograma {
20403
+ constructor(origem, destino, texto) {
20404
+ this.origem = origem;
20405
+ this.destino = destino;
20406
+ this.texto = texto;
20407
+ }
20408
+ paraTexto() {
20409
+ const seta = this.texto ? `-->|${this.texto}|` : '-->';
20410
+ return ` ${this.origem.texto}${seta}${this.destino.texto};\n`;
20411
+ }
20412
+ }
20413
+ exports.VerticeFluxograma = VerticeFluxograma;
20414
+
20415
+ },{}],204:[function(require,module,exports){
20240
20416
  "use strict";
20241
20417
  // Generated from fontes\tradutores\python\Python3.g4 by ANTLR 4.9.0-SNAPSHOT
20242
20418
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -21476,7 +21652,7 @@ __decorate([
21476
21652
  Decorators_1.Override
21477
21653
  ], Python3Lexer.prototype, "nextToken", null);
21478
21654
 
21479
- },{"./python3-parser":200,"antlr4ts/CommonToken":219,"antlr4ts/Decorators":223,"antlr4ts/Lexer":231,"antlr4ts/Token":248,"antlr4ts/VocabularyImpl":254,"antlr4ts/atn/ATNDeserializer":260,"antlr4ts/atn/LexerATNSimulator":281,"antlr4ts/misc/Utils":342}],200:[function(require,module,exports){
21655
+ },{"./python3-parser":205,"antlr4ts/CommonToken":226,"antlr4ts/Decorators":230,"antlr4ts/Lexer":238,"antlr4ts/Token":255,"antlr4ts/VocabularyImpl":261,"antlr4ts/atn/ATNDeserializer":267,"antlr4ts/atn/LexerATNSimulator":288,"antlr4ts/misc/Utils":349}],205:[function(require,module,exports){
21480
21656
  "use strict";
21481
21657
  // Generated from fontes\tradutores\python\Python3.g4 by ANTLR 4.9.0-SNAPSHOT
21482
21658
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -32723,7 +32899,1391 @@ class Yield_argContext extends ParserRuleContext_1.ParserRuleContext {
32723
32899
  }
32724
32900
  exports.Yield_argContext = Yield_argContext;
32725
32901
 
32726
- },{"antlr4ts/FailedPredicateException":227,"antlr4ts/NoViableAltException":235,"antlr4ts/Parser":236,"antlr4ts/ParserRuleContext":239,"antlr4ts/RecognitionException":242,"antlr4ts/Token":248,"antlr4ts/VocabularyImpl":254,"antlr4ts/atn/ATN":256,"antlr4ts/atn/ATNDeserializer":260,"antlr4ts/atn/ParserATNSimulator":297,"antlr4ts/misc/Utils":342}],201:[function(require,module,exports){
32902
+ },{"antlr4ts/FailedPredicateException":234,"antlr4ts/NoViableAltException":242,"antlr4ts/Parser":243,"antlr4ts/ParserRuleContext":246,"antlr4ts/RecognitionException":249,"antlr4ts/Token":255,"antlr4ts/VocabularyImpl":261,"antlr4ts/atn/ATN":263,"antlr4ts/atn/ATNDeserializer":267,"antlr4ts/atn/ParserATNSimulator":304,"antlr4ts/misc/Utils":349}],206:[function(require,module,exports){
32903
+ "use strict";
32904
+ Object.defineProperty(exports, "__esModule", { value: true });
32905
+ exports.TradutorAssemblyARM = void 0;
32906
+ const construtos_1 = require("../construtos");
32907
+ const declaracoes_1 = require("../declaracoes");
32908
+ class TradutorAssemblyARM {
32909
+ constructor(alvo = 'linux-arm') {
32910
+ this.alvo = alvo;
32911
+ this.indentacao = 0;
32912
+ this.contadorLabels = 0;
32913
+ this.variaveis = new Map();
32914
+ this.registradoresDisponiveis = ['r4', 'r5', 'r6', 'r7', 'r8', 'r9', 'r10'];
32915
+ this.pilhaRegistradores = [];
32916
+ this.bss = '.bss\n';
32917
+ this.data = '.data\n';
32918
+ this.dicionarioConstrutos = {
32919
+ AcessoIndiceVariavel: this.traduzirAcessoIndiceVariavel.bind(this),
32920
+ AcessoMetodoOuPropriedade: this.trazudirConstrutoAcessoMetodo.bind(this),
32921
+ Agrupamento: this.traduzirConstrutoAgrupamento.bind(this),
32922
+ AtribuicaoPorIndice: this.traduzirConstrutoAtribuicaoPorIndice.bind(this),
32923
+ Atribuir: this.traduzirConstrutoAtribuir.bind(this),
32924
+ Binario: this.traduzirConstrutoBinario.bind(this),
32925
+ Chamada: this.traduzirConstrutoChamada.bind(this),
32926
+ DefinirValor: this.traduzirConstrutoDefinirValor.bind(this),
32927
+ FuncaoConstruto: this.traduzirFuncaoConstruto.bind(this),
32928
+ Isto: () => 'this',
32929
+ Literal: this.traduzirConstrutoLiteral.bind(this),
32930
+ Logico: this.traduzirConstrutoLogico.bind(this),
32931
+ TipoDe: this.traduzirConstrutoTipoDe.bind(this),
32932
+ Unario: this.traduzirConstrutoUnario.bind(this),
32933
+ Variavel: this.traduzirConstrutoVariavel.bind(this),
32934
+ Vetor: this.traduzirConstrutoVetor.bind(this),
32935
+ };
32936
+ this.dicionarioDeclaracoes = {
32937
+ Bloco: this.traduzirDeclaracaoBloco.bind(this),
32938
+ Enquanto: this.traduzirDeclaracaoEnquanto.bind(this),
32939
+ Continua: () => 'b .continue_label',
32940
+ Escolha: this.traduzirDeclaracaoEscolha.bind(this),
32941
+ Escreva: this.traduzirDeclaracaoEscreva.bind(this),
32942
+ Expressao: this.traduzirDeclaracaoExpressao.bind(this),
32943
+ Fazer: this.traduzirDeclaracaoFazer.bind(this),
32944
+ Falhar: this.traduzirDeclaracaoFalhar.bind(this),
32945
+ FuncaoDeclaracao: this.traduzirDeclaracaoFuncao.bind(this),
32946
+ Importar: this.traduzirDeclaracaoImportar.bind(this),
32947
+ Leia: this.traduzirDeclaracaoLeia.bind(this),
32948
+ Para: this.traduzirDeclaracaoPara.bind(this),
32949
+ ParaCada: this.traduzirDeclaracaoParaCada.bind(this),
32950
+ Retorna: this.traduzirDeclaracaoRetorna.bind(this),
32951
+ Se: this.traduzirDeclaracaoSe.bind(this),
32952
+ Sustar: () => 'b .break_label',
32953
+ Classe: this.traduzirDeclaracaoClasse.bind(this),
32954
+ Tente: this.traduzirDeclaracaoTente.bind(this),
32955
+ Const: this.traduzirDeclaracaoConst.bind(this),
32956
+ Var: this.traduzirDeclaracaoVar.bind(this),
32957
+ };
32958
+ this.indentacao = 0;
32959
+ // Seleciona o símbolo de entrada conforme a plataforma alvo.
32960
+ // Para linux-arm: programa standalone com _start.
32961
+ // Para android: ainda é um binário standalone, mas com rótulo Delegua_main
32962
+ // para deixar claro que não é o _start do CRT padrão.
32963
+ const entryLabel = this.alvo === 'android' ? 'Delegua_main' : '_start';
32964
+ this.text = `
32965
+ .text
32966
+ .global ${entryLabel}
32967
+
32968
+ ${entryLabel}:`;
32969
+ }
32970
+ gerarDigitoAleatorio() {
32971
+ let result = '';
32972
+ const digits = '0123456789';
32973
+ for (let i = 0; i < 5; i++) {
32974
+ const randomIndex = Math.floor(Math.random() * digits.length);
32975
+ result += digits.charAt(randomIndex);
32976
+ }
32977
+ return result;
32978
+ }
32979
+ gerarLabel() {
32980
+ return `.L${this.contadorLabels++}`;
32981
+ }
32982
+ obterRegistrador() {
32983
+ if (this.registradoresDisponiveis.length > 0) {
32984
+ const reg = this.registradoresDisponiveis.pop();
32985
+ this.pilhaRegistradores.push(reg);
32986
+ return reg;
32987
+ }
32988
+ return 'r0'; // fallback
32989
+ }
32990
+ liberarRegistrador(reg) {
32991
+ const index = this.pilhaRegistradores.indexOf(reg);
32992
+ if (index > -1) {
32993
+ this.pilhaRegistradores.splice(index, 1);
32994
+ this.registradoresDisponiveis.push(reg);
32995
+ }
32996
+ }
32997
+ // Implementação dos Construtos
32998
+ traduzirAcessoIndiceVariavel(construto) {
32999
+ var _a;
33000
+ let nomeVar;
33001
+ if (construto.entidadeChamada instanceof construtos_1.Variavel) {
33002
+ nomeVar = (_a = construto.entidadeChamada.simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
33003
+ }
33004
+ if (!nomeVar) {
33005
+ nomeVar = 'unknown';
33006
+ }
33007
+ const indice = this.dicionarioConstrutos[construto.indice.constructor.name](construto.indice);
33008
+ const reg = this.obterRegistrador();
33009
+ this.text += `
33010
+ ldr ${reg}, =${nomeVar}
33011
+ ldr r0, =${indice}
33012
+ lsl r0, r0, #2 @ multiply index by 4 (word size)
33013
+ add ${reg}, ${reg}, r0
33014
+ ldr r0, [${reg}]`;
33015
+ this.liberarRegistrador(reg);
33016
+ return 'r0';
33017
+ }
33018
+ trazudirConstrutoAcessoMetodo(construto) {
33019
+ const objeto = this.dicionarioConstrutos[construto.objeto.constructor.name](construto.objeto);
33020
+ return `${objeto}_${construto.nomeMetodo}`;
33021
+ }
33022
+ traduzirConstrutoAgrupamento(construto) {
33023
+ return this.dicionarioConstrutos[construto.expressao.constructor.name](construto.expressao);
33024
+ }
33025
+ traduzirConstrutoAtribuicaoPorIndice(construto) {
33026
+ var _a;
33027
+ let nomeVar;
33028
+ if (construto.objeto instanceof construtos_1.Variavel) {
33029
+ nomeVar = (_a = construto.objeto.simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
33030
+ }
33031
+ if (!nomeVar) {
33032
+ nomeVar = 'unknown';
33033
+ }
33034
+ const indice = this.dicionarioConstrutos[construto.indice.constructor.name](construto.indice);
33035
+ const valor = this.dicionarioConstrutos[construto.valor.constructor.name](construto.valor);
33036
+ const reg = this.obterRegistrador();
33037
+ this.text += `
33038
+ ldr ${reg}, =${nomeVar}
33039
+ ldr r1, =${indice}
33040
+ lsl r1, r1, #2 @ multiply by 4
33041
+ add ${reg}, ${reg}, r1
33042
+ ldr r1, =${valor}
33043
+ str r1, [${reg}]`;
33044
+ this.liberarRegistrador(reg);
33045
+ }
33046
+ traduzirConstrutoAtribuir(construto) {
33047
+ var _a;
33048
+ let nomeVar;
33049
+ if (construto.alvo instanceof construtos_1.Variavel) {
33050
+ nomeVar = (_a = construto.alvo.simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
33051
+ }
33052
+ if (!nomeVar) {
33053
+ return;
33054
+ }
33055
+ const valor = this.dicionarioConstrutos[construto.valor.constructor.name](construto.valor);
33056
+ if (!this.variaveis.has(nomeVar)) {
33057
+ const varLabel = `var_${nomeVar}`;
33058
+ this.bss += ` ${varLabel}: .space 4\n`;
33059
+ this.variaveis.set(nomeVar, varLabel);
33060
+ }
33061
+ this.text += `
33062
+ ldr r0, =${valor}
33063
+ ldr r1, =${this.variaveis.get(nomeVar)}
33064
+ str r0, [r1]`;
33065
+ }
33066
+ traduzirConstrutoBinario(construto) {
33067
+ const esquerda = this.dicionarioConstrutos[construto.esquerda.constructor.name](construto.esquerda);
33068
+ const direita = this.dicionarioConstrutos[construto.direita.constructor.name](construto.direita);
33069
+ const operador = construto.operador.lexema;
33070
+ const reg = this.obterRegistrador();
33071
+ // Load left operand into r0
33072
+ if (esquerda !== 'r0') {
33073
+ this.text += `
33074
+ ldr r0, =${esquerda}`;
33075
+ }
33076
+ // Load right operand into reg
33077
+ this.text += `
33078
+ ldr ${reg}, =${direita}`;
33079
+ switch (operador) {
33080
+ case '+':
33081
+ this.text += `
33082
+ add r0, r0, ${reg}`;
33083
+ break;
33084
+ case '-':
33085
+ this.text += `
33086
+ sub r0, r0, ${reg}`;
33087
+ break;
33088
+ case '*':
33089
+ this.text += `
33090
+ mul r0, r0, ${reg}`;
33091
+ break;
33092
+ case '/':
33093
+ this.text += `
33094
+ sdiv r0, r0, ${reg}`;
33095
+ break;
33096
+ case '%':
33097
+ this.text += `
33098
+ sdiv r1, r0, ${reg}
33099
+ mul r1, r1, ${reg}
33100
+ sub r0, r0, r1 @ r0 = r0 - (r0/reg)*reg`;
33101
+ break;
33102
+ case '<':
33103
+ this.text += `
33104
+ cmp r0, ${reg}
33105
+ movlt r0, #1
33106
+ movge r0, #0`;
33107
+ break;
33108
+ case '>':
33109
+ this.text += `
33110
+ cmp r0, ${reg}
33111
+ movgt r0, #1
33112
+ movle r0, #0`;
33113
+ break;
33114
+ case '<=':
33115
+ this.text += `
33116
+ cmp r0, ${reg}
33117
+ movle r0, #1
33118
+ movgt r0, #0`;
33119
+ break;
33120
+ case '>=':
33121
+ this.text += `
33122
+ cmp r0, ${reg}
33123
+ movge r0, #1
33124
+ movlt r0, #0`;
33125
+ break;
33126
+ case '==':
33127
+ case '===':
33128
+ this.text += `
33129
+ cmp r0, ${reg}
33130
+ moveq r0, #1
33131
+ movne r0, #0`;
33132
+ break;
33133
+ case '!=':
33134
+ case '!==':
33135
+ this.text += `
33136
+ cmp r0, ${reg}
33137
+ movne r0, #1
33138
+ moveq r0, #0`;
33139
+ break;
33140
+ default:
33141
+ this.text += `
33142
+ @ Operador ${operador} não implementado`;
33143
+ }
33144
+ this.liberarRegistrador(reg);
33145
+ return 'r0';
33146
+ }
33147
+ traduzirConstrutoChamada(construto) {
33148
+ var _a;
33149
+ let nomeFuncao = 'funcao';
33150
+ if (construto.entidadeChamada instanceof construtos_1.Variavel) {
33151
+ nomeFuncao = ((_a = construto.entidadeChamada.simbolo) === null || _a === void 0 ? void 0 : _a.lexema) || 'funcao';
33152
+ }
33153
+ // ARM calling convention: r0-r3 for first 4 args, rest on stack
33154
+ const registrosArgs = ['r0', 'r1', 'r2', 'r3'];
33155
+ construto.argumentos.forEach((arg, index) => {
33156
+ if (index < registrosArgs.length) {
33157
+ const valorArg = this.dicionarioConstrutos[arg.constructor.name](arg);
33158
+ if (valorArg !== registrosArgs[index]) {
33159
+ this.text += `
33160
+ ldr ${registrosArgs[index]}, =${valorArg}`;
33161
+ }
33162
+ }
33163
+ else {
33164
+ // Push extra args on stack
33165
+ const valorArg = this.dicionarioConstrutos[arg.constructor.name](arg);
33166
+ this.text += `
33167
+ ldr r0, =${valorArg}
33168
+ push {r0}`;
33169
+ }
33170
+ });
33171
+ this.text += `
33172
+ bl ${nomeFuncao}`;
33173
+ }
33174
+ traduzirConstrutoDefinirValor(construto) {
33175
+ const objeto = this.dicionarioConstrutos[construto.objeto.constructor.name](construto.objeto);
33176
+ const valor = this.dicionarioConstrutos[construto.valor.constructor.name](construto.valor);
33177
+ this.text += `
33178
+ ldr r0, =${valor}
33179
+ ldr r1, =${objeto}
33180
+ str r0, [r1]`;
33181
+ }
33182
+ traduzirFuncaoConstruto(construto) {
33183
+ const labelFuncao = `func_${this.gerarDigitoAleatorio()}`;
33184
+ this.text += `
33185
+
33186
+ ${labelFuncao}:
33187
+ push {fp, lr}
33188
+ mov fp, sp`;
33189
+ // Traduzir corpo da função
33190
+ if (construto.corpo && Array.isArray(construto.corpo)) {
33191
+ construto.corpo.forEach((declaracao) => {
33192
+ if (this.dicionarioDeclaracoes[declaracao.constructor.name]) {
33193
+ this.dicionarioDeclaracoes[declaracao.constructor.name](declaracao);
33194
+ }
33195
+ });
33196
+ }
33197
+ this.text += `
33198
+ mov sp, fp
33199
+ pop {fp, pc}`;
33200
+ }
33201
+ traduzirConstrutoLiteral(construto) {
33202
+ if (typeof construto.valor === 'string') {
33203
+ return this.criaStringLiteral(construto);
33204
+ }
33205
+ return String(construto.valor);
33206
+ }
33207
+ traduzirConstrutoLogico(construto) {
33208
+ const esquerda = this.dicionarioConstrutos[construto.esquerda.constructor.name](construto.esquerda);
33209
+ const direita = this.dicionarioConstrutos[construto.direita.constructor.name](construto.direita);
33210
+ const operador = construto.operador.lexema;
33211
+ const labelVerdadeiro = this.gerarLabel();
33212
+ const labelFim = this.gerarLabel();
33213
+ this.text += `
33214
+ ldr r0, =${esquerda}
33215
+ cmp r0, #0`;
33216
+ if (operador === 'e' || operador === '&&') {
33217
+ this.text += `
33218
+ beq ${labelFim}
33219
+ ldr r0, =${direita}
33220
+ cmp r0, #0
33221
+ beq ${labelFim}
33222
+ ${labelVerdadeiro}:
33223
+ mov r0, #1
33224
+ ${labelFim}:`;
33225
+ }
33226
+ else if (operador === 'ou' || operador === '||') {
33227
+ this.text += `
33228
+ bne ${labelVerdadeiro}
33229
+ ldr r0, =${direita}
33230
+ cmp r0, #0
33231
+ bne ${labelVerdadeiro}
33232
+ mov r0, #0
33233
+ b ${labelFim}
33234
+ ${labelVerdadeiro}:
33235
+ mov r0, #1
33236
+ ${labelFim}:`;
33237
+ }
33238
+ return 'r0';
33239
+ }
33240
+ traduzirConstrutoTipoDe(construto) {
33241
+ const expressao = this.dicionarioConstrutos[construto.valor.constructor.name](construto.valor);
33242
+ return expressao;
33243
+ }
33244
+ traduzirConstrutoUnario(construto) {
33245
+ const operando = this.dicionarioConstrutos[construto.operando.constructor.name](construto.operando);
33246
+ const operador = construto.operador.lexema;
33247
+ this.text += `
33248
+ ldr r0, =${operando}`;
33249
+ if (operador === '-') {
33250
+ this.text += `
33251
+ neg r0, r0`;
33252
+ }
33253
+ else if (operador === '!' || operador === 'nao') {
33254
+ this.text += `
33255
+ cmp r0, #0
33256
+ moveq r0, #1
33257
+ movne r0, #0`;
33258
+ }
33259
+ return 'r0';
33260
+ }
33261
+ traduzirConstrutoVariavel(construto) {
33262
+ var _a;
33263
+ const nomeVar = (_a = construto.simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
33264
+ if (nomeVar && this.variaveis.has(nomeVar)) {
33265
+ const varLabel = this.variaveis.get(nomeVar);
33266
+ this.text += `
33267
+ ldr r0, =${varLabel}
33268
+ ldr r0, [r0]`;
33269
+ return 'r0';
33270
+ }
33271
+ return nomeVar || 'unknown';
33272
+ }
33273
+ traduzirConstrutoVetor(construto) {
33274
+ var _a;
33275
+ const labelVetor = `vetor_${this.gerarDigitoAleatorio()}`;
33276
+ const tamanho = ((_a = construto.valores) === null || _a === void 0 ? void 0 : _a.length) || 0;
33277
+ this.bss += ` ${labelVetor}: .space ${tamanho * 4}\n`;
33278
+ if (construto.valores && Array.isArray(construto.valores)) {
33279
+ construto.valores.forEach((valor, index) => {
33280
+ if (this.dicionarioConstrutos[valor.constructor.name]) {
33281
+ const valorTraduzido = this.dicionarioConstrutos[valor.constructor.name](valor);
33282
+ this.text += `
33283
+ ldr r0, =${valorTraduzido}
33284
+ ldr r1, =${labelVetor}
33285
+ str r0, [r1, #${index * 4}]`;
33286
+ }
33287
+ });
33288
+ }
33289
+ return labelVetor;
33290
+ }
33291
+ // Implementação das Declarações
33292
+ traduzirDeclaracaoBloco(declaracao) {
33293
+ if (declaracao.declaracoes && Array.isArray(declaracao.declaracoes)) {
33294
+ declaracao.declaracoes.forEach((decl) => {
33295
+ if (this.dicionarioDeclaracoes[decl.constructor.name]) {
33296
+ this.dicionarioDeclaracoes[decl.constructor.name](decl);
33297
+ }
33298
+ });
33299
+ }
33300
+ }
33301
+ traduzirDeclaracaoEnquanto(declaracao) {
33302
+ const labelInicio = this.gerarLabel();
33303
+ const labelFim = this.gerarLabel();
33304
+ this.text += `
33305
+ ${labelInicio}:`;
33306
+ const condicao = this.dicionarioConstrutos[declaracao.condicao.constructor.name](declaracao.condicao);
33307
+ this.text += `
33308
+ cmp ${condicao}, #0
33309
+ beq ${labelFim}`;
33310
+ if (this.dicionarioDeclaracoes[declaracao.corpo.constructor.name]) {
33311
+ this.dicionarioDeclaracoes[declaracao.corpo.constructor.name](declaracao.corpo);
33312
+ }
33313
+ this.text += `
33314
+ b ${labelInicio}
33315
+ ${labelFim}:`;
33316
+ }
33317
+ traduzirDeclaracaoEscolha(declaracao) {
33318
+ const labelFim = this.gerarLabel();
33319
+ const valorEscolha = this.dicionarioConstrutos[declaracao.identificadorOuLiteral.constructor.name](declaracao.identificadorOuLiteral);
33320
+ if (declaracao.caminhos && Array.isArray(declaracao.caminhos)) {
33321
+ declaracao.caminhos.forEach((caminho) => {
33322
+ const labelProximo = this.gerarLabel();
33323
+ if (caminho.condicoes && caminho.condicoes[0]) {
33324
+ const valorCaso = this.dicionarioConstrutos[caminho.condicoes[0].constructor.name](caminho.condicoes[0]);
33325
+ this.text += `
33326
+ ldr r0, =${valorEscolha}
33327
+ ldr r1, =${valorCaso}
33328
+ cmp r0, r1
33329
+ bne ${labelProximo}`;
33330
+ if (caminho.declaracoes && Array.isArray(caminho.declaracoes)) {
33331
+ caminho.declaracoes.forEach((decl) => {
33332
+ if (this.dicionarioDeclaracoes[decl.constructor.name]) {
33333
+ this.dicionarioDeclaracoes[decl.constructor.name](decl);
33334
+ }
33335
+ });
33336
+ }
33337
+ this.text += `
33338
+ b ${labelFim}
33339
+ ${labelProximo}:`;
33340
+ }
33341
+ });
33342
+ }
33343
+ this.text += `
33344
+ ${labelFim}:`;
33345
+ }
33346
+ traduzirDeclaracaoExpressao(declaracao) {
33347
+ if (declaracao.expressao && this.dicionarioConstrutos[declaracao.expressao.constructor.name]) {
33348
+ this.dicionarioConstrutos[declaracao.expressao.constructor.name](declaracao.expressao);
33349
+ }
33350
+ }
33351
+ traduzirDeclaracaoFazer(declaracao) {
33352
+ const labelInicio = this.gerarLabel();
33353
+ this.text += `
33354
+ ${labelInicio}:`;
33355
+ if (declaracao.caminhoFazer && declaracao.caminhoFazer.declaracoes) {
33356
+ declaracao.caminhoFazer.declaracoes.forEach((decl) => {
33357
+ if (this.dicionarioDeclaracoes[decl.constructor.name]) {
33358
+ this.dicionarioDeclaracoes[decl.constructor.name](decl);
33359
+ }
33360
+ });
33361
+ }
33362
+ if (declaracao.condicaoEnquanto) {
33363
+ const condicao = this.dicionarioConstrutos[declaracao.condicaoEnquanto.constructor.name](declaracao.condicaoEnquanto);
33364
+ this.text += `
33365
+ cmp ${condicao}, #0
33366
+ bne ${labelInicio}`;
33367
+ }
33368
+ }
33369
+ traduzirDeclaracaoFalhar(declaracao) {
33370
+ let mensagem = '"Erro"';
33371
+ if (declaracao.explicacao && typeof declaracao.explicacao === 'object' && 'constructor' in declaracao.explicacao) {
33372
+ const explicacao = declaracao.explicacao;
33373
+ if (explicacao.constructor && this.dicionarioConstrutos[explicacao.constructor.name]) {
33374
+ mensagem = this.dicionarioConstrutos[explicacao.constructor.name](explicacao);
33375
+ }
33376
+ }
33377
+ this.text += `
33378
+ @ Falhar com mensagem: ${mensagem}
33379
+ mov r0, #1
33380
+ mov r7, #1 @ sys_exit
33381
+ swi 0`;
33382
+ }
33383
+ traduzirDeclaracaoFuncao(declaracao) {
33384
+ var _a;
33385
+ const nomeFuncao = ((_a = declaracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema) || 'funcao';
33386
+ this.text += `
33387
+
33388
+ ${nomeFuncao}:
33389
+ push {fp, lr}
33390
+ mov fp, sp`;
33391
+ if (declaracao.funcao && declaracao.funcao.corpo && Array.isArray(declaracao.funcao.corpo)) {
33392
+ declaracao.funcao.corpo.forEach((decl) => {
33393
+ if (this.dicionarioDeclaracoes[decl.constructor.name]) {
33394
+ this.dicionarioDeclaracoes[decl.constructor.name](decl);
33395
+ }
33396
+ });
33397
+ }
33398
+ this.text += `
33399
+ mov sp, fp
33400
+ pop {fp, pc}`;
33401
+ }
33402
+ traduzirDeclaracaoImportar(declaracao) {
33403
+ this.text += `
33404
+ @ Importar: ${declaracao.caminho || 'unknown'}`;
33405
+ }
33406
+ traduzirDeclaracaoLeia(declaracao) {
33407
+ var _a;
33408
+ let nomeVar;
33409
+ if (declaracao.argumentos && declaracao.argumentos[0] && declaracao.argumentos[0] instanceof construtos_1.Variavel) {
33410
+ nomeVar = (_a = declaracao.argumentos[0].simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
33411
+ }
33412
+ if (!nomeVar)
33413
+ return;
33414
+ if (!this.variaveis.has(nomeVar)) {
33415
+ const varLabel = `var_${nomeVar}`;
33416
+ this.bss += ` ${varLabel}: .space 256\n`;
33417
+ this.variaveis.set(nomeVar, varLabel);
33418
+ }
33419
+ this.text += `
33420
+ ldr r1, =${this.variaveis.get(nomeVar)}
33421
+ mov r2, #256
33422
+ mov r0, #0 @ stdin
33423
+ mov r7, #3 @ sys_read
33424
+ swi 0`;
33425
+ }
33426
+ traduzirDeclaracaoPara(declaracao) {
33427
+ const labelInicio = this.gerarLabel();
33428
+ const labelFim = this.gerarLabel();
33429
+ if (declaracao.inicializador) {
33430
+ const tipoInicializador = declaracao.inicializador.constructor.name;
33431
+ if (this.dicionarioDeclaracoes[tipoInicializador]) {
33432
+ this.dicionarioDeclaracoes[tipoInicializador](declaracao.inicializador);
33433
+ }
33434
+ else if (this.dicionarioConstrutos[tipoInicializador]) {
33435
+ this.dicionarioConstrutos[tipoInicializador](declaracao.inicializador);
33436
+ }
33437
+ }
33438
+ this.text += `
33439
+ ${labelInicio}:`;
33440
+ if (declaracao.condicao) {
33441
+ const condicao = this.dicionarioConstrutos[declaracao.condicao.constructor.name](declaracao.condicao);
33442
+ this.text += `
33443
+ cmp ${condicao}, #0
33444
+ beq ${labelFim}`;
33445
+ }
33446
+ if (this.dicionarioDeclaracoes[declaracao.corpo.constructor.name]) {
33447
+ this.dicionarioDeclaracoes[declaracao.corpo.constructor.name](declaracao.corpo);
33448
+ }
33449
+ if (declaracao.incrementar) {
33450
+ if (this.dicionarioConstrutos[declaracao.incrementar.constructor.name]) {
33451
+ this.dicionarioConstrutos[declaracao.incrementar.constructor.name](declaracao.incrementar);
33452
+ }
33453
+ }
33454
+ this.text += `
33455
+ b ${labelInicio}
33456
+ ${labelFim}:`;
33457
+ }
33458
+ traduzirDeclaracaoParaCada(declaracao) {
33459
+ var _a;
33460
+ const labelInicio = this.gerarLabel();
33461
+ const labelFim = this.gerarLabel();
33462
+ let nomeVar;
33463
+ if (declaracao.variavelIteracao instanceof construtos_1.Variavel) {
33464
+ nomeVar = (_a = declaracao.variavelIteracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
33465
+ }
33466
+ const vetor = declaracao.vetorOuDicionario;
33467
+ let tamanhoVetor = 0;
33468
+ if (vetor instanceof construtos_1.Vetor) {
33469
+ tamanhoVetor = vetor.tamanho || 0;
33470
+ }
33471
+ this.text += `
33472
+ mov r4, #0 @ counter
33473
+ ${labelInicio}:
33474
+ cmp r4, #${tamanhoVetor}
33475
+ bge ${labelFim}`;
33476
+ if (this.dicionarioDeclaracoes[declaracao.corpo.constructor.name]) {
33477
+ this.dicionarioDeclaracoes[declaracao.corpo.constructor.name](declaracao.corpo);
33478
+ }
33479
+ this.text += `
33480
+ add r4, r4, #1
33481
+ b ${labelInicio}
33482
+ ${labelFim}:`;
33483
+ }
33484
+ traduzirDeclaracaoRetorna(declaracao) {
33485
+ if (declaracao.valor) {
33486
+ const valor = this.dicionarioConstrutos[declaracao.valor.constructor.name](declaracao.valor);
33487
+ this.text += `
33488
+ ldr r0, =${valor}`;
33489
+ }
33490
+ this.text += `
33491
+ mov sp, fp
33492
+ pop {fp, pc}`;
33493
+ }
33494
+ traduzirDeclaracaoSe(declaracao) {
33495
+ const labelSenao = this.gerarLabel();
33496
+ const labelFim = this.gerarLabel();
33497
+ const condicao = this.dicionarioConstrutos[declaracao.condicao.constructor.name](declaracao.condicao);
33498
+ this.text += `
33499
+ cmp ${condicao}, #0
33500
+ beq ${labelSenao}`;
33501
+ if (this.dicionarioDeclaracoes[declaracao.caminhoEntao.constructor.name]) {
33502
+ this.dicionarioDeclaracoes[declaracao.caminhoEntao.constructor.name](declaracao.caminhoEntao);
33503
+ }
33504
+ this.text += `
33505
+ b ${labelFim}
33506
+ ${labelSenao}:`;
33507
+ if (declaracao.caminhoSenao && this.dicionarioDeclaracoes[declaracao.caminhoSenao.constructor.name]) {
33508
+ this.dicionarioDeclaracoes[declaracao.caminhoSenao.constructor.name](declaracao.caminhoSenao);
33509
+ }
33510
+ this.text += `
33511
+ ${labelFim}:`;
33512
+ }
33513
+ traduzirDeclaracaoClasse(declaracao) {
33514
+ var _a;
33515
+ this.text += `
33516
+ @ Classe: ${((_a = declaracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema) || 'unknown'}`;
33517
+ }
33518
+ traduzirDeclaracaoTente(declaracao) {
33519
+ this.text += `
33520
+ @ Tente-pegue`;
33521
+ if (declaracao.caminhoTente && Array.isArray(declaracao.caminhoTente)) {
33522
+ declaracao.caminhoTente.forEach((decl) => {
33523
+ if (this.dicionarioDeclaracoes[decl.constructor.name]) {
33524
+ this.dicionarioDeclaracoes[decl.constructor.name](decl);
33525
+ }
33526
+ });
33527
+ }
33528
+ }
33529
+ traduzirDeclaracaoConst(declaracao) {
33530
+ var _a;
33531
+ const nomeVar = (_a = declaracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
33532
+ if (!nomeVar)
33533
+ return;
33534
+ const valor = this.dicionarioConstrutos[declaracao.inicializador.constructor.name](declaracao.inicializador);
33535
+ const varLabel = `const_${nomeVar}`;
33536
+ this.data += ` ${varLabel}: .word ${valor}\n`;
33537
+ this.variaveis.set(nomeVar, varLabel);
33538
+ }
33539
+ traduzirDeclaracaoVar(declaracao) {
33540
+ var _a;
33541
+ const nomeVar = (_a = declaracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
33542
+ if (!nomeVar)
33543
+ return;
33544
+ const varLabel = `var_${nomeVar}`;
33545
+ this.bss += ` ${varLabel}: .space 4\n`;
33546
+ this.variaveis.set(nomeVar, varLabel);
33547
+ if (declaracao.inicializador && declaracao.inicializador.valor !== null) {
33548
+ const tipoInicializador = declaracao.inicializador.constructor.name;
33549
+ // Verificar se é um vetor
33550
+ if (declaracao.inicializador instanceof construtos_1.Vetor) {
33551
+ // Vetor precisa de tratamento especial
33552
+ const labelVetor = this.traduzirConstrutoVetor(declaracao.inicializador);
33553
+ // Associar o nome da variável com o label do vetor
33554
+ this.variaveis.set(nomeVar, labelVetor);
33555
+ }
33556
+ else if (this.dicionarioConstrutos[tipoInicializador]) {
33557
+ const valor = this.dicionarioConstrutos[tipoInicializador](declaracao.inicializador);
33558
+ this.text += `
33559
+ ldr r0, =${valor}
33560
+ ldr r1, =${varLabel}
33561
+ str r0, [r1]`;
33562
+ }
33563
+ }
33564
+ }
33565
+ criaStringLiteral(literal) {
33566
+ const varLiteral = `Delegua_${this.gerarDigitoAleatorio()}`;
33567
+ this.data += ` ${varLiteral}: .asciz "${literal.valor}"\n`;
33568
+ return varLiteral;
33569
+ }
33570
+ criaTamanhoNaMemoriaReferenteAVar(nomeStringLiteral) {
33571
+ const varTamanho = `tam_${nomeStringLiteral}`;
33572
+ // Em ARM, calculamos o tamanho de forma diferente
33573
+ // Podemos usar uma diretiva ou calcular em tempo de execução
33574
+ return varTamanho;
33575
+ }
33576
+ traduzirDeclaracaoEscreva(declaracaoEscreva) {
33577
+ let tam_string_literal = '';
33578
+ let nome_string_literal = '';
33579
+ if (declaracaoEscreva.argumentos[0] instanceof construtos_1.Literal) {
33580
+ nome_string_literal = this.criaStringLiteral(declaracaoEscreva.argumentos[0]);
33581
+ const stringValue = declaracaoEscreva.argumentos[0].valor;
33582
+ tam_string_literal = String(stringValue.length);
33583
+ }
33584
+ // Para ambos linux-arm e android, continuamos usando a convenção
33585
+ // de syscall Linux ARM (write). Em Android típico, esse binário
33586
+ // seria executado via adb/Termux, onde essa convenção ainda é válida.
33587
+ this.text += `
33588
+ ldr r1, =${nome_string_literal}
33589
+ mov r2, #${tam_string_literal}
33590
+ mov r0, #1 @ fd stdout
33591
+ mov r7, #4 @ sys_write
33592
+ swi 0`;
33593
+ }
33594
+ saidaSistema() {
33595
+ // Mesmo comentário da função Escreva: usamos sys_exit Linux.
33596
+ // Em um futuro modo Android "NDK/JNI", esta função deveria
33597
+ // apenas retornar ao chamador em vez de fazer syscall direta.
33598
+ this.text += `
33599
+ mov r0, #1 @ exit status
33600
+ mov r7, #1 @ sys_exit
33601
+ swi 0`;
33602
+ }
33603
+ traduzir(declaracoes) {
33604
+ let resultado = '';
33605
+ this.declaracoesDeClasses = declaracoes.filter((declaracao) => declaracao instanceof declaracoes_1.Classe);
33606
+ for (const declaracao of declaracoes) {
33607
+ if (this.dicionarioDeclaracoes[declaracao.constructor.name]) {
33608
+ this.dicionarioDeclaracoes[declaracao.constructor.name](declaracao);
33609
+ }
33610
+ }
33611
+ this.saidaSistema();
33612
+ resultado += this.bss + '\n' + this.data + '\n' + this.text;
33613
+ return resultado;
33614
+ }
33615
+ }
33616
+ exports.TradutorAssemblyARM = TradutorAssemblyARM;
33617
+
33618
+ },{"../construtos":51,"../declaracoes":96}],207:[function(require,module,exports){
33619
+ "use strict";
33620
+ Object.defineProperty(exports, "__esModule", { value: true });
33621
+ exports.TradutorAssemblyX64 = void 0;
33622
+ const construtos_1 = require("../construtos");
33623
+ const declaracoes_1 = require("../declaracoes");
33624
+ class TradutorAssemblyX64 {
33625
+ constructor(alvo = 'linux') {
33626
+ this.alvo = alvo;
33627
+ this.indentacao = 0;
33628
+ this.contadorLabels = 0;
33629
+ this.variaveis = new Map();
33630
+ this.registradoresDisponiveis = ['rbx', 'r12', 'r13', 'r14', 'r15'];
33631
+ this.pilhaRegistradores = [];
33632
+ this.bss = 'section .bss\n';
33633
+ this.data = 'section .data\n';
33634
+ this.dicionarioConstrutos = {
33635
+ AcessoIndiceVariavel: this.traduzirAcessoIndiceVariavel.bind(this),
33636
+ AcessoMetodoOuPropriedade: this.trazudirConstrutoAcessoMetodo.bind(this),
33637
+ Agrupamento: this.traduzirConstrutoAgrupamento.bind(this),
33638
+ AtribuicaoPorIndice: this.traduzirConstrutoAtribuicaoPorIndice.bind(this),
33639
+ Atribuir: this.traduzirConstrutoAtribuir.bind(this),
33640
+ Binario: this.traduzirConstrutoBinario.bind(this),
33641
+ Chamada: this.traduzirConstrutoChamada.bind(this),
33642
+ DefinirValor: this.traduzirConstrutoDefinirValor.bind(this),
33643
+ FuncaoConstruto: this.traduzirFuncaoConstruto.bind(this),
33644
+ Isto: () => 'this',
33645
+ Literal: this.traduzirConstrutoLiteral.bind(this),
33646
+ Logico: this.traduzirConstrutoLogico.bind(this),
33647
+ TipoDe: this.traduzirConstrutoTipoDe.bind(this),
33648
+ Unario: this.traduzirConstrutoUnario.bind(this),
33649
+ Variavel: this.traduzirConstrutoVariavel.bind(this),
33650
+ Vetor: this.traduzirConstrutoVetor.bind(this),
33651
+ };
33652
+ this.dicionarioDeclaracoes = {
33653
+ Bloco: this.traduzirDeclaracaoBloco.bind(this),
33654
+ Enquanto: this.traduzirDeclaracaoEnquanto.bind(this),
33655
+ Continua: () => 'continue',
33656
+ Escolha: this.traduzirDeclaracaoEscolha.bind(this),
33657
+ Expressao: this.traduzirDeclaracaoExpressao.bind(this),
33658
+ Fazer: this.traduzirDeclaracaoFazer.bind(this),
33659
+ Falhar: this.traduzirDeclaracaoFalhar.bind(this),
33660
+ FuncaoDeclaracao: this.traduzirDeclaracaoFuncao.bind(this),
33661
+ Importar: this.traduzirDeclaracaoImportar.bind(this),
33662
+ Leia: this.traduzirDeclaracaoLeia.bind(this),
33663
+ Para: this.traduzirDeclaracaoPara.bind(this),
33664
+ ParaCada: this.traduzirDeclaracaoParaCada.bind(this),
33665
+ Retorna: this.traduzirDeclaracaoRetorna.bind(this),
33666
+ Se: this.traduzirDeclaracaoSe.bind(this),
33667
+ Sustar: () => 'break',
33668
+ Classe: this.traduzirDeclaracaoClasse.bind(this),
33669
+ Tente: this.traduzirDeclaracaoTente.bind(this),
33670
+ Const: this.traduzirDeclaracaoConst.bind(this),
33671
+ Var: this.traduzirDeclaracaoVar.bind(this),
33672
+ Escreva: this.traduzirDeclaracaoEscreva.bind(this),
33673
+ };
33674
+ this.indentacao = 0;
33675
+ this.text = `
33676
+ section .text
33677
+ ${this.alvo === 'linux' ? 'global _start' : 'global main'}
33678
+ ${this.alvo === 'linux' ? '_start:' : 'main:'}`;
33679
+ if (this.alvo === 'windows') {
33680
+ this.text = `
33681
+ extern printf
33682
+ ` + this.text;
33683
+ }
33684
+ }
33685
+ gerarDigitoAleatorio() {
33686
+ let result = '';
33687
+ const digits = '0123456789';
33688
+ for (let i = 0; i < 5; i++) {
33689
+ const randomIndex = Math.floor(Math.random() * digits.length);
33690
+ result += digits.charAt(randomIndex);
33691
+ }
33692
+ return result;
33693
+ }
33694
+ gerarLabel() {
33695
+ return `L${this.contadorLabels++}`;
33696
+ }
33697
+ obterRegistrador() {
33698
+ if (this.registradoresDisponiveis.length > 0) {
33699
+ const reg = this.registradoresDisponiveis.pop();
33700
+ this.pilhaRegistradores.push(reg);
33701
+ return reg;
33702
+ }
33703
+ return 'rax'; // fallback
33704
+ }
33705
+ liberarRegistrador(reg) {
33706
+ const index = this.pilhaRegistradores.indexOf(reg);
33707
+ if (index > -1) {
33708
+ this.pilhaRegistradores.splice(index, 1);
33709
+ this.registradoresDisponiveis.push(reg);
33710
+ }
33711
+ }
33712
+ // Implementação dos Construtos
33713
+ traduzirAcessoIndiceVariavel(construto) {
33714
+ var _a;
33715
+ let nomeVar;
33716
+ if (construto.entidadeChamada instanceof construtos_1.Variavel) {
33717
+ nomeVar = (_a = construto.entidadeChamada.simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
33718
+ }
33719
+ if (!nomeVar) {
33720
+ nomeVar = 'unknown';
33721
+ }
33722
+ const indice = this.dicionarioConstrutos[construto.indice.constructor.name](construto.indice);
33723
+ return `[${nomeVar} + ${indice} * 8]`;
33724
+ }
33725
+ trazudirConstrutoAcessoMetodo(construto) {
33726
+ const objeto = this.dicionarioConstrutos[construto.objeto.constructor.name](construto.objeto);
33727
+ return `${objeto}.${construto.nomeMetodo}`;
33728
+ }
33729
+ traduzirConstrutoAgrupamento(construto) {
33730
+ return this.dicionarioConstrutos[construto.expressao.constructor.name](construto.expressao);
33731
+ }
33732
+ traduzirConstrutoAtribuicaoPorIndice(construto) {
33733
+ var _a;
33734
+ let nomeVar;
33735
+ if (construto.objeto instanceof construtos_1.Variavel) {
33736
+ nomeVar = (_a = construto.objeto.simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
33737
+ }
33738
+ if (!nomeVar) {
33739
+ nomeVar = 'unknown';
33740
+ }
33741
+ const indice = this.dicionarioConstrutos[construto.indice.constructor.name](construto.indice);
33742
+ const valor = this.dicionarioConstrutos[construto.valor.constructor.name](construto.valor);
33743
+ this.text += `
33744
+ mov rax, ${valor}
33745
+ mov [${nomeVar} + ${indice} * 8], rax`;
33746
+ }
33747
+ traduzirConstrutoAtribuir(construto) {
33748
+ var _a;
33749
+ // Atribuir tem a estrutura: { alvo, valor }
33750
+ let nomeVar;
33751
+ if (construto.alvo instanceof construtos_1.Variavel) {
33752
+ nomeVar = (_a = construto.alvo.simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
33753
+ }
33754
+ if (!nomeVar) {
33755
+ return;
33756
+ }
33757
+ const valor = this.dicionarioConstrutos[construto.valor.constructor.name](construto.valor);
33758
+ if (!this.variaveis.has(nomeVar)) {
33759
+ const varLabel = `var_${nomeVar}`;
33760
+ this.bss += ` ${varLabel} resq 1\n`;
33761
+ this.variaveis.set(nomeVar, varLabel);
33762
+ }
33763
+ this.text += `
33764
+ mov rax, ${valor}
33765
+ mov [${this.variaveis.get(nomeVar)}], rax`;
33766
+ }
33767
+ traduzirConstrutoBinario(construto) {
33768
+ const esquerda = this.dicionarioConstrutos[construto.esquerda.constructor.name](construto.esquerda);
33769
+ const direita = this.dicionarioConstrutos[construto.direita.constructor.name](construto.direita);
33770
+ const operador = construto.operador.lexema;
33771
+ const reg = this.obterRegistrador();
33772
+ this.text += `
33773
+ mov rax, ${esquerda}
33774
+ mov ${reg}, ${direita}`;
33775
+ switch (operador) {
33776
+ case '+':
33777
+ this.text += `
33778
+ add rax, ${reg}`;
33779
+ break;
33780
+ case '-':
33781
+ this.text += `
33782
+ sub rax, ${reg}`;
33783
+ break;
33784
+ case '*':
33785
+ this.text += `
33786
+ imul rax, ${reg}`;
33787
+ break;
33788
+ case '/':
33789
+ this.text += `
33790
+ xor rdx, rdx
33791
+ idiv ${reg}`;
33792
+ break;
33793
+ case '%':
33794
+ this.text += `
33795
+ xor rdx, rdx
33796
+ idiv ${reg}
33797
+ mov rax, rdx`;
33798
+ break;
33799
+ default:
33800
+ this.text += `
33801
+ ; Operador ${operador} não implementado`;
33802
+ }
33803
+ this.liberarRegistrador(reg);
33804
+ return 'rax';
33805
+ }
33806
+ traduzirConstrutoChamada(construto) {
33807
+ var _a;
33808
+ let nomeFuncao = 'funcao';
33809
+ if (construto.entidadeChamada instanceof construtos_1.Variavel) {
33810
+ nomeFuncao = ((_a = construto.entidadeChamada.simbolo) === null || _a === void 0 ? void 0 : _a.lexema) || 'funcao';
33811
+ }
33812
+ // Preparar argumentos (convenção de chamada System V AMD64)
33813
+ const registrosArgs = this.alvo === 'linux'
33814
+ ? ['rdi', 'rsi', 'rdx', 'rcx', 'r8', 'r9'] // System V AMD64 [web:8]
33815
+ : ['rcx', 'rdx', 'r8', 'r9']; // Windows x64 [web:2]
33816
+ construto.argumentos.forEach((arg, index) => {
33817
+ if (index < registrosArgs.length) {
33818
+ const valorArg = this.dicionarioConstrutos[arg.constructor.name](arg);
33819
+ this.text += `
33820
+ mov ${registrosArgs[index]}, ${valorArg}`;
33821
+ }
33822
+ else {
33823
+ // TODO: push extra args on stack according to target ABI
33824
+ }
33825
+ });
33826
+ this.text += `
33827
+ call ${nomeFuncao}`;
33828
+ }
33829
+ traduzirConstrutoDefinirValor(construto) {
33830
+ const objeto = this.dicionarioConstrutos[construto.objeto.constructor.name](construto.objeto);
33831
+ const valor = this.dicionarioConstrutos[construto.valor.constructor.name](construto.valor);
33832
+ this.text += `
33833
+ mov rax, ${valor}
33834
+ mov [${objeto}], rax`;
33835
+ }
33836
+ traduzirFuncaoConstruto(construto) {
33837
+ const labelFuncao = `func_${this.gerarDigitoAleatorio()}`;
33838
+ this.text += `
33839
+ ${labelFuncao}:
33840
+ push rbp
33841
+ mov rbp, rsp`;
33842
+ // Traduzir corpo da função
33843
+ if (construto.corpo && Array.isArray(construto.corpo)) {
33844
+ construto.corpo.forEach((declaracao) => {
33845
+ if (this.dicionarioDeclaracoes[declaracao.constructor.name]) {
33846
+ this.dicionarioDeclaracoes[declaracao.constructor.name](declaracao);
33847
+ }
33848
+ });
33849
+ }
33850
+ this.text += `
33851
+ pop rbp
33852
+ ret`;
33853
+ }
33854
+ traduzirConstrutoLiteral(construto) {
33855
+ if (typeof construto.valor === 'string') {
33856
+ return this.criaStringLiteral(construto);
33857
+ }
33858
+ return String(construto.valor);
33859
+ }
33860
+ traduzirConstrutoLogico(construto) {
33861
+ const esquerda = this.dicionarioConstrutos[construto.esquerda.constructor.name](construto.esquerda);
33862
+ const direita = this.dicionarioConstrutos[construto.direita.constructor.name](construto.direita);
33863
+ const operador = construto.operador.lexema;
33864
+ const labelVerdadeiro = this.gerarLabel();
33865
+ const labelFim = this.gerarLabel();
33866
+ this.text += `
33867
+ mov rax, ${esquerda}
33868
+ cmp rax, 0`;
33869
+ if (operador === 'e' || operador === '&&') {
33870
+ this.text += `
33871
+ je ${labelFim}
33872
+ mov rax, ${direita}
33873
+ cmp rax, 0
33874
+ je ${labelFim}
33875
+ ${labelVerdadeiro}:
33876
+ mov rax, 1
33877
+ ${labelFim}:`;
33878
+ }
33879
+ else if (operador === 'ou' || operador === '||') {
33880
+ this.text += `
33881
+ jne ${labelVerdadeiro}
33882
+ mov rax, ${direita}
33883
+ cmp rax, 0
33884
+ jne ${labelVerdadeiro}
33885
+ mov rax, 0
33886
+ jmp ${labelFim}
33887
+ ${labelVerdadeiro}:
33888
+ mov rax, 1
33889
+ ${labelFim}:`;
33890
+ }
33891
+ return 'rax';
33892
+ }
33893
+ traduzirConstrutoTipoDe(construto) {
33894
+ // Simplificado - retorna tipo como número
33895
+ const expressao = this.dicionarioConstrutos[construto.valor.constructor.name](construto.valor);
33896
+ return expressao;
33897
+ }
33898
+ traduzirConstrutoUnario(construto) {
33899
+ const operando = this.dicionarioConstrutos[construto.operando.constructor.name](construto.operando);
33900
+ const operador = construto.operador.lexema;
33901
+ this.text += `
33902
+ mov rax, ${operando}`;
33903
+ if (operador === '-') {
33904
+ this.text += `
33905
+ neg rax`;
33906
+ }
33907
+ else if (operador === '!' || operador === 'nao') {
33908
+ this.text += `
33909
+ cmp rax, 0
33910
+ sete al
33911
+ movzx rax, al`;
33912
+ }
33913
+ return 'rax';
33914
+ }
33915
+ traduzirConstrutoVariavel(construto) {
33916
+ var _a;
33917
+ const nomeVar = (_a = construto.simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
33918
+ if (nomeVar && this.variaveis.has(nomeVar)) {
33919
+ return `[${this.variaveis.get(nomeVar)}]`;
33920
+ }
33921
+ return nomeVar || 'unknown';
33922
+ }
33923
+ traduzirConstrutoVetor(construto) {
33924
+ var _a;
33925
+ const labelVetor = `vetor_${this.gerarDigitoAleatorio()}`;
33926
+ const tamanho = ((_a = construto.valores) === null || _a === void 0 ? void 0 : _a.length) || 0;
33927
+ this.bss += ` ${labelVetor} resq ${tamanho}\n`;
33928
+ if (construto.valores && Array.isArray(construto.valores)) {
33929
+ construto.valores.forEach((valor, index) => {
33930
+ if (this.dicionarioConstrutos[valor.constructor.name]) {
33931
+ const valorTraduzido = this.dicionarioConstrutos[valor.constructor.name](valor);
33932
+ this.text += `
33933
+ mov rax, ${valorTraduzido}
33934
+ mov [${labelVetor} + ${index * 8}], rax`;
33935
+ }
33936
+ });
33937
+ }
33938
+ return labelVetor;
33939
+ }
33940
+ // Implementação das Declarações
33941
+ traduzirDeclaracaoBloco(declaracao) {
33942
+ if (declaracao.declaracoes && Array.isArray(declaracao.declaracoes)) {
33943
+ declaracao.declaracoes.forEach((decl) => {
33944
+ if (this.dicionarioDeclaracoes[decl.constructor.name]) {
33945
+ this.dicionarioDeclaracoes[decl.constructor.name](decl);
33946
+ }
33947
+ });
33948
+ }
33949
+ }
33950
+ traduzirDeclaracaoEnquanto(declaracao) {
33951
+ const labelInicio = this.gerarLabel();
33952
+ const labelFim = this.gerarLabel();
33953
+ this.text += `
33954
+ ${labelInicio}:`;
33955
+ const condicao = this.dicionarioConstrutos[declaracao.condicao.constructor.name](declaracao.condicao);
33956
+ this.text += `
33957
+ cmp ${condicao}, 0
33958
+ je ${labelFim}`;
33959
+ if (this.dicionarioDeclaracoes[declaracao.corpo.constructor.name]) {
33960
+ this.dicionarioDeclaracoes[declaracao.corpo.constructor.name](declaracao.corpo);
33961
+ }
33962
+ this.text += `
33963
+ jmp ${labelInicio}
33964
+ ${labelFim}:`;
33965
+ }
33966
+ traduzirDeclaracaoEscolha(declaracao) {
33967
+ const labelFim = this.gerarLabel();
33968
+ const valorEscolha = this.dicionarioConstrutos[declaracao.identificadorOuLiteral.constructor.name](declaracao.identificadorOuLiteral);
33969
+ if (declaracao.caminhos && Array.isArray(declaracao.caminhos)) {
33970
+ declaracao.caminhos.forEach((caminho) => {
33971
+ const labelProximo = this.gerarLabel();
33972
+ if (caminho.condicoes && caminho.condicoes[0]) {
33973
+ const valorCaso = this.dicionarioConstrutos[caminho.condicoes[0].constructor.name](caminho.condicoes[0]);
33974
+ this.text += `
33975
+ mov rax, ${valorEscolha}
33976
+ cmp rax, ${valorCaso}
33977
+ jne ${labelProximo}`;
33978
+ if (caminho.declaracoes && Array.isArray(caminho.declaracoes)) {
33979
+ caminho.declaracoes.forEach((decl) => {
33980
+ if (this.dicionarioDeclaracoes[decl.constructor.name]) {
33981
+ this.dicionarioDeclaracoes[decl.constructor.name](decl);
33982
+ }
33983
+ });
33984
+ }
33985
+ this.text += `
33986
+ jmp ${labelFim}
33987
+ ${labelProximo}:`;
33988
+ }
33989
+ });
33990
+ }
33991
+ this.text += `
33992
+ ${labelFim}:`;
33993
+ }
33994
+ traduzirDeclaracaoExpressao(declaracao) {
33995
+ if (declaracao.expressao && this.dicionarioConstrutos[declaracao.expressao.constructor.name]) {
33996
+ this.dicionarioConstrutos[declaracao.expressao.constructor.name](declaracao.expressao);
33997
+ }
33998
+ }
33999
+ traduzirDeclaracaoFazer(declaracao) {
34000
+ const labelInicio = this.gerarLabel();
34001
+ this.text += `
34002
+ ${labelInicio}:`;
34003
+ // Em Delégua, fazer-enquanto tem caminhoFazer que é um Bloco
34004
+ if (declaracao.caminhoFazer && declaracao.caminhoFazer.declaracoes) {
34005
+ declaracao.caminhoFazer.declaracoes.forEach((decl) => {
34006
+ if (this.dicionarioDeclaracoes[decl.constructor.name]) {
34007
+ this.dicionarioDeclaracoes[decl.constructor.name](decl);
34008
+ }
34009
+ });
34010
+ }
34011
+ if (declaracao.condicaoEnquanto) {
34012
+ const condicao = this.dicionarioConstrutos[declaracao.condicaoEnquanto.constructor.name](declaracao.condicaoEnquanto);
34013
+ this.text += `
34014
+ cmp ${condicao}, 0
34015
+ jne ${labelInicio}`;
34016
+ }
34017
+ }
34018
+ traduzirDeclaracaoFalhar(declaracao) {
34019
+ let mensagem = '"Erro"';
34020
+ if (declaracao.explicacao && typeof declaracao.explicacao === 'object' && 'constructor' in declaracao.explicacao) {
34021
+ const explicacao = declaracao.explicacao;
34022
+ if (explicacao.constructor && this.dicionarioConstrutos[explicacao.constructor.name]) {
34023
+ mensagem = this.dicionarioConstrutos[explicacao.constructor.name](explicacao);
34024
+ }
34025
+ }
34026
+ if (this.alvo === 'linux') {
34027
+ this.text += `
34028
+ ; Falhar com mensagem: ${mensagem}
34029
+ mov eax, 1
34030
+ mov ebx, 1
34031
+ int 0x80`;
34032
+ }
34033
+ else {
34034
+ this.text += `
34035
+ ; Falhar com mensagem: ${mensagem}
34036
+ mov eax, 1
34037
+ ret`;
34038
+ }
34039
+ }
34040
+ traduzirDeclaracaoFuncao(declaracao) {
34041
+ var _a;
34042
+ const nomeFuncao = ((_a = declaracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema) || 'funcao';
34043
+ this.text += `
34044
+ ${nomeFuncao}:
34045
+ push rbp
34046
+ mov rbp, rsp`;
34047
+ if (declaracao.funcao && declaracao.funcao.corpo && Array.isArray(declaracao.funcao.corpo)) {
34048
+ declaracao.funcao.corpo.forEach((decl) => {
34049
+ if (this.dicionarioDeclaracoes[decl.constructor.name]) {
34050
+ this.dicionarioDeclaracoes[decl.constructor.name](decl);
34051
+ }
34052
+ });
34053
+ }
34054
+ this.text += `
34055
+ pop rbp
34056
+ ret`;
34057
+ }
34058
+ traduzirDeclaracaoImportar(declaracao) {
34059
+ // Importação é tratada em tempo de linkagem
34060
+ this.text += `
34061
+ ; Importar: ${declaracao.caminho || 'unknown'}`;
34062
+ }
34063
+ traduzirDeclaracaoLeia(declaracao) {
34064
+ var _a;
34065
+ let nomeVar;
34066
+ if (declaracao.argumentos && declaracao.argumentos[0] && declaracao.argumentos[0] instanceof construtos_1.Variavel) {
34067
+ nomeVar = (_a = declaracao.argumentos[0].simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
34068
+ }
34069
+ if (!nomeVar)
34070
+ return;
34071
+ if (!this.variaveis.has(nomeVar)) {
34072
+ const varLabel = `var_${nomeVar}`;
34073
+ this.bss += ` ${varLabel} resb 256\n`;
34074
+ this.variaveis.set(nomeVar, varLabel);
34075
+ }
34076
+ this.text += `
34077
+ mov eax, 3
34078
+ mov ebx, 0
34079
+ mov ecx, ${this.variaveis.get(nomeVar)}
34080
+ mov edx, 256
34081
+ int 0x80`;
34082
+ }
34083
+ traduzirDeclaracaoPara(declaracao) {
34084
+ const labelInicio = this.gerarLabel();
34085
+ const labelFim = this.gerarLabel();
34086
+ // Inicializador pode ser uma declaração ou construto
34087
+ if (declaracao.inicializador) {
34088
+ const tipoInicializador = declaracao.inicializador.constructor.name;
34089
+ if (this.dicionarioDeclaracoes[tipoInicializador]) {
34090
+ this.dicionarioDeclaracoes[tipoInicializador](declaracao.inicializador);
34091
+ }
34092
+ else if (this.dicionarioConstrutos[tipoInicializador]) {
34093
+ this.dicionarioConstrutos[tipoInicializador](declaracao.inicializador);
34094
+ }
34095
+ }
34096
+ this.text += `
34097
+ ${labelInicio}:`;
34098
+ if (declaracao.condicao) {
34099
+ const condicao = this.dicionarioConstrutos[declaracao.condicao.constructor.name](declaracao.condicao);
34100
+ this.text += `
34101
+ cmp ${condicao}, 0
34102
+ je ${labelFim}`;
34103
+ }
34104
+ if (this.dicionarioDeclaracoes[declaracao.corpo.constructor.name]) {
34105
+ this.dicionarioDeclaracoes[declaracao.corpo.constructor.name](declaracao.corpo);
34106
+ }
34107
+ if (declaracao.incrementar) {
34108
+ if (this.dicionarioConstrutos[declaracao.incrementar.constructor.name]) {
34109
+ this.dicionarioConstrutos[declaracao.incrementar.constructor.name](declaracao.incrementar);
34110
+ }
34111
+ }
34112
+ this.text += `
34113
+ jmp ${labelInicio}
34114
+ ${labelFim}:`;
34115
+ }
34116
+ traduzirDeclaracaoParaCada(declaracao) {
34117
+ var _a;
34118
+ const labelInicio = this.gerarLabel();
34119
+ const labelFim = this.gerarLabel();
34120
+ let nomeVar;
34121
+ if (declaracao.variavelIteracao instanceof construtos_1.Variavel) {
34122
+ nomeVar = (_a = declaracao.variavelIteracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
34123
+ }
34124
+ const vetor = declaracao.vetorOuDicionario;
34125
+ let tamanhoVetor = 0;
34126
+ if (vetor instanceof construtos_1.Vetor) {
34127
+ tamanhoVetor = vetor.tamanho || 0;
34128
+ }
34129
+ this.text += `
34130
+ xor rcx, rcx
34131
+ ${labelInicio}:
34132
+ cmp rcx, ${tamanhoVetor}
34133
+ jge ${labelFim}`;
34134
+ if (this.dicionarioDeclaracoes[declaracao.corpo.constructor.name]) {
34135
+ this.dicionarioDeclaracoes[declaracao.corpo.constructor.name](declaracao.corpo);
34136
+ }
34137
+ this.text += `
34138
+ inc rcx
34139
+ jmp ${labelInicio}
34140
+ ${labelFim}:`;
34141
+ }
34142
+ traduzirDeclaracaoRetorna(declaracao) {
34143
+ if (declaracao.valor) {
34144
+ const valor = this.dicionarioConstrutos[declaracao.valor.constructor.name](declaracao.valor);
34145
+ this.text += `
34146
+ mov rax, ${valor}`;
34147
+ }
34148
+ this.text += `
34149
+ pop rbp
34150
+ ret`;
34151
+ }
34152
+ traduzirDeclaracaoSe(declaracao) {
34153
+ const labelSenao = this.gerarLabel();
34154
+ const labelFim = this.gerarLabel();
34155
+ const condicao = this.dicionarioConstrutos[declaracao.condicao.constructor.name](declaracao.condicao);
34156
+ this.text += `
34157
+ cmp ${condicao}, 0
34158
+ je ${labelSenao}`;
34159
+ if (this.dicionarioDeclaracoes[declaracao.caminhoEntao.constructor.name]) {
34160
+ this.dicionarioDeclaracoes[declaracao.caminhoEntao.constructor.name](declaracao.caminhoEntao);
34161
+ }
34162
+ this.text += `
34163
+ jmp ${labelFim}
34164
+ ${labelSenao}:`;
34165
+ if (declaracao.caminhoSenao && this.dicionarioDeclaracoes[declaracao.caminhoSenao.constructor.name]) {
34166
+ this.dicionarioDeclaracoes[declaracao.caminhoSenao.constructor.name](declaracao.caminhoSenao);
34167
+ }
34168
+ this.text += `
34169
+ ${labelFim}:`;
34170
+ }
34171
+ traduzirDeclaracaoClasse(declaracao) {
34172
+ var _a;
34173
+ // Classes em assembly são complexas - implementação básica
34174
+ this.text += `
34175
+ ; Classe: ${((_a = declaracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema) || 'unknown'}`;
34176
+ }
34177
+ traduzirDeclaracaoTente(declaracao) {
34178
+ // Try-catch em assembly requer handler complexo
34179
+ this.text += `
34180
+ ; Tente-pegue`;
34181
+ if (declaracao.caminhoTente && Array.isArray(declaracao.caminhoTente)) {
34182
+ declaracao.caminhoTente.forEach((decl) => {
34183
+ if (this.dicionarioDeclaracoes[decl.constructor.name]) {
34184
+ this.dicionarioDeclaracoes[decl.constructor.name](decl);
34185
+ }
34186
+ });
34187
+ }
34188
+ }
34189
+ traduzirDeclaracaoConst(declaracao) {
34190
+ var _a;
34191
+ const nomeVar = (_a = declaracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
34192
+ if (!nomeVar)
34193
+ return;
34194
+ const valor = this.dicionarioConstrutos[declaracao.inicializador.constructor.name](declaracao.inicializador);
34195
+ const varLabel = `const_${nomeVar}`;
34196
+ this.data += ` ${varLabel} dq ${valor}\n`;
34197
+ this.variaveis.set(nomeVar, varLabel);
34198
+ }
34199
+ traduzirDeclaracaoVar(declaracao) {
34200
+ var _a;
34201
+ const nomeVar = (_a = declaracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
34202
+ if (!nomeVar)
34203
+ return;
34204
+ const varLabel = `var_${nomeVar}`;
34205
+ this.bss += ` ${varLabel} resq 1\n`;
34206
+ this.variaveis.set(nomeVar, varLabel);
34207
+ if (declaracao.inicializador) {
34208
+ const tipoInicializador = declaracao.inicializador.constructor.name;
34209
+ // Verificar se é um vetor
34210
+ if (declaracao.inicializador instanceof construtos_1.Vetor) {
34211
+ // Vetor precisa de tratamento especial
34212
+ const labelVetor = this.traduzirConstrutoVetor(declaracao.inicializador);
34213
+ // Associar o nome da variável com o label do vetor
34214
+ this.variaveis.set(nomeVar, labelVetor);
34215
+ }
34216
+ else if (this.dicionarioConstrutos[tipoInicializador]) {
34217
+ const valor = this.dicionarioConstrutos[tipoInicializador](declaracao.inicializador);
34218
+ this.text += `
34219
+ mov rax, ${valor}
34220
+ mov [${varLabel}], rax`;
34221
+ }
34222
+ }
34223
+ }
34224
+ criaStringLiteral(literal) {
34225
+ const varLiteral = `Delegua_${this.gerarDigitoAleatorio()}`;
34226
+ this.data += ` ${varLiteral} db '${literal.valor}', 0\n`;
34227
+ return varLiteral;
34228
+ }
34229
+ criaTamanhoNaMemoriaReferenteAVar(nomeStringLiteral) {
34230
+ const varTamanho = `tam_${nomeStringLiteral}`;
34231
+ this.data += ` ${varTamanho} equ $ - ${nomeStringLiteral}\n`;
34232
+ return varTamanho;
34233
+ }
34234
+ traduzirDeclaracaoEscreva(declaracaoEscreva) {
34235
+ let tam_string_literal = '';
34236
+ let nome_string_literal = '';
34237
+ if (declaracaoEscreva.argumentos[0] instanceof construtos_1.Literal) {
34238
+ nome_string_literal = this.criaStringLiteral(declaracaoEscreva.argumentos[0]);
34239
+ tam_string_literal = this.criaTamanhoNaMemoriaReferenteAVar(nome_string_literal);
34240
+ }
34241
+ if (this.alvo === 'linux') {
34242
+ this.text += `
34243
+ mov edx, ${tam_string_literal}
34244
+ mov ecx, ${nome_string_literal}
34245
+ mov ebx, 1 ; fd stdout
34246
+ mov eax, 4 ; sys_write
34247
+ int 0x80`;
34248
+ }
34249
+ else {
34250
+ // Windows: prototype `extern printf` and follow Win64 calling convention
34251
+ // RCX = format pointer; here we use the literal directly as a C string
34252
+ this.text += `
34253
+ lea rcx, [rel ${nome_string_literal}]
34254
+ call printf`;
34255
+ }
34256
+ }
34257
+ saidaSistema() {
34258
+ if (this.alvo === 'linux') {
34259
+ this.text += `
34260
+ mov eax, 1 ; sys_exit
34261
+ xor ebx, ebx ; status 0
34262
+ int 0x80`;
34263
+ }
34264
+ else {
34265
+ // Windows: return from main with 0 in EAX
34266
+ this.text += `
34267
+ xor eax, eax
34268
+ ret`;
34269
+ }
34270
+ }
34271
+ traduzir(declaracoes) {
34272
+ let resultado = '';
34273
+ this.declaracoesDeClasses = declaracoes.filter((declaracao) => declaracao instanceof declaracoes_1.Classe);
34274
+ for (const declaracao of declaracoes) {
34275
+ if (this.dicionarioDeclaracoes[declaracao.constructor.name]) {
34276
+ this.dicionarioDeclaracoes[declaracao.constructor.name](declaracao);
34277
+ }
34278
+ }
34279
+ this.saidaSistema();
34280
+ resultado += this.bss + '\n' + this.data + '\n' + this.text;
34281
+ return resultado;
34282
+ }
34283
+ }
34284
+ exports.TradutorAssemblyX64 = TradutorAssemblyX64;
34285
+
34286
+ },{"../construtos":51,"../declaracoes":96}],208:[function(require,module,exports){
32727
34287
  "use strict";
32728
34288
  var __importDefault = (this && this.__importDefault) || function (mod) {
32729
34289
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -33358,7 +34918,7 @@ class TradutorAssemblyScript {
33358
34918
  }
33359
34919
  exports.TradutorAssemblyScript = TradutorAssemblyScript;
33360
34920
 
33361
- },{"../construtos":51,"../declaracoes":96,"../tipos-de-simbolos/delegua":190}],202:[function(require,module,exports){
34921
+ },{"../construtos":51,"../declaracoes":96,"../tipos-de-simbolos/delegua":190}],209:[function(require,module,exports){
33362
34922
  "use strict";
33363
34923
  Object.defineProperty(exports, "__esModule", { value: true });
33364
34924
  exports.TradutorCalango = void 0;
@@ -33420,7 +34980,7 @@ class TradutorCalango {
33420
34980
  }
33421
34981
  exports.TradutorCalango = TradutorCalango;
33422
34982
 
33423
- },{"../avaliador-sintatico/dialetos/avaliador-sintatico-calango":4,"../lexador/dialetos":162}],203:[function(require,module,exports){
34983
+ },{"../avaliador-sintatico/dialetos/avaliador-sintatico-calango":4,"../lexador/dialetos":162}],210:[function(require,module,exports){
33424
34984
  "use strict";
33425
34985
  var __importDefault = (this && this.__importDefault) || function (mod) {
33426
34986
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -34173,7 +35733,7 @@ class TradutorJavaScript {
34173
35733
  }
34174
35734
  exports.TradutorJavaScript = TradutorJavaScript;
34175
35735
 
34176
- },{"../construtos":51,"../declaracoes":96,"../tipos-de-simbolos/delegua":190}],204:[function(require,module,exports){
35736
+ },{"../construtos":51,"../declaracoes":96,"../tipos-de-simbolos/delegua":190}],211:[function(require,module,exports){
34177
35737
  "use strict";
34178
35738
  var __importDefault = (this && this.__importDefault) || function (mod) {
34179
35739
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -34181,23 +35741,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
34181
35741
  Object.defineProperty(exports, "__esModule", { value: true });
34182
35742
  exports.TradutorMermaidJs = void 0;
34183
35743
  const delegua_1 = __importDefault(require("../tipos-de-simbolos/delegua"));
34184
- class ArestaFluxograma {
34185
- constructor(declaracao, texto) {
34186
- this.declaracao = declaracao;
34187
- this.texto = texto;
34188
- }
34189
- }
34190
- class VerticeFluxograma {
34191
- constructor(origem, destino, texto) {
34192
- this.origem = origem;
34193
- this.destino = destino;
34194
- this.texto = texto;
34195
- }
34196
- paraTexto() {
34197
- const seta = this.texto ? `-->|${this.texto}|` : '-->';
34198
- return ` ${this.origem.texto}${seta}${this.destino.texto};\n`;
34199
- }
34200
- }
35744
+ const mermaid_1 = require("./mermaid");
34201
35745
  /**
34202
35746
  * [MermaidJs](https://mermaid.js.org/) é uma especificação que nos permite
34203
35747
  * criar fluxogramas através de uma notação por texto.
@@ -34224,7 +35768,8 @@ class TradutorMermaidJs {
34224
35768
  ComentarioComoConstruto: () => '',
34225
35769
  DefinirValor: this.traduzirConstrutoDefinirValor.bind(this),
34226
35770
  Dicionario: this.traduzirConstrutoDicionario.bind(this),
34227
- FuncaoConstruto: this.traduzirFuncaoConstruto.bind(this),
35771
+ // FuncaoConstruto: this.traduzirFuncaoConstruto.bind(this),
35772
+ FuncaoConstruto: () => { throw new Error("Fluxogramas de funções ainda não é suportado."); },
34228
35773
  Isto: () => 'this',
34229
35774
  Leia: this.traduzirConstrutoLeia.bind(this),
34230
35775
  Literal: this.traduzirConstrutoLiteral.bind(this),
@@ -34235,6 +35780,8 @@ class TradutorMermaidJs {
34235
35780
  };
34236
35781
  this.dicionarioDeclaracoes = {
34237
35782
  Bloco: this.traduzirDeclaracaoBloco.bind(this),
35783
+ // Classe: this.traduzirDeclaracaoClasse.bind(this),
35784
+ Classe: () => { throw new Error("Fluxogramas de classes ainda não é suportado."); },
34238
35785
  Comentario: () => '',
34239
35786
  Const: this.traduzirDeclaracaoConst.bind(this),
34240
35787
  Enquanto: this.traduzirDeclaracaoEnquanto.bind(this),
@@ -34242,6 +35789,8 @@ class TradutorMermaidJs {
34242
35789
  Expressao: this.traduzirDeclaracaoExpressao.bind(this),
34243
35790
  Escreva: this.traduzirDeclaracaoEscreva.bind(this),
34244
35791
  Fazer: this.traduzirDeclaracaoFazerEnquanto.bind(this),
35792
+ // FuncaoDeclaracao: this.traduzirDeclaracaoFuncao.bind(this),
35793
+ FuncaoDeclaracao: () => { throw new Error("Fluxogramas de funções ainda não é suportado."); },
34245
35794
  Para: this.traduzirDeclaracaoPara.bind(this),
34246
35795
  ParaCada: this.traduzirDeclaracaoParaCada.bind(this),
34247
35796
  Se: this.traduzirDeclaracaoSe.bind(this),
@@ -34315,7 +35864,19 @@ class TradutorMermaidJs {
34315
35864
  return texto;
34316
35865
  }
34317
35866
  traduzirFuncaoConstruto(funcaoConstruto) {
34318
- return `função`;
35867
+ let vertices = [];
35868
+ if (funcaoConstruto.corpo && funcaoConstruto.corpo.length > 0) {
35869
+ for (const declaracaoCorpo of funcaoConstruto.corpo) {
35870
+ // Usa o mesmo caminho de outras declarações,
35871
+ // então todas as arestas passam por logicaComumConexaoArestas.
35872
+ const verticesCorpo = this.dicionarioDeclaracoes[declaracaoCorpo.constructor.name](declaracaoCorpo);
35873
+ vertices = vertices.concat(verticesCorpo);
35874
+ }
35875
+ }
35876
+ /* if (this.anteriores.length > 0) {
35877
+ vertices = vertices.concat(this.anteriores)
35878
+ } */
35879
+ return vertices;
34319
35880
  }
34320
35881
  traduzirConstrutoLeia(leia) {
34321
35882
  let texto = 'leia da entrada';
@@ -34375,7 +35936,7 @@ class TradutorMermaidJs {
34375
35936
  textoVertice = String(this.ultimaDicaVertice);
34376
35937
  this.ultimaDicaVertice = undefined;
34377
35938
  }
34378
- vertices.push(new VerticeFluxograma(anterior, aresta, textoVertice));
35939
+ vertices.push(new mermaid_1.VerticeFluxograma(anterior, aresta, textoVertice));
34379
35940
  }
34380
35941
  return vertices;
34381
35942
  }
@@ -34387,10 +35948,45 @@ class TradutorMermaidJs {
34387
35948
  }
34388
35949
  return vertices;
34389
35950
  }
35951
+ traduzirDeclaracaoClasse(declaracaoClasse) {
35952
+ const nomeClasse = declaracaoClasse.simbolo.lexema;
35953
+ const superClasse = declaracaoClasse.superClasse
35954
+ ? declaracaoClasse.superClasse.nome.lexema
35955
+ : undefined;
35956
+ // Cria o diagrama de classe
35957
+ const diagramaClasse = new mermaid_1.DiagramaClasse(nomeClasse, superClasse);
35958
+ // Adiciona métodos ao diagrama
35959
+ if (declaracaoClasse.metodos && declaracaoClasse.metodos.length > 0) {
35960
+ for (const metodo of declaracaoClasse.metodos) {
35961
+ const parametros = [];
35962
+ if (metodo.funcao.parametros && metodo.funcao.parametros.length > 0) {
35963
+ for (const param of metodo.funcao.parametros) {
35964
+ const nomeParam = param.nome.lexema;
35965
+ const tipoParam = param.tipoDado || 'qualquer';
35966
+ parametros.push(`${nomeParam}: ${tipoParam}`);
35967
+ }
35968
+ }
35969
+ const tipoRetorno = metodo.funcao.tipo;
35970
+ diagramaClasse.metodos.push({
35971
+ nome: metodo.simbolo.lexema,
35972
+ parametros,
35973
+ tipoRetorno
35974
+ });
35975
+ }
35976
+ }
35977
+ // Adiciona o diagrama à lista
35978
+ this.diagramasClasses.push(diagramaClasse);
35979
+ // No fluxograma principal, apenas mostra a definição da classe
35980
+ const texto = `Linha${declaracaoClasse.linha}[Classe ${nomeClasse}${superClasse ? ` herda ${superClasse}` : ''}]`;
35981
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoClasse, texto);
35982
+ const vertices = this.logicaComumConexaoArestas(aresta);
35983
+ this.anteriores.push(aresta);
35984
+ return vertices;
35985
+ }
34390
35986
  traduzirDeclaracaoConst(declaracaoConst) {
34391
35987
  let texto = `Linha${declaracaoConst.linha}(variável: ${declaracaoConst.simbolo.lexema}`;
34392
35988
  texto += this.logicaComumTraducaoVarEConst(declaracaoConst, texto);
34393
- const aresta = new ArestaFluxograma(declaracaoConst, texto);
35989
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoConst, texto);
34394
35990
  const vertices = this.logicaComumConexaoArestas(aresta);
34395
35991
  this.anteriores.push(aresta);
34396
35992
  return vertices;
@@ -34399,14 +35995,14 @@ class TradutorMermaidJs {
34399
35995
  let texto = `Linha${declaracaoEnquanto.linha}(enquanto `;
34400
35996
  const condicao = this.dicionarioConstrutos[declaracaoEnquanto.condicao.constructor.name](declaracaoEnquanto.condicao);
34401
35997
  texto += condicao + ')';
34402
- const aresta = new ArestaFluxograma(declaracaoEnquanto, texto);
35998
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoEnquanto, texto);
34403
35999
  let vertices = this.logicaComumConexaoArestas(aresta);
34404
36000
  this.anteriores.push(aresta);
34405
36001
  // Corpo, normalmente um `Bloco`.
34406
36002
  const verticesCorpo = this.dicionarioDeclaracoes[declaracaoEnquanto.corpo.constructor.name](declaracaoEnquanto.corpo);
34407
36003
  vertices = vertices.concat(verticesCorpo);
34408
36004
  const ultimaArestaCorpo = verticesCorpo[verticesCorpo.length - 1].destino;
34409
- const verticeLaco = new VerticeFluxograma(ultimaArestaCorpo, aresta);
36005
+ const verticeLaco = new mermaid_1.VerticeFluxograma(ultimaArestaCorpo, aresta);
34410
36006
  vertices.push(verticeLaco);
34411
36007
  return vertices;
34412
36008
  }
@@ -34425,7 +36021,7 @@ class TradutorMermaidJs {
34425
36021
  textoCaso = `caso ${textoIdentificadorOuLiteral} tenha qualquer outro valor:`;
34426
36022
  }
34427
36023
  let textoCaminho = `Linha${linha}(${textoCaso})`;
34428
- const arestaCondicaoCaminho = new ArestaFluxograma(declaracaoEscolha, textoCaminho);
36024
+ const arestaCondicaoCaminho = new mermaid_1.ArestaFluxograma(declaracaoEscolha, textoCaminho);
34429
36025
  this.anteriores.push(arestaCondicaoCaminho);
34430
36026
  let verticesResolvidos = [];
34431
36027
  for (const declaracaoCaminho of caminhoEscolha.declaracoes) {
@@ -34444,7 +36040,7 @@ class TradutorMermaidJs {
34444
36040
  let texto = `Linha${declaracaoEscolha.linha}(escolha um caminho pelo valor de `;
34445
36041
  const textoIdentificadorOuLiteral = this.dicionarioConstrutos[declaracaoEscolha.identificadorOuLiteral.constructor.name](declaracaoEscolha.identificadorOuLiteral);
34446
36042
  texto += textoIdentificadorOuLiteral + ')';
34447
- const aresta = new ArestaFluxograma(declaracaoEscolha, texto);
36043
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoEscolha, texto);
34448
36044
  let vertices = this.logicaComumConexaoArestas(aresta);
34449
36045
  const arestasCaminho = [];
34450
36046
  for (const caminho of declaracaoEscolha.caminhos) {
@@ -34454,7 +36050,7 @@ class TradutorMermaidJs {
34454
36050
  arestasCaminho.push(this.logicaComumCaminhoEscolha(declaracaoEscolha, declaracaoEscolha.caminhoPadrao, declaracaoEscolha.caminhoPadrao.declaracoes[0].linha - 1, textoIdentificadorOuLiteral, true));
34455
36051
  }
34456
36052
  for (const conjunto of Object.values(arestasCaminho)) {
34457
- const verticeEscolhaECaminho = new VerticeFluxograma(aresta, conjunto.caminho);
36053
+ const verticeEscolhaECaminho = new mermaid_1.VerticeFluxograma(aresta, conjunto.caminho);
34458
36054
  vertices.push(verticeEscolhaECaminho);
34459
36055
  vertices = vertices.concat(conjunto.declaracoesCaminho);
34460
36056
  this.anteriores.push(conjunto.declaracoesCaminho[conjunto.declaracoesCaminho.length - 1].destino);
@@ -34469,7 +36065,7 @@ class TradutorMermaidJs {
34469
36065
  }
34470
36066
  texto = texto.slice(0, -2);
34471
36067
  texto += ')';
34472
- const aresta = new ArestaFluxograma(declaracaoEscreva, texto);
36068
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoEscreva, texto);
34473
36069
  const vertices = this.logicaComumConexaoArestas(aresta);
34474
36070
  this.anteriores.push(aresta);
34475
36071
  return vertices;
@@ -34478,14 +36074,14 @@ class TradutorMermaidJs {
34478
36074
  let texto = `Linha${declaracaoExpressao.linha}(`;
34479
36075
  const textoConstruto = this.dicionarioConstrutos[declaracaoExpressao.expressao.constructor.name](declaracaoExpressao.expressao);
34480
36076
  texto += textoConstruto + ')';
34481
- const aresta = new ArestaFluxograma(declaracaoExpressao, texto);
36077
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoExpressao, texto);
34482
36078
  const vertices = this.logicaComumConexaoArestas(aresta);
34483
36079
  this.anteriores.push(aresta);
34484
36080
  return vertices;
34485
36081
  }
34486
36082
  traduzirDeclaracaoFazerEnquanto(declaracaoFazerEnquanto) {
34487
36083
  const texto = `Linha${declaracaoFazerEnquanto.linha}(fazer)`;
34488
- const aresta = new ArestaFluxograma(declaracaoFazerEnquanto, texto);
36084
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoFazerEnquanto, texto);
34489
36085
  let vertices = this.logicaComumConexaoArestas(aresta);
34490
36086
  this.anteriores.push(aresta);
34491
36087
  // Corpo, normalmente um `Bloco`.
@@ -34494,15 +36090,37 @@ class TradutorMermaidJs {
34494
36090
  const ultimaArestaCorpo = verticesCorpo[verticesCorpo.length - 1].destino;
34495
36091
  const condicao = this.dicionarioConstrutos[declaracaoFazerEnquanto.condicaoEnquanto.constructor.name](declaracaoFazerEnquanto.condicaoEnquanto);
34496
36092
  let textoEnquanto = `Linha${declaracaoFazerEnquanto.condicaoEnquanto.linha}(enquanto ${condicao})`;
34497
- const arestaEnquanto = new ArestaFluxograma(declaracaoFazerEnquanto, textoEnquanto);
34498
- const verticeEnquanto = new VerticeFluxograma(ultimaArestaCorpo, arestaEnquanto);
36093
+ const arestaEnquanto = new mermaid_1.ArestaFluxograma(declaracaoFazerEnquanto, textoEnquanto);
36094
+ const verticeEnquanto = new mermaid_1.VerticeFluxograma(ultimaArestaCorpo, arestaEnquanto);
34499
36095
  vertices.push(verticeEnquanto);
34500
- const verticeCondicaoComFazer = new VerticeFluxograma(arestaEnquanto, aresta);
36096
+ const verticeCondicaoComFazer = new mermaid_1.VerticeFluxograma(arestaEnquanto, aresta);
34501
36097
  vertices.push(verticeCondicaoComFazer);
34502
36098
  this.anteriores.pop();
34503
36099
  this.anteriores.push(arestaEnquanto);
34504
36100
  return vertices;
34505
36101
  }
36102
+ traduzirDeclaracaoFuncao(declaracaoFuncao) {
36103
+ // Gera o corpo como vértices, mas não conecta nada ao fluxo principal
36104
+ const verticesCorpo = this.traduzirFuncaoConstruto(declaracaoFuncao.funcao);
36105
+ if (verticesCorpo.length === 0) {
36106
+ return [];
36107
+ }
36108
+ // Descobre o texto dos nós do corpo
36109
+ let textoSubgraph = `subgraph função ${declaracaoFuncao.simbolo.lexema}\n`;
36110
+ for (const vertice of verticesCorpo) {
36111
+ textoSubgraph += vertice.paraTexto();
36112
+ }
36113
+ textoSubgraph += `end;\n`;
36114
+ // Armazena o subgraph para imprimir depois de graph TD;
36115
+ this.subgrafosFuncoes.push(textoSubgraph);
36116
+ // IMPORTANTE: não altera this.anteriores aqui, para a função
36117
+ // não entrar no fluxo principal. O fluxo principal continua
36118
+ // sendo só as declarações "top-level" (como a chamada em Linha4).
36119
+ // Também não precisa devolver vértices, porque eles já
36120
+ // foram adicionados em this.vertices pelos próprios tradutores
36121
+ // das declarações do corpo (via dicionarioDeclaracoes).
36122
+ return [];
36123
+ }
34506
36124
  traduzirDeclaracaoPara(declaracaoPara) {
34507
36125
  let texto = `Linha${declaracaoPara.linha}(para `;
34508
36126
  if (declaracaoPara.inicializador) {
@@ -34515,13 +36133,13 @@ class TradutorMermaidJs {
34515
36133
  texto = texto.slice(0, -2);
34516
36134
  }
34517
36135
  texto += ')';
34518
- const aresta = new ArestaFluxograma(declaracaoPara, texto);
36136
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoPara, texto);
34519
36137
  let vertices = this.logicaComumConexaoArestas(aresta);
34520
36138
  this.anteriores.push(aresta);
34521
36139
  // Condição
34522
36140
  const textoCondicao = this.dicionarioConstrutos[declaracaoPara.condicao.constructor.name](declaracaoPara.condicao);
34523
36141
  const textoArestaCondicao = `Linha${declaracaoPara.linha}Condicao{se ${textoCondicao}}`;
34524
- const arestaCondicao = new ArestaFluxograma(declaracaoPara, textoArestaCondicao);
36142
+ const arestaCondicao = new mermaid_1.ArestaFluxograma(declaracaoPara, textoArestaCondicao);
34525
36143
  vertices = vertices.concat(this.logicaComumConexaoArestas(arestaCondicao));
34526
36144
  this.anteriores.push(arestaCondicao);
34527
36145
  this.ultimaDicaVertice = 'Sim';
@@ -34531,10 +36149,10 @@ class TradutorMermaidJs {
34531
36149
  // Incremento
34532
36150
  const ultimaArestaCorpo = verticesCorpo[verticesCorpo.length - 1].destino;
34533
36151
  const textoIncremento = this.dicionarioConstrutos[declaracaoPara.incrementar.constructor.name](declaracaoPara.incrementar);
34534
- const arestaIncremento = new ArestaFluxograma(declaracaoPara, `Linha${declaracaoPara.linha}Incremento(${textoIncremento})`);
34535
- const verticeIncremento = new VerticeFluxograma(ultimaArestaCorpo, arestaIncremento);
36152
+ const arestaIncremento = new mermaid_1.ArestaFluxograma(declaracaoPara, `Linha${declaracaoPara.linha}Incremento(${textoIncremento})`);
36153
+ const verticeIncremento = new mermaid_1.VerticeFluxograma(ultimaArestaCorpo, arestaIncremento);
34536
36154
  vertices.push(verticeIncremento);
34537
- const verticeLaco = new VerticeFluxograma(arestaIncremento, arestaCondicao);
36155
+ const verticeLaco = new mermaid_1.VerticeFluxograma(arestaIncremento, arestaCondicao);
34538
36156
  vertices.push(verticeLaco);
34539
36157
  // Configura a condição como anterior
34540
36158
  this.anteriores.pop();
@@ -34547,14 +36165,14 @@ class TradutorMermaidJs {
34547
36165
  let texto = `Linha${declaracaoParaCada.linha}(para cada ${textoVariavelIteracao} em `;
34548
36166
  const textoVariavelIterada = this.dicionarioConstrutos[declaracaoParaCada.vetorOuDicionario.constructor.name](declaracaoParaCada.vetorOuDicionario);
34549
36167
  texto += textoVariavelIterada + ')';
34550
- const aresta = new ArestaFluxograma(declaracaoParaCada, texto);
36168
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoParaCada, texto);
34551
36169
  let vertices = this.logicaComumConexaoArestas(aresta);
34552
36170
  this.anteriores.push(aresta);
34553
36171
  // Corpo, normalmente um `Bloco`.
34554
36172
  const verticesCorpo = this.dicionarioDeclaracoes[declaracaoParaCada.corpo.constructor.name](declaracaoParaCada.corpo);
34555
36173
  vertices = vertices.concat(verticesCorpo);
34556
36174
  const ultimaArestaCorpo = verticesCorpo[verticesCorpo.length - 1].destino;
34557
- vertices.push(new VerticeFluxograma(ultimaArestaCorpo, aresta));
36175
+ vertices.push(new mermaid_1.VerticeFluxograma(ultimaArestaCorpo, aresta));
34558
36176
  return vertices;
34559
36177
  }
34560
36178
  traduzirDeclaracaoSe(declaracaoSe) {
@@ -34562,7 +36180,7 @@ class TradutorMermaidJs {
34562
36180
  const condicao = this.dicionarioConstrutos[declaracaoSe.condicao.constructor.name](declaracaoSe.condicao);
34563
36181
  texto += condicao;
34564
36182
  texto += `}`;
34565
- const aresta = new ArestaFluxograma(declaracaoSe, texto);
36183
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoSe, texto);
34566
36184
  let vertices = this.logicaComumConexaoArestas(aresta);
34567
36185
  this.anteriores.push(aresta);
34568
36186
  this.ultimaDicaVertice = 'Sim';
@@ -34572,8 +36190,8 @@ class TradutorMermaidJs {
34572
36190
  const ultimaArestaEntao = verticesEntao[verticesEntao.length - 1].destino;
34573
36191
  if (declaracaoSe.caminhoSenao) {
34574
36192
  this.anteriores = [];
34575
- const arestaSenao = new ArestaFluxograma(declaracaoSe, `Linha${declaracaoSe.caminhoSenao.linha}(senão)`);
34576
- vertices.push(new VerticeFluxograma(aresta, arestaSenao, 'Não'));
36193
+ const arestaSenao = new mermaid_1.ArestaFluxograma(declaracaoSe, `Linha${declaracaoSe.caminhoSenao.linha}(senão)`);
36194
+ vertices.push(new mermaid_1.VerticeFluxograma(aresta, arestaSenao, 'Não'));
34577
36195
  this.anteriores.push(arestaSenao);
34578
36196
  const verticesSenao = this.dicionarioDeclaracoes[declaracaoSe.caminhoSenao.constructor.name](declaracaoSe.caminhoSenao);
34579
36197
  vertices = vertices.concat(verticesSenao);
@@ -34591,7 +36209,7 @@ class TradutorMermaidJs {
34591
36209
  traduzirDeclaracaoVar(declaracaoVar) {
34592
36210
  let texto = `Linha${declaracaoVar.linha}(variável: ${declaracaoVar.simbolo.lexema}`;
34593
36211
  texto += this.logicaComumTraducaoVarEConst(declaracaoVar, texto);
34594
- const aresta = new ArestaFluxograma(declaracaoVar, texto);
36212
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoVar, texto);
34595
36213
  const vertices = this.logicaComumConexaoArestas(aresta);
34596
36214
  this.anteriores.push(aresta);
34597
36215
  return vertices;
@@ -34600,9 +36218,15 @@ class TradutorMermaidJs {
34600
36218
  this.anteriores = [];
34601
36219
  this.vertices = [];
34602
36220
  let resultado = 'graph TD;\n';
36221
+ this.subgrafosFuncoes = [];
34603
36222
  for (const declaracao of declaracoes) {
34604
36223
  this.vertices = this.vertices.concat(this.dicionarioDeclaracoes[declaracao.constructor.name](declaracao));
34605
36224
  }
36225
+ if (this.subgrafosFuncoes.length > 0) {
36226
+ for (const sub of this.subgrafosFuncoes) {
36227
+ resultado += sub;
36228
+ }
36229
+ }
34606
36230
  if (this.vertices.length === 0 && this.anteriores.length === 0) {
34607
36231
  resultado += ` Vazio;\n`;
34608
36232
  }
@@ -34627,7 +36251,7 @@ class TradutorMermaidJs {
34627
36251
  }
34628
36252
  exports.TradutorMermaidJs = TradutorMermaidJs;
34629
36253
 
34630
- },{"../tipos-de-simbolos/delegua":190}],205:[function(require,module,exports){
36254
+ },{"../tipos-de-simbolos/delegua":190,"./mermaid":201}],212:[function(require,module,exports){
34631
36255
  "use strict";
34632
36256
  Object.defineProperty(exports, "__esModule", { value: true });
34633
36257
  exports.TradutorPortugolIpt = void 0;
@@ -34689,7 +36313,7 @@ class TradutorPortugolIpt {
34689
36313
  }
34690
36314
  exports.TradutorPortugolIpt = TradutorPortugolIpt;
34691
36315
 
34692
- },{"../avaliador-sintatico/dialetos":10,"../lexador/dialetos":162}],206:[function(require,module,exports){
36316
+ },{"../avaliador-sintatico/dialetos":10,"../lexador/dialetos":162}],213:[function(require,module,exports){
34693
36317
  "use strict";
34694
36318
  var __importDefault = (this && this.__importDefault) || function (mod) {
34695
36319
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -35338,7 +36962,7 @@ class TradutorPython {
35338
36962
  }
35339
36963
  exports.TradutorPython = TradutorPython;
35340
36964
 
35341
- },{"../construtos":51,"../declaracoes":96,"../tipos-de-simbolos/delegua":190}],207:[function(require,module,exports){
36965
+ },{"../construtos":51,"../declaracoes":96,"../tipos-de-simbolos/delegua":190}],214:[function(require,module,exports){
35342
36966
  "use strict";
35343
36967
  Object.defineProperty(exports, "__esModule", { value: true });
35344
36968
  exports.TradutorReversoJavaScript = void 0;
@@ -35735,7 +37359,7 @@ class TradutorReversoJavaScript {
35735
37359
  }
35736
37360
  exports.TradutorReversoJavaScript = TradutorReversoJavaScript;
35737
37361
 
35738
- },{}],208:[function(require,module,exports){
37362
+ },{}],215:[function(require,module,exports){
35739
37363
  "use strict";
35740
37364
  Object.defineProperty(exports, "__esModule", { value: true });
35741
37365
  exports.TradutorReversoPython = void 0;
@@ -35808,7 +37432,7 @@ class TradutorReversoPython {
35808
37432
  }
35809
37433
  exports.TradutorReversoPython = TradutorReversoPython;
35810
37434
 
35811
- },{"./python/python3-lexer":199,"./python/python3-parser":200,"antlr4ts":325,"antlr4ts/tree/ParseTreeWalker":344}],209:[function(require,module,exports){
37435
+ },{"./python/python3-lexer":204,"./python/python3-parser":205,"antlr4ts":332,"antlr4ts/tree/ParseTreeWalker":351}],216:[function(require,module,exports){
35812
37436
  "use strict";
35813
37437
  var __importDefault = (this && this.__importDefault) || function (mod) {
35814
37438
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -36402,7 +38026,7 @@ class TradutorReversoTenda {
36402
38026
  }
36403
38027
  exports.TradutorReversoTenda = TradutorReversoTenda;
36404
38028
 
36405
- },{"../construtos":51,"../tipos-de-simbolos/tenda":197}],210:[function(require,module,exports){
38029
+ },{"../construtos":51,"../tipos-de-simbolos/tenda":197}],217:[function(require,module,exports){
36406
38030
  "use strict";
36407
38031
  /*!
36408
38032
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -36410,7 +38034,7 @@ exports.TradutorReversoTenda = TradutorReversoTenda;
36410
38034
  */
36411
38035
  Object.defineProperty(exports, "__esModule", { value: true });
36412
38036
 
36413
- },{}],211:[function(require,module,exports){
38037
+ },{}],218:[function(require,module,exports){
36414
38038
  "use strict";
36415
38039
  /*!
36416
38040
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -36418,7 +38042,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36418
38042
  */
36419
38043
  Object.defineProperty(exports, "__esModule", { value: true });
36420
38044
 
36421
- },{}],212:[function(require,module,exports){
38045
+ },{}],219:[function(require,module,exports){
36422
38046
  "use strict";
36423
38047
  /*!
36424
38048
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -36580,7 +38204,7 @@ __decorate([
36580
38204
  ], ANTLRInputStream.prototype, "toString", null);
36581
38205
  exports.ANTLRInputStream = ANTLRInputStream;
36582
38206
 
36583
- },{"./Decorators":223,"./IntStream":229,"assert":366}],213:[function(require,module,exports){
38207
+ },{"./Decorators":230,"./IntStream":236,"assert":373}],220:[function(require,module,exports){
36584
38208
  "use strict";
36585
38209
  /*!
36586
38210
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -36663,7 +38287,7 @@ __decorate([
36663
38287
  ], BailErrorStrategy.prototype, "sync", null);
36664
38288
  exports.BailErrorStrategy = BailErrorStrategy;
36665
38289
 
36666
- },{"./Decorators":223,"./DefaultErrorStrategy":224,"./InputMismatchException":228,"./misc/ParseCancellationException":340}],214:[function(require,module,exports){
38290
+ },{"./Decorators":230,"./DefaultErrorStrategy":231,"./InputMismatchException":235,"./misc/ParseCancellationException":347}],221:[function(require,module,exports){
36667
38291
  "use strict";
36668
38292
  /*!
36669
38293
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37153,7 +38777,7 @@ BufferedTokenStream = __decorate([
37153
38777
  ], BufferedTokenStream);
37154
38778
  exports.BufferedTokenStream = BufferedTokenStream;
37155
38779
 
37156
- },{"./CommonToken":219,"./Decorators":223,"./Lexer":231,"./Token":248,"./misc/Interval":335,"assert":366}],215:[function(require,module,exports){
38780
+ },{"./CommonToken":226,"./Decorators":230,"./Lexer":238,"./Token":255,"./misc/Interval":342,"assert":373}],222:[function(require,module,exports){
37157
38781
  "use strict";
37158
38782
  /*!
37159
38783
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37161,7 +38785,7 @@ exports.BufferedTokenStream = BufferedTokenStream;
37161
38785
  */
37162
38786
  Object.defineProperty(exports, "__esModule", { value: true });
37163
38787
 
37164
- },{}],216:[function(require,module,exports){
38788
+ },{}],223:[function(require,module,exports){
37165
38789
  "use strict";
37166
38790
  /*!
37167
38791
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37295,7 +38919,7 @@ var CharStreams;
37295
38919
  // }
37296
38920
  })(CharStreams = exports.CharStreams || (exports.CharStreams = {}));
37297
38921
 
37298
- },{"./CodePointBuffer":217,"./CodePointCharStream":218,"./IntStream":229}],217:[function(require,module,exports){
38922
+ },{"./CodePointBuffer":224,"./CodePointCharStream":225,"./IntStream":236}],224:[function(require,module,exports){
37299
38923
  "use strict";
37300
38924
  /*!
37301
38925
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37530,7 +39154,7 @@ exports.CodePointBuffer = CodePointBuffer;
37530
39154
  CodePointBuffer.Builder = Builder;
37531
39155
  })(CodePointBuffer = exports.CodePointBuffer || (exports.CodePointBuffer = {}));
37532
39156
 
37533
- },{"./misc/Character":331,"assert":366}],218:[function(require,module,exports){
39157
+ },{"./misc/Character":338,"assert":373}],225:[function(require,module,exports){
37534
39158
  "use strict";
37535
39159
  /*!
37536
39160
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37680,7 +39304,7 @@ __decorate([
37680
39304
  ], CodePointCharStream.prototype, "getText", null);
37681
39305
  exports.CodePointCharStream = CodePointCharStream;
37682
39306
 
37683
- },{"./Decorators":223,"./IntStream":229,"./misc/Interval":335,"assert":366}],219:[function(require,module,exports){
39307
+ },{"./Decorators":230,"./IntStream":236,"./misc/Interval":342,"assert":373}],226:[function(require,module,exports){
37684
39308
  "use strict";
37685
39309
  /*!
37686
39310
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37910,7 +39534,7 @@ CommonToken = __decorate([
37910
39534
  ], CommonToken);
37911
39535
  exports.CommonToken = CommonToken;
37912
39536
 
37913
- },{"./Decorators":223,"./Token":248,"./misc/Interval":335}],220:[function(require,module,exports){
39537
+ },{"./Decorators":230,"./Token":255,"./misc/Interval":342}],227:[function(require,module,exports){
37914
39538
  "use strict";
37915
39539
  /*!
37916
39540
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -37974,7 +39598,7 @@ exports.CommonTokenFactory = CommonTokenFactory;
37974
39598
  CommonTokenFactory.DEFAULT = new CommonTokenFactory();
37975
39599
  })(CommonTokenFactory = exports.CommonTokenFactory || (exports.CommonTokenFactory = {}));
37976
39600
 
37977
- },{"./CommonToken":219,"./Decorators":223,"./misc/Interval":335}],221:[function(require,module,exports){
39601
+ },{"./CommonToken":226,"./Decorators":230,"./misc/Interval":342}],228:[function(require,module,exports){
37978
39602
  "use strict";
37979
39603
  /*!
37980
39604
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -38101,7 +39725,7 @@ CommonTokenStream = __decorate([
38101
39725
  ], CommonTokenStream);
38102
39726
  exports.CommonTokenStream = CommonTokenStream;
38103
39727
 
38104
- },{"./BufferedTokenStream":214,"./Decorators":223,"./Token":248}],222:[function(require,module,exports){
39728
+ },{"./BufferedTokenStream":221,"./Decorators":230,"./Token":255}],229:[function(require,module,exports){
38105
39729
  "use strict";
38106
39730
  /*!
38107
39731
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -38135,7 +39759,7 @@ exports.ConsoleErrorListener = ConsoleErrorListener;
38135
39759
  */
38136
39760
  ConsoleErrorListener.INSTANCE = new ConsoleErrorListener();
38137
39761
 
38138
- },{}],223:[function(require,module,exports){
39762
+ },{}],230:[function(require,module,exports){
38139
39763
  "use strict";
38140
39764
  /*!
38141
39765
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -38162,7 +39786,7 @@ function SuppressWarnings(options) {
38162
39786
  }
38163
39787
  exports.SuppressWarnings = SuppressWarnings;
38164
39788
 
38165
- },{}],224:[function(require,module,exports){
39789
+ },{}],231:[function(require,module,exports){
38166
39790
  "use strict";
38167
39791
  /*!
38168
39792
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -38976,7 +40600,7 @@ __decorate([
38976
40600
  ], DefaultErrorStrategy.prototype, "consumeUntil", null);
38977
40601
  exports.DefaultErrorStrategy = DefaultErrorStrategy;
38978
40602
 
38979
- },{"./Decorators":223,"./FailedPredicateException":227,"./InputMismatchException":228,"./NoViableAltException":235,"./Token":248,"./atn/ATNState":262,"./atn/ATNStateType":263,"./atn/PredictionContext":303,"./misc/IntervalSet":336}],225:[function(require,module,exports){
40603
+ },{"./Decorators":230,"./FailedPredicateException":234,"./InputMismatchException":235,"./NoViableAltException":242,"./Token":255,"./atn/ATNState":269,"./atn/ATNStateType":270,"./atn/PredictionContext":310,"./misc/IntervalSet":343}],232:[function(require,module,exports){
38980
40604
  "use strict";
38981
40605
  /*!
38982
40606
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39052,7 +40676,7 @@ var Dependents;
39052
40676
  Dependents[Dependents["FOLLOWING"] = 9] = "FOLLOWING";
39053
40677
  })(Dependents = exports.Dependents || (exports.Dependents = {}));
39054
40678
 
39055
- },{}],226:[function(require,module,exports){
40679
+ },{}],233:[function(require,module,exports){
39056
40680
  "use strict";
39057
40681
  /*!
39058
40682
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39200,7 +40824,7 @@ __decorate([
39200
40824
  ], DiagnosticErrorListener.prototype, "getConflictingAlts", null);
39201
40825
  exports.DiagnosticErrorListener = DiagnosticErrorListener;
39202
40826
 
39203
- },{"./Decorators":223,"./misc/BitSet":330,"./misc/Interval":335}],227:[function(require,module,exports){
40827
+ },{"./Decorators":230,"./misc/BitSet":337,"./misc/Interval":342}],234:[function(require,module,exports){
39204
40828
  "use strict";
39205
40829
  /*!
39206
40830
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39265,7 +40889,7 @@ FailedPredicateException = __decorate([
39265
40889
  ], FailedPredicateException);
39266
40890
  exports.FailedPredicateException = FailedPredicateException;
39267
40891
 
39268
- },{"./Decorators":223,"./RecognitionException":242,"./atn/PredicateTransition":302}],228:[function(require,module,exports){
40892
+ },{"./Decorators":230,"./RecognitionException":249,"./atn/PredicateTransition":309}],235:[function(require,module,exports){
39269
40893
  "use strict";
39270
40894
  /*!
39271
40895
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39305,7 +40929,7 @@ InputMismatchException = __decorate([
39305
40929
  ], InputMismatchException);
39306
40930
  exports.InputMismatchException = InputMismatchException;
39307
40931
 
39308
- },{"./Decorators":223,"./RecognitionException":242}],229:[function(require,module,exports){
40932
+ },{"./Decorators":230,"./RecognitionException":249}],236:[function(require,module,exports){
39309
40933
  "use strict";
39310
40934
  /*!
39311
40935
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39328,7 +40952,7 @@ var IntStream;
39328
40952
  IntStream.UNKNOWN_SOURCE_NAME = "<unknown>";
39329
40953
  })(IntStream = exports.IntStream || (exports.IntStream = {}));
39330
40954
 
39331
- },{}],230:[function(require,module,exports){
40955
+ },{}],237:[function(require,module,exports){
39332
40956
  "use strict";
39333
40957
  /*!
39334
40958
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39375,7 +40999,7 @@ __decorate([
39375
40999
  ], InterpreterRuleContext.prototype, "ruleIndex", null);
39376
41000
  exports.InterpreterRuleContext = InterpreterRuleContext;
39377
41001
 
39378
- },{"./Decorators":223,"./ParserRuleContext":239}],231:[function(require,module,exports){
41002
+ },{"./Decorators":230,"./ParserRuleContext":246}],238:[function(require,module,exports){
39379
41003
  "use strict";
39380
41004
  /*!
39381
41005
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39711,7 +41335,7 @@ __decorate([
39711
41335
  ], Lexer.prototype, "charPositionInLine", null);
39712
41336
  exports.Lexer = Lexer;
39713
41337
 
39714
- },{"./CommonTokenFactory":220,"./Decorators":223,"./IntStream":229,"./LexerNoViableAltException":233,"./Recognizer":243,"./Token":248,"./atn/LexerATNSimulator":281,"./misc/IntegerStack":334,"./misc/Interval":335}],232:[function(require,module,exports){
41338
+ },{"./CommonTokenFactory":227,"./Decorators":230,"./IntStream":236,"./LexerNoViableAltException":240,"./Recognizer":250,"./Token":255,"./atn/LexerATNSimulator":288,"./misc/IntegerStack":341,"./misc/Interval":342}],239:[function(require,module,exports){
39715
41339
  "use strict";
39716
41340
  /*!
39717
41341
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39791,7 +41415,7 @@ LexerInterpreter = __decorate([
39791
41415
  ], LexerInterpreter);
39792
41416
  exports.LexerInterpreter = LexerInterpreter;
39793
41417
 
39794
- },{"./Decorators":223,"./Lexer":231,"./atn/LexerATNSimulator":281}],233:[function(require,module,exports){
41418
+ },{"./Decorators":230,"./Lexer":238,"./atn/LexerATNSimulator":288}],240:[function(require,module,exports){
39795
41419
  "use strict";
39796
41420
  /*!
39797
41421
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -39848,7 +41472,7 @@ LexerNoViableAltException = __decorate([
39848
41472
  ], LexerNoViableAltException);
39849
41473
  exports.LexerNoViableAltException = LexerNoViableAltException;
39850
41474
 
39851
- },{"./Decorators":223,"./RecognitionException":242,"./misc/Interval":335,"./misc/Utils":342}],234:[function(require,module,exports){
41475
+ },{"./Decorators":230,"./RecognitionException":249,"./misc/Interval":342,"./misc/Utils":349}],241:[function(require,module,exports){
39852
41476
  "use strict";
39853
41477
  /*!
39854
41478
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -40058,7 +41682,7 @@ ListTokenSource = __decorate([
40058
41682
  ], ListTokenSource);
40059
41683
  exports.ListTokenSource = ListTokenSource;
40060
41684
 
40061
- },{"./CommonTokenFactory":220,"./Decorators":223,"./Token":248}],235:[function(require,module,exports){
41685
+ },{"./CommonTokenFactory":227,"./Decorators":230,"./Token":255}],242:[function(require,module,exports){
40062
41686
  "use strict";
40063
41687
  /*!
40064
41688
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -40113,7 +41737,7 @@ __decorate([
40113
41737
  ], NoViableAltException.prototype, "_startToken", void 0);
40114
41738
  exports.NoViableAltException = NoViableAltException;
40115
41739
 
40116
- },{"./Decorators":223,"./Parser":236,"./RecognitionException":242}],236:[function(require,module,exports){
41740
+ },{"./Decorators":230,"./Parser":243,"./RecognitionException":249}],243:[function(require,module,exports){
40117
41741
  (function (process){(function (){
40118
41742
  "use strict";
40119
41743
  /*!
@@ -40959,7 +42583,7 @@ __decorate([
40959
42583
  exports.Parser = Parser;
40960
42584
 
40961
42585
  }).call(this)}).call(this,require('_process'))
40962
- },{"./Decorators":223,"./DefaultErrorStrategy":224,"./Lexer":231,"./ProxyParserErrorListener":241,"./Recognizer":243,"./Token":248,"./atn/ATNDeserializationOptions":259,"./atn/ATNDeserializer":260,"./atn/ParseInfo":296,"./atn/ParserATNSimulator":297,"./atn/ProfilingATNSimulator":306,"./misc/IntegerStack":334,"./misc/Utils":342,"./tree/ErrorNode":343,"./tree/TerminalNode":346,"./tree/pattern/ParseTreePatternMatcher":351,"_process":425}],237:[function(require,module,exports){
42586
+ },{"./Decorators":230,"./DefaultErrorStrategy":231,"./Lexer":238,"./ProxyParserErrorListener":248,"./Recognizer":250,"./Token":255,"./atn/ATNDeserializationOptions":266,"./atn/ATNDeserializer":267,"./atn/ParseInfo":303,"./atn/ParserATNSimulator":304,"./atn/ProfilingATNSimulator":313,"./misc/IntegerStack":341,"./misc/Utils":349,"./tree/ErrorNode":350,"./tree/TerminalNode":353,"./tree/pattern/ParseTreePatternMatcher":358,"_process":432}],244:[function(require,module,exports){
40963
42587
  "use strict";
40964
42588
  /*!
40965
42589
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -40967,7 +42591,7 @@ exports.Parser = Parser;
40967
42591
  */
40968
42592
  Object.defineProperty(exports, "__esModule", { value: true });
40969
42593
 
40970
- },{}],238:[function(require,module,exports){
42594
+ },{}],245:[function(require,module,exports){
40971
42595
  "use strict";
40972
42596
  /*!
40973
42597
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -41375,7 +42999,7 @@ ParserInterpreter = __decorate([
41375
42999
  ], ParserInterpreter);
41376
43000
  exports.ParserInterpreter = ParserInterpreter;
41377
43001
 
41378
- },{"./Decorators":223,"./FailedPredicateException":227,"./InputMismatchException":228,"./InterpreterRuleContext":230,"./Parser":236,"./RecognitionException":242,"./Token":248,"./atn/ATNState":262,"./atn/ATNStateType":263,"./atn/LoopEndState":293,"./atn/ParserATNSimulator":297,"./atn/StarLoopEntryState":315,"./misc/BitSet":330}],239:[function(require,module,exports){
43002
+ },{"./Decorators":230,"./FailedPredicateException":234,"./InputMismatchException":235,"./InterpreterRuleContext":237,"./Parser":243,"./RecognitionException":249,"./Token":255,"./atn/ATNState":269,"./atn/ATNStateType":270,"./atn/LoopEndState":300,"./atn/ParserATNSimulator":304,"./atn/StarLoopEntryState":322,"./misc/BitSet":337}],246:[function(require,module,exports){
41379
43003
  "use strict";
41380
43004
  /*!
41381
43005
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -41676,7 +43300,7 @@ __decorate([
41676
43300
  ], ParserRuleContext.prototype, "sourceInterval", null);
41677
43301
  exports.ParserRuleContext = ParserRuleContext;
41678
43302
 
41679
- },{"./Decorators":223,"./RuleContext":244,"./misc/Interval":335,"./tree/ErrorNode":343,"./tree/TerminalNode":346}],240:[function(require,module,exports){
43303
+ },{"./Decorators":230,"./RuleContext":251,"./misc/Interval":342,"./tree/ErrorNode":350,"./tree/TerminalNode":353}],247:[function(require,module,exports){
41680
43304
  "use strict";
41681
43305
  /*!
41682
43306
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -41726,7 +43350,7 @@ __decorate([
41726
43350
  ], ProxyErrorListener.prototype, "syntaxError", null);
41727
43351
  exports.ProxyErrorListener = ProxyErrorListener;
41728
43352
 
41729
- },{"./Decorators":223}],241:[function(require,module,exports){
43353
+ },{"./Decorators":230}],248:[function(require,module,exports){
41730
43354
  "use strict";
41731
43355
  /*!
41732
43356
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -41785,7 +43409,7 @@ __decorate([
41785
43409
  ], ProxyParserErrorListener.prototype, "reportContextSensitivity", null);
41786
43410
  exports.ProxyParserErrorListener = ProxyParserErrorListener;
41787
43411
 
41788
- },{"./Decorators":223,"./ProxyErrorListener":240}],242:[function(require,module,exports){
43412
+ },{"./Decorators":230,"./ProxyErrorListener":247}],249:[function(require,module,exports){
41789
43413
  "use strict";
41790
43414
  /*!
41791
43415
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -41890,7 +43514,7 @@ class RecognitionException extends Error {
41890
43514
  }
41891
43515
  exports.RecognitionException = RecognitionException;
41892
43516
 
41893
- },{}],243:[function(require,module,exports){
43517
+ },{}],250:[function(require,module,exports){
41894
43518
  "use strict";
41895
43519
  /*!
41896
43520
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42109,7 +43733,7 @@ __decorate([
42109
43733
  ], Recognizer.prototype, "getErrorListeners", null);
42110
43734
  exports.Recognizer = Recognizer;
42111
43735
 
42112
- },{"./ConsoleErrorListener":222,"./Decorators":223,"./ProxyErrorListener":240,"./Token":248,"./misc/Utils":342}],244:[function(require,module,exports){
43736
+ },{"./ConsoleErrorListener":229,"./Decorators":230,"./ProxyErrorListener":247,"./Token":255,"./misc/Utils":349}],251:[function(require,module,exports){
42113
43737
  "use strict";
42114
43738
  /*!
42115
43739
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42326,7 +43950,7 @@ __decorate([
42326
43950
  ], RuleContext.prototype, "toStringTree", null);
42327
43951
  exports.RuleContext = RuleContext;
42328
43952
 
42329
- },{"./Decorators":223,"./ParserRuleContext":239,"./Recognizer":243,"./atn/ATN":256,"./misc/Interval":335,"./tree/RuleNode":345,"./tree/Trees":347}],245:[function(require,module,exports){
43953
+ },{"./Decorators":230,"./ParserRuleContext":246,"./Recognizer":250,"./atn/ATN":263,"./misc/Interval":342,"./tree/RuleNode":352,"./tree/Trees":354}],252:[function(require,module,exports){
42330
43954
  "use strict";
42331
43955
  /*!
42332
43956
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42377,7 +44001,7 @@ __decorate([
42377
44001
  ], RuleContextWithAltNum.prototype, "altNumber", null);
42378
44002
  exports.RuleContextWithAltNum = RuleContextWithAltNum;
42379
44003
 
42380
- },{"./Decorators":223,"./ParserRuleContext":239,"./atn/ATN":256}],246:[function(require,module,exports){
44004
+ },{"./Decorators":230,"./ParserRuleContext":246,"./atn/ATN":263}],253:[function(require,module,exports){
42381
44005
  "use strict";
42382
44006
  /*!
42383
44007
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42400,7 +44024,7 @@ function RuleDependency(dependency) {
42400
44024
  }
42401
44025
  exports.RuleDependency = RuleDependency;
42402
44026
 
42403
- },{}],247:[function(require,module,exports){
44027
+ },{}],254:[function(require,module,exports){
42404
44028
  "use strict";
42405
44029
  /*!
42406
44030
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42419,7 +44043,7 @@ function RuleVersion(version) {
42419
44043
  }
42420
44044
  exports.RuleVersion = RuleVersion;
42421
44045
 
42422
- },{}],248:[function(require,module,exports){
44046
+ },{}],255:[function(require,module,exports){
42423
44047
  "use strict";
42424
44048
  /*!
42425
44049
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42459,7 +44083,7 @@ var Token;
42459
44083
  Token.MIN_USER_CHANNEL_VALUE = 2;
42460
44084
  })(Token = exports.Token || (exports.Token = {}));
42461
44085
 
42462
- },{"./IntStream":229}],249:[function(require,module,exports){
44086
+ },{"./IntStream":236}],256:[function(require,module,exports){
42463
44087
  "use strict";
42464
44088
  /*!
42465
44089
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42467,7 +44091,7 @@ var Token;
42467
44091
  */
42468
44092
  Object.defineProperty(exports, "__esModule", { value: true });
42469
44093
 
42470
- },{}],250:[function(require,module,exports){
44094
+ },{}],257:[function(require,module,exports){
42471
44095
  "use strict";
42472
44096
  /*!
42473
44097
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42475,7 +44099,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
42475
44099
  */
42476
44100
  Object.defineProperty(exports, "__esModule", { value: true });
42477
44101
 
42478
- },{}],251:[function(require,module,exports){
44102
+ },{}],258:[function(require,module,exports){
42479
44103
  "use strict";
42480
44104
  /*!
42481
44105
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42483,7 +44107,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
42483
44107
  */
42484
44108
  Object.defineProperty(exports, "__esModule", { value: true });
42485
44109
 
42486
- },{}],252:[function(require,module,exports){
44110
+ },{}],259:[function(require,module,exports){
42487
44111
  "use strict";
42488
44112
  /*!
42489
44113
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42991,7 +44615,7 @@ __decorate([
42991
44615
  Decorators_1.Override
42992
44616
  ], ReplaceOp.prototype, "toString", null);
42993
44617
 
42994
- },{"./Decorators":223,"./Token":248,"./misc/Interval":335}],253:[function(require,module,exports){
44618
+ },{"./Decorators":230,"./Token":255,"./misc/Interval":342}],260:[function(require,module,exports){
42995
44619
  "use strict";
42996
44620
  /*!
42997
44621
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -42999,7 +44623,7 @@ __decorate([
42999
44623
  */
43000
44624
  Object.defineProperty(exports, "__esModule", { value: true });
43001
44625
 
43002
- },{}],254:[function(require,module,exports){
44626
+ },{}],261:[function(require,module,exports){
43003
44627
  "use strict";
43004
44628
  /*!
43005
44629
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -43119,7 +44743,7 @@ __decorate([
43119
44743
  ], VocabularyImpl, "EMPTY_VOCABULARY", void 0);
43120
44744
  exports.VocabularyImpl = VocabularyImpl;
43121
44745
 
43122
- },{"./Decorators":223,"./Token":248}],255:[function(require,module,exports){
44746
+ },{"./Decorators":230,"./Token":255}],262:[function(require,module,exports){
43123
44747
  "use strict";
43124
44748
  /*!
43125
44749
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -43127,7 +44751,7 @@ exports.VocabularyImpl = VocabularyImpl;
43127
44751
  */
43128
44752
  Object.defineProperty(exports, "__esModule", { value: true });
43129
44753
 
43130
- },{}],256:[function(require,module,exports){
44754
+ },{}],263:[function(require,module,exports){
43131
44755
  "use strict";
43132
44756
  /*!
43133
44757
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -43349,7 +44973,7 @@ exports.ATN = ATN;
43349
44973
  })(ATN = exports.ATN || (exports.ATN = {}));
43350
44974
  exports.ATN = ATN;
43351
44975
 
43352
- },{"../Decorators":223,"../Token":248,"../dfa/DFA":321,"../misc/Array2DHashMap":326,"../misc/IntervalSet":336,"../misc/ObjectEqualityComparator":339,"./InvalidState":279,"./LL1Analyzer":280,"./PredictionContext":303,"assert":366}],257:[function(require,module,exports){
44976
+ },{"../Decorators":230,"../Token":255,"../dfa/DFA":328,"../misc/Array2DHashMap":333,"../misc/IntervalSet":343,"../misc/ObjectEqualityComparator":346,"./InvalidState":286,"./LL1Analyzer":287,"./PredictionContext":310,"assert":373}],264:[function(require,module,exports){
43353
44977
  "use strict";
43354
44978
  /*!
43355
44979
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -43874,7 +45498,7 @@ ActionSemanticContextATNConfig = __decorate([
43874
45498
  __param(1, Decorators_1.NotNull), __param(2, Decorators_1.NotNull)
43875
45499
  ], ActionSemanticContextATNConfig);
43876
45500
 
43877
- },{"../Decorators":223,"../misc/Array2DHashMap":326,"../misc/MurmurHash":338,"../misc/ObjectEqualityComparator":339,"./DecisionState":276,"./PredictionContext":303,"./SemanticContext":311,"assert":366}],258:[function(require,module,exports){
45501
+ },{"../Decorators":230,"../misc/Array2DHashMap":333,"../misc/MurmurHash":345,"../misc/ObjectEqualityComparator":346,"./DecisionState":283,"./PredictionContext":310,"./SemanticContext":318,"assert":373}],265:[function(require,module,exports){
43878
45502
  "use strict";
43879
45503
  /*!
43880
45504
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44321,7 +45945,7 @@ __decorate([
44321
45945
  ], ATNConfigSet.prototype, "hashCode", null);
44322
45946
  exports.ATNConfigSet = ATNConfigSet;
44323
45947
 
44324
- },{"../Decorators":223,"../misc/Array2DHashMap":326,"../misc/Array2DHashSet":327,"../misc/ArrayEqualityComparator":328,"../misc/BitSet":330,"../misc/ObjectEqualityComparator":339,"../misc/Utils":342,"./ATN":256,"./ATNConfig":257,"./PredictionContext":303,"./PredictionContextCache":304,"./SemanticContext":311,"assert":366}],259:[function(require,module,exports){
45948
+ },{"../Decorators":230,"../misc/Array2DHashMap":333,"../misc/Array2DHashSet":334,"../misc/ArrayEqualityComparator":335,"../misc/BitSet":337,"../misc/ObjectEqualityComparator":346,"../misc/Utils":349,"./ATN":263,"./ATNConfig":264,"./PredictionContext":310,"./PredictionContextCache":311,"./SemanticContext":318,"assert":373}],266:[function(require,module,exports){
44325
45949
  "use strict";
44326
45950
  /*!
44327
45951
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -44400,7 +46024,7 @@ __decorate([
44400
46024
  ], ATNDeserializationOptions, "defaultOptions", null);
44401
46025
  exports.ATNDeserializationOptions = ATNDeserializationOptions;
44402
46026
 
44403
- },{"../Decorators":223}],260:[function(require,module,exports){
46027
+ },{"../Decorators":230}],267:[function(require,module,exports){
44404
46028
  "use strict";
44405
46029
  /*!
44406
46030
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45487,7 +47111,7 @@ __decorate([
45487
47111
  ], ATNDeserializer.prototype, "edgeFactory", null);
45488
47112
  exports.ATNDeserializer = ATNDeserializer;
45489
47113
 
45490
- },{"../Decorators":223,"../Token":248,"../dfa/DFA":321,"../misc/Array2DHashSet":327,"../misc/BitSet":330,"../misc/IntervalSet":336,"../misc/UUID":341,"./ATN":256,"./ATNDeserializationOptions":259,"./ATNStateType":263,"./ActionTransition":265,"./AtomTransition":267,"./BasicBlockStartState":268,"./BasicState":269,"./BlockEndState":270,"./BlockStartState":271,"./DecisionState":276,"./EpsilonTransition":277,"./InvalidState":279,"./LexerChannelAction":283,"./LexerCustomAction":284,"./LexerModeAction":286,"./LexerMoreAction":287,"./LexerPopModeAction":288,"./LexerPushModeAction":289,"./LexerSkipAction":290,"./LexerTypeAction":291,"./LoopEndState":293,"./NotSetTransition":294,"./ParserATNSimulator":297,"./PlusBlockStartState":298,"./PlusLoopbackState":299,"./PrecedencePredicateTransition":300,"./PredicateTransition":302,"./RangeTransition":307,"./RuleStartState":308,"./RuleStopState":309,"./RuleTransition":310,"./SetTransition":312,"./StarBlockStartState":314,"./StarLoopEntryState":315,"./StarLoopbackState":316,"./TokensStartState":317,"./WildcardTransition":319}],261:[function(require,module,exports){
47114
+ },{"../Decorators":230,"../Token":255,"../dfa/DFA":328,"../misc/Array2DHashSet":334,"../misc/BitSet":337,"../misc/IntervalSet":343,"../misc/UUID":348,"./ATN":263,"./ATNDeserializationOptions":266,"./ATNStateType":270,"./ActionTransition":272,"./AtomTransition":274,"./BasicBlockStartState":275,"./BasicState":276,"./BlockEndState":277,"./BlockStartState":278,"./DecisionState":283,"./EpsilonTransition":284,"./InvalidState":286,"./LexerChannelAction":290,"./LexerCustomAction":291,"./LexerModeAction":293,"./LexerMoreAction":294,"./LexerPopModeAction":295,"./LexerPushModeAction":296,"./LexerSkipAction":297,"./LexerTypeAction":298,"./LoopEndState":300,"./NotSetTransition":301,"./ParserATNSimulator":304,"./PlusBlockStartState":305,"./PlusLoopbackState":306,"./PrecedencePredicateTransition":307,"./PredicateTransition":309,"./RangeTransition":314,"./RuleStartState":315,"./RuleStopState":316,"./RuleTransition":317,"./SetTransition":319,"./StarBlockStartState":321,"./StarLoopEntryState":322,"./StarLoopbackState":323,"./TokensStartState":324,"./WildcardTransition":326}],268:[function(require,module,exports){
45491
47115
  "use strict";
45492
47116
  /*!
45493
47117
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45551,7 +47175,7 @@ exports.ATNSimulator = ATNSimulator;
45551
47175
  })(ATNSimulator = exports.ATNSimulator || (exports.ATNSimulator = {}));
45552
47176
  exports.ATNSimulator = ATNSimulator;
45553
47177
 
45554
- },{"../Decorators":223,"../dfa/DFAState":323,"./ATNConfigSet":258,"./PredictionContext":303}],262:[function(require,module,exports){
47178
+ },{"../Decorators":230,"../dfa/DFAState":330,"./ATNConfigSet":265,"./PredictionContext":310}],269:[function(require,module,exports){
45555
47179
  "use strict";
45556
47180
  /*!
45557
47181
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45738,7 +47362,7 @@ exports.ATNState = ATNState;
45738
47362
  ATNState.INVALID_STATE_NUMBER = -1;
45739
47363
  })(ATNState = exports.ATNState || (exports.ATNState = {}));
45740
47364
 
45741
- },{"../Decorators":223}],263:[function(require,module,exports){
47365
+ },{"../Decorators":230}],270:[function(require,module,exports){
45742
47366
  "use strict";
45743
47367
  /*!
45744
47368
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45764,7 +47388,7 @@ var ATNStateType;
45764
47388
  ATNStateType[ATNStateType["LOOP_END"] = 12] = "LOOP_END";
45765
47389
  })(ATNStateType = exports.ATNStateType || (exports.ATNStateType = {}));
45766
47390
 
45767
- },{}],264:[function(require,module,exports){
47391
+ },{}],271:[function(require,module,exports){
45768
47392
  "use strict";
45769
47393
  /*!
45770
47394
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45784,7 +47408,7 @@ class AbstractPredicateTransition extends Transition_1.Transition {
45784
47408
  }
45785
47409
  exports.AbstractPredicateTransition = AbstractPredicateTransition;
45786
47410
 
45787
- },{"./Transition":318}],265:[function(require,module,exports){
47411
+ },{"./Transition":325}],272:[function(require,module,exports){
45788
47412
  "use strict";
45789
47413
  /*!
45790
47414
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45840,7 +47464,7 @@ ActionTransition = __decorate([
45840
47464
  ], ActionTransition);
45841
47465
  exports.ActionTransition = ActionTransition;
45842
47466
 
45843
- },{"../Decorators":223,"./Transition":318}],266:[function(require,module,exports){
47467
+ },{"../Decorators":230,"./Transition":325}],273:[function(require,module,exports){
45844
47468
  "use strict";
45845
47469
  /*!
45846
47470
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45927,7 +47551,7 @@ AmbiguityInfo = __decorate([
45927
47551
  ], AmbiguityInfo);
45928
47552
  exports.AmbiguityInfo = AmbiguityInfo;
45929
47553
 
45930
- },{"../Decorators":223,"./DecisionEventInfo":274}],267:[function(require,module,exports){
47554
+ },{"../Decorators":230,"./DecisionEventInfo":281}],274:[function(require,module,exports){
45931
47555
  "use strict";
45932
47556
  /*!
45933
47557
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -45985,7 +47609,7 @@ AtomTransition = __decorate([
45985
47609
  ], AtomTransition);
45986
47610
  exports.AtomTransition = AtomTransition;
45987
47611
 
45988
- },{"../Decorators":223,"../misc/IntervalSet":336,"./Transition":318}],268:[function(require,module,exports){
47612
+ },{"../Decorators":230,"../misc/IntervalSet":343,"./Transition":325}],275:[function(require,module,exports){
45989
47613
  "use strict";
45990
47614
  /*!
45991
47615
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46017,7 +47641,7 @@ __decorate([
46017
47641
  ], BasicBlockStartState.prototype, "stateType", null);
46018
47642
  exports.BasicBlockStartState = BasicBlockStartState;
46019
47643
 
46020
- },{"../Decorators":223,"./ATNStateType":263,"./BlockStartState":271}],269:[function(require,module,exports){
47644
+ },{"../Decorators":230,"./ATNStateType":270,"./BlockStartState":278}],276:[function(require,module,exports){
46021
47645
  "use strict";
46022
47646
  /*!
46023
47647
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46049,7 +47673,7 @@ __decorate([
46049
47673
  ], BasicState.prototype, "stateType", null);
46050
47674
  exports.BasicState = BasicState;
46051
47675
 
46052
- },{"../Decorators":223,"./ATNState":262,"./ATNStateType":263}],270:[function(require,module,exports){
47676
+ },{"../Decorators":230,"./ATNState":269,"./ATNStateType":270}],277:[function(require,module,exports){
46053
47677
  "use strict";
46054
47678
  /*!
46055
47679
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46078,7 +47702,7 @@ __decorate([
46078
47702
  ], BlockEndState.prototype, "stateType", null);
46079
47703
  exports.BlockEndState = BlockEndState;
46080
47704
 
46081
- },{"../Decorators":223,"./ATNState":262,"./ATNStateType":263}],271:[function(require,module,exports){
47705
+ },{"../Decorators":230,"./ATNState":269,"./ATNStateType":270}],278:[function(require,module,exports){
46082
47706
  "use strict";
46083
47707
  /*!
46084
47708
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46092,7 +47716,7 @@ class BlockStartState extends DecisionState_1.DecisionState {
46092
47716
  }
46093
47717
  exports.BlockStartState = BlockStartState;
46094
47718
 
46095
- },{"./DecisionState":276}],272:[function(require,module,exports){
47719
+ },{"./DecisionState":283}],279:[function(require,module,exports){
46096
47720
  "use strict";
46097
47721
  /*!
46098
47722
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46162,7 +47786,7 @@ __decorate([
46162
47786
  ], ConflictInfo.prototype, "hashCode", null);
46163
47787
  exports.ConflictInfo = ConflictInfo;
46164
47788
 
46165
- },{"../Decorators":223,"../misc/Utils":342}],273:[function(require,module,exports){
47789
+ },{"../Decorators":230,"../misc/Utils":349}],280:[function(require,module,exports){
46166
47790
  "use strict";
46167
47791
  /*!
46168
47792
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46222,7 +47846,7 @@ ContextSensitivityInfo = __decorate([
46222
47846
  ], ContextSensitivityInfo);
46223
47847
  exports.ContextSensitivityInfo = ContextSensitivityInfo;
46224
47848
 
46225
- },{"../Decorators":223,"./DecisionEventInfo":274}],274:[function(require,module,exports){
47849
+ },{"../Decorators":230,"./DecisionEventInfo":281}],281:[function(require,module,exports){
46226
47850
  "use strict";
46227
47851
  /*!
46228
47852
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46274,7 +47898,7 @@ DecisionEventInfo = __decorate([
46274
47898
  ], DecisionEventInfo);
46275
47899
  exports.DecisionEventInfo = DecisionEventInfo;
46276
47900
 
46277
- },{"../Decorators":223}],275:[function(require,module,exports){
47901
+ },{"../Decorators":230}],282:[function(require,module,exports){
46278
47902
  "use strict";
46279
47903
  /*!
46280
47904
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46487,7 +48111,7 @@ __decorate([
46487
48111
  ], DecisionInfo.prototype, "toString", null);
46488
48112
  exports.DecisionInfo = DecisionInfo;
46489
48113
 
46490
- },{"../Decorators":223}],276:[function(require,module,exports){
48114
+ },{"../Decorators":230}],283:[function(require,module,exports){
46491
48115
  "use strict";
46492
48116
  /*!
46493
48117
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46507,7 +48131,7 @@ class DecisionState extends ATNState_1.ATNState {
46507
48131
  }
46508
48132
  exports.DecisionState = DecisionState;
46509
48133
 
46510
- },{"./ATNState":262}],277:[function(require,module,exports){
48134
+ },{"./ATNState":269}],284:[function(require,module,exports){
46511
48135
  "use strict";
46512
48136
  /*!
46513
48137
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46573,7 +48197,7 @@ EpsilonTransition = __decorate([
46573
48197
  ], EpsilonTransition);
46574
48198
  exports.EpsilonTransition = EpsilonTransition;
46575
48199
 
46576
- },{"../Decorators":223,"./Transition":318}],278:[function(require,module,exports){
48200
+ },{"../Decorators":230,"./Transition":325}],285:[function(require,module,exports){
46577
48201
  "use strict";
46578
48202
  /*!
46579
48203
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46626,7 +48250,7 @@ ErrorInfo = __decorate([
46626
48250
  ], ErrorInfo);
46627
48251
  exports.ErrorInfo = ErrorInfo;
46628
48252
 
46629
- },{"../Decorators":223,"./DecisionEventInfo":274}],279:[function(require,module,exports){
48253
+ },{"../Decorators":230,"./DecisionEventInfo":281}],286:[function(require,module,exports){
46630
48254
  "use strict";
46631
48255
  /*!
46632
48256
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46657,7 +48281,7 @@ __decorate([
46657
48281
  ], InvalidState.prototype, "stateType", null);
46658
48282
  exports.InvalidState = InvalidState;
46659
48283
 
46660
- },{"../Decorators":223,"./ATNStateType":263,"./BasicState":269}],280:[function(require,module,exports){
48284
+ },{"../Decorators":230,"./ATNStateType":270,"./BasicState":276}],287:[function(require,module,exports){
46661
48285
  "use strict";
46662
48286
  /*!
46663
48287
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -46879,7 +48503,7 @@ LL1Analyzer = __decorate([
46879
48503
  ], LL1Analyzer);
46880
48504
  exports.LL1Analyzer = LL1Analyzer;
46881
48505
 
46882
- },{"../Decorators":223,"../Token":248,"../misc/Array2DHashSet":327,"../misc/BitSet":330,"../misc/IntervalSet":336,"../misc/ObjectEqualityComparator":339,"./ATNConfig":257,"./AbstractPredicateTransition":264,"./NotSetTransition":294,"./PredictionContext":303,"./RuleStopState":309,"./RuleTransition":310,"./WildcardTransition":319}],281:[function(require,module,exports){
48506
+ },{"../Decorators":230,"../Token":255,"../misc/Array2DHashSet":334,"../misc/BitSet":337,"../misc/IntervalSet":343,"../misc/ObjectEqualityComparator":346,"./ATNConfig":264,"./AbstractPredicateTransition":271,"./NotSetTransition":301,"./PredictionContext":310,"./RuleStopState":316,"./RuleTransition":317,"./WildcardTransition":326}],288:[function(require,module,exports){
46883
48507
  "use strict";
46884
48508
  /*!
46885
48509
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -47596,7 +49220,7 @@ exports.LexerATNSimulator = LexerATNSimulator;
47596
49220
  })(LexerATNSimulator = exports.LexerATNSimulator || (exports.LexerATNSimulator = {}));
47597
49221
  exports.LexerATNSimulator = LexerATNSimulator;
47598
49222
 
47599
- },{"../Decorators":223,"../IntStream":229,"../Lexer":231,"../LexerNoViableAltException":233,"../Token":248,"../dfa/AcceptStateInfo":320,"../dfa/DFAState":323,"../misc/Interval":335,"./ATN":256,"./ATNConfig":257,"./ATNConfigSet":258,"./ATNSimulator":261,"./LexerActionExecutor":282,"./OrderedATNConfigSet":295,"./PredictionContext":303,"./RuleStopState":309,"assert":366}],282:[function(require,module,exports){
49223
+ },{"../Decorators":230,"../IntStream":236,"../Lexer":238,"../LexerNoViableAltException":240,"../Token":255,"../dfa/AcceptStateInfo":327,"../dfa/DFAState":330,"../misc/Interval":342,"./ATN":263,"./ATNConfig":264,"./ATNConfigSet":265,"./ATNSimulator":268,"./LexerActionExecutor":289,"./OrderedATNConfigSet":302,"./PredictionContext":310,"./RuleStopState":316,"assert":373}],289:[function(require,module,exports){
47600
49224
  "use strict";
47601
49225
  /*!
47602
49226
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -47797,7 +49421,7 @@ LexerActionExecutor = __decorate([
47797
49421
  ], LexerActionExecutor);
47798
49422
  exports.LexerActionExecutor = LexerActionExecutor;
47799
49423
 
47800
- },{"../Decorators":223,"../misc/ArrayEqualityComparator":328,"../misc/MurmurHash":338,"./LexerIndexedCustomAction":285}],283:[function(require,module,exports){
49424
+ },{"../Decorators":230,"../misc/ArrayEqualityComparator":335,"../misc/MurmurHash":345,"./LexerIndexedCustomAction":292}],290:[function(require,module,exports){
47801
49425
  "use strict";
47802
49426
  /*!
47803
49427
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -47902,7 +49526,7 @@ __decorate([
47902
49526
  ], LexerChannelAction.prototype, "toString", null);
47903
49527
  exports.LexerChannelAction = LexerChannelAction;
47904
49528
 
47905
- },{"../Decorators":223,"../misc/MurmurHash":338}],284:[function(require,module,exports){
49529
+ },{"../Decorators":230,"../misc/MurmurHash":345}],291:[function(require,module,exports){
47906
49530
  "use strict";
47907
49531
  /*!
47908
49532
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48031,7 +49655,7 @@ __decorate([
48031
49655
  ], LexerCustomAction.prototype, "equals", null);
48032
49656
  exports.LexerCustomAction = LexerCustomAction;
48033
49657
 
48034
- },{"../Decorators":223,"../misc/MurmurHash":338}],285:[function(require,module,exports){
49658
+ },{"../Decorators":230,"../misc/MurmurHash":345}],292:[function(require,module,exports){
48035
49659
  "use strict";
48036
49660
  /*!
48037
49661
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48166,7 +49790,7 @@ LexerIndexedCustomAction = __decorate([
48166
49790
  ], LexerIndexedCustomAction);
48167
49791
  exports.LexerIndexedCustomAction = LexerIndexedCustomAction;
48168
49792
 
48169
- },{"../Decorators":223,"../misc/MurmurHash":338}],286:[function(require,module,exports){
49793
+ },{"../Decorators":230,"../misc/MurmurHash":345}],293:[function(require,module,exports){
48170
49794
  "use strict";
48171
49795
  /*!
48172
49796
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48271,7 +49895,7 @@ __decorate([
48271
49895
  ], LexerModeAction.prototype, "toString", null);
48272
49896
  exports.LexerModeAction = LexerModeAction;
48273
49897
 
48274
- },{"../Decorators":223,"../misc/MurmurHash":338}],287:[function(require,module,exports){
49898
+ },{"../Decorators":230,"../misc/MurmurHash":345}],294:[function(require,module,exports){
48275
49899
  "use strict";
48276
49900
  /*!
48277
49901
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48367,7 +49991,7 @@ exports.LexerMoreAction = LexerMoreAction;
48367
49991
  LexerMoreAction.INSTANCE = new LexerMoreAction();
48368
49992
  })(LexerMoreAction = exports.LexerMoreAction || (exports.LexerMoreAction = {}));
48369
49993
 
48370
- },{"../Decorators":223,"../misc/MurmurHash":338}],288:[function(require,module,exports){
49994
+ },{"../Decorators":230,"../misc/MurmurHash":345}],295:[function(require,module,exports){
48371
49995
  "use strict";
48372
49996
  /*!
48373
49997
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48463,7 +50087,7 @@ exports.LexerPopModeAction = LexerPopModeAction;
48463
50087
  LexerPopModeAction.INSTANCE = new LexerPopModeAction();
48464
50088
  })(LexerPopModeAction = exports.LexerPopModeAction || (exports.LexerPopModeAction = {}));
48465
50089
 
48466
- },{"../Decorators":223,"../misc/MurmurHash":338}],289:[function(require,module,exports){
50090
+ },{"../Decorators":230,"../misc/MurmurHash":345}],296:[function(require,module,exports){
48467
50091
  "use strict";
48468
50092
  /*!
48469
50093
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48568,7 +50192,7 @@ __decorate([
48568
50192
  ], LexerPushModeAction.prototype, "toString", null);
48569
50193
  exports.LexerPushModeAction = LexerPushModeAction;
48570
50194
 
48571
- },{"../Decorators":223,"../misc/MurmurHash":338}],290:[function(require,module,exports){
50195
+ },{"../Decorators":230,"../misc/MurmurHash":345}],297:[function(require,module,exports){
48572
50196
  "use strict";
48573
50197
  /*!
48574
50198
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48664,7 +50288,7 @@ exports.LexerSkipAction = LexerSkipAction;
48664
50288
  LexerSkipAction.INSTANCE = new LexerSkipAction();
48665
50289
  })(LexerSkipAction = exports.LexerSkipAction || (exports.LexerSkipAction = {}));
48666
50290
 
48667
- },{"../Decorators":223,"../misc/MurmurHash":338}],291:[function(require,module,exports){
50291
+ },{"../Decorators":230,"../misc/MurmurHash":345}],298:[function(require,module,exports){
48668
50292
  "use strict";
48669
50293
  /*!
48670
50294
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48768,7 +50392,7 @@ __decorate([
48768
50392
  ], LexerTypeAction.prototype, "toString", null);
48769
50393
  exports.LexerTypeAction = LexerTypeAction;
48770
50394
 
48771
- },{"../Decorators":223,"../misc/MurmurHash":338}],292:[function(require,module,exports){
50395
+ },{"../Decorators":230,"../misc/MurmurHash":345}],299:[function(require,module,exports){
48772
50396
  "use strict";
48773
50397
  /*!
48774
50398
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48820,7 +50444,7 @@ LookaheadEventInfo = __decorate([
48820
50444
  ], LookaheadEventInfo);
48821
50445
  exports.LookaheadEventInfo = LookaheadEventInfo;
48822
50446
 
48823
- },{"../Decorators":223,"./DecisionEventInfo":274}],293:[function(require,module,exports){
50447
+ },{"../Decorators":230,"./DecisionEventInfo":281}],300:[function(require,module,exports){
48824
50448
  "use strict";
48825
50449
  /*!
48826
50450
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48849,7 +50473,7 @@ __decorate([
48849
50473
  ], LoopEndState.prototype, "stateType", null);
48850
50474
  exports.LoopEndState = LoopEndState;
48851
50475
 
48852
- },{"../Decorators":223,"./ATNState":262,"./ATNStateType":263}],294:[function(require,module,exports){
50476
+ },{"../Decorators":230,"./ATNState":269,"./ATNStateType":270}],301:[function(require,module,exports){
48853
50477
  "use strict";
48854
50478
  /*!
48855
50479
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48898,7 +50522,7 @@ NotSetTransition = __decorate([
48898
50522
  ], NotSetTransition);
48899
50523
  exports.NotSetTransition = NotSetTransition;
48900
50524
 
48901
- },{"../Decorators":223,"./SetTransition":312}],295:[function(require,module,exports){
50525
+ },{"../Decorators":230,"./SetTransition":319}],302:[function(require,module,exports){
48902
50526
  "use strict";
48903
50527
  /*!
48904
50528
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -48953,7 +50577,7 @@ __decorate([
48953
50577
  ], OrderedATNConfigSet.prototype, "canMerge", null);
48954
50578
  exports.OrderedATNConfigSet = OrderedATNConfigSet;
48955
50579
 
48956
- },{"../Decorators":223,"./ATNConfigSet":258}],296:[function(require,module,exports){
50580
+ },{"../Decorators":230,"./ATNConfigSet":265}],303:[function(require,module,exports){
48957
50581
  "use strict";
48958
50582
  /*!
48959
50583
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -49115,7 +50739,7 @@ ParseInfo = __decorate([
49115
50739
  ], ParseInfo);
49116
50740
  exports.ParseInfo = ParseInfo;
49117
50741
 
49118
- },{"../Decorators":223}],297:[function(require,module,exports){
50742
+ },{"../Decorators":230}],304:[function(require,module,exports){
49119
50743
  "use strict";
49120
50744
  /*!
49121
50745
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51388,7 +53012,7 @@ ParserATNSimulator = __decorate([
51388
53012
  ], ParserATNSimulator);
51389
53013
  exports.ParserATNSimulator = ParserATNSimulator;
51390
53014
 
51391
- },{"../Decorators":223,"../IntStream":229,"../NoViableAltException":235,"../ParserRuleContext":239,"../Token":248,"../VocabularyImpl":254,"../dfa/AcceptStateInfo":320,"../dfa/DFAState":323,"../misc/Array2DHashSet":327,"../misc/Arrays":329,"../misc/BitSet":330,"../misc/IntegerList":333,"../misc/Interval":335,"../misc/ObjectEqualityComparator":339,"./ATN":256,"./ATNConfig":257,"./ATNConfigSet":258,"./ATNSimulator":261,"./ATNStateType":263,"./ActionTransition":265,"./AtomTransition":267,"./ConflictInfo":272,"./DecisionState":276,"./NotSetTransition":294,"./PredictionContext":303,"./PredictionContextCache":304,"./PredictionMode":305,"./RuleStopState":309,"./RuleTransition":310,"./SemanticContext":311,"./SetTransition":312,"./SimulatorState":313,"assert":366}],298:[function(require,module,exports){
53015
+ },{"../Decorators":230,"../IntStream":236,"../NoViableAltException":242,"../ParserRuleContext":246,"../Token":255,"../VocabularyImpl":261,"../dfa/AcceptStateInfo":327,"../dfa/DFAState":330,"../misc/Array2DHashSet":334,"../misc/Arrays":336,"../misc/BitSet":337,"../misc/IntegerList":340,"../misc/Interval":342,"../misc/ObjectEqualityComparator":346,"./ATN":263,"./ATNConfig":264,"./ATNConfigSet":265,"./ATNSimulator":268,"./ATNStateType":270,"./ActionTransition":272,"./AtomTransition":274,"./ConflictInfo":279,"./DecisionState":283,"./NotSetTransition":301,"./PredictionContext":310,"./PredictionContextCache":311,"./PredictionMode":312,"./RuleStopState":316,"./RuleTransition":317,"./SemanticContext":318,"./SetTransition":319,"./SimulatorState":320,"assert":373}],305:[function(require,module,exports){
51392
53016
  "use strict";
51393
53017
  /*!
51394
53018
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51421,7 +53045,7 @@ __decorate([
51421
53045
  ], PlusBlockStartState.prototype, "stateType", null);
51422
53046
  exports.PlusBlockStartState = PlusBlockStartState;
51423
53047
 
51424
- },{"../Decorators":223,"./ATNStateType":263,"./BlockStartState":271}],299:[function(require,module,exports){
53048
+ },{"../Decorators":230,"./ATNStateType":270,"./BlockStartState":278}],306:[function(require,module,exports){
51425
53049
  "use strict";
51426
53050
  /*!
51427
53051
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51452,7 +53076,7 @@ __decorate([
51452
53076
  ], PlusLoopbackState.prototype, "stateType", null);
51453
53077
  exports.PlusLoopbackState = PlusLoopbackState;
51454
53078
 
51455
- },{"../Decorators":223,"./ATNStateType":263,"./DecisionState":276}],300:[function(require,module,exports){
53079
+ },{"../Decorators":230,"./ATNStateType":270,"./DecisionState":283}],307:[function(require,module,exports){
51456
53080
  "use strict";
51457
53081
  /*!
51458
53082
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51515,7 +53139,7 @@ PrecedencePredicateTransition = __decorate([
51515
53139
  ], PrecedencePredicateTransition);
51516
53140
  exports.PrecedencePredicateTransition = PrecedencePredicateTransition;
51517
53141
 
51518
- },{"../Decorators":223,"./AbstractPredicateTransition":264,"./SemanticContext":311}],301:[function(require,module,exports){
53142
+ },{"../Decorators":230,"./AbstractPredicateTransition":271,"./SemanticContext":318}],308:[function(require,module,exports){
51519
53143
  "use strict";
51520
53144
  /*!
51521
53145
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51578,7 +53202,7 @@ PredicateEvalInfo = __decorate([
51578
53202
  ], PredicateEvalInfo);
51579
53203
  exports.PredicateEvalInfo = PredicateEvalInfo;
51580
53204
 
51581
- },{"../Decorators":223,"./DecisionEventInfo":274}],302:[function(require,module,exports){
53205
+ },{"../Decorators":230,"./DecisionEventInfo":281}],309:[function(require,module,exports){
51582
53206
  "use strict";
51583
53207
  /*!
51584
53208
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -51644,7 +53268,7 @@ PredicateTransition = __decorate([
51644
53268
  ], PredicateTransition);
51645
53269
  exports.PredicateTransition = PredicateTransition;
51646
53270
 
51647
- },{"../Decorators":223,"./AbstractPredicateTransition":264,"./SemanticContext":311}],303:[function(require,module,exports){
53271
+ },{"../Decorators":230,"./AbstractPredicateTransition":271,"./SemanticContext":318}],310:[function(require,module,exports){
51648
53272
  "use strict";
51649
53273
  /*!
51650
53274
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52335,7 +53959,7 @@ exports.SingletonPredictionContext = SingletonPredictionContext;
52335
53959
  PredictionContext.IdentityEqualityComparator = IdentityEqualityComparator;
52336
53960
  })(PredictionContext = exports.PredictionContext || (exports.PredictionContext = {}));
52337
53961
 
52338
- },{"../Decorators":223,"../misc/Array2DHashMap":326,"../misc/Array2DHashSet":327,"../misc/Arrays":329,"../misc/MurmurHash":338,"./PredictionContextCache":304,"assert":366}],304:[function(require,module,exports){
53962
+ },{"../Decorators":230,"../misc/Array2DHashMap":333,"../misc/Array2DHashSet":334,"../misc/Arrays":336,"../misc/MurmurHash":345,"./PredictionContextCache":311,"assert":373}],311:[function(require,module,exports){
52339
53963
  "use strict";
52340
53964
  /*!
52341
53965
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52476,7 +54100,7 @@ PredictionContextCache.UNCACHED = new PredictionContextCache(false);
52476
54100
  PredictionContextCache.IdentityCommutativePredictionContextOperands = IdentityCommutativePredictionContextOperands;
52477
54101
  })(PredictionContextCache = exports.PredictionContextCache || (exports.PredictionContextCache = {}));
52478
54102
 
52479
- },{"../Decorators":223,"../misc/Array2DHashMap":326,"../misc/ObjectEqualityComparator":339,"./PredictionContext":303,"assert":366}],305:[function(require,module,exports){
54103
+ },{"../Decorators":230,"../misc/Array2DHashMap":333,"../misc/ObjectEqualityComparator":346,"./PredictionContext":310,"assert":373}],312:[function(require,module,exports){
52480
54104
  "use strict";
52481
54105
  /*!
52482
54106
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52637,7 +54261,7 @@ var PredictionMode;
52637
54261
  PredictionMode.allConfigsInRuleStopStates = allConfigsInRuleStopStates;
52638
54262
  })(PredictionMode = exports.PredictionMode || (exports.PredictionMode = {}));
52639
54263
 
52640
- },{"../Decorators":223,"../misc/Array2DHashMap":326,"../misc/MurmurHash":338,"./RuleStopState":309}],306:[function(require,module,exports){
54264
+ },{"../Decorators":230,"../misc/Array2DHashMap":333,"../misc/MurmurHash":345,"./RuleStopState":316}],313:[function(require,module,exports){
52641
54265
  (function (process){(function (){
52642
54266
  "use strict";
52643
54267
  /*!
@@ -52906,7 +54530,7 @@ __decorate([
52906
54530
  exports.ProfilingATNSimulator = ProfilingATNSimulator;
52907
54531
 
52908
54532
  }).call(this)}).call(this,require('_process'))
52909
- },{"../Decorators":223,"./ATN":256,"./ATNSimulator":261,"./AmbiguityInfo":266,"./ContextSensitivityInfo":273,"./DecisionInfo":275,"./ErrorInfo":278,"./LookaheadEventInfo":292,"./ParserATNSimulator":297,"./PredicateEvalInfo":301,"./SemanticContext":311,"./SimulatorState":313,"_process":425}],307:[function(require,module,exports){
54533
+ },{"../Decorators":230,"./ATN":263,"./ATNSimulator":268,"./AmbiguityInfo":273,"./ContextSensitivityInfo":280,"./DecisionInfo":282,"./ErrorInfo":285,"./LookaheadEventInfo":299,"./ParserATNSimulator":304,"./PredicateEvalInfo":308,"./SemanticContext":318,"./SimulatorState":320,"_process":432}],314:[function(require,module,exports){
52910
54534
  "use strict";
52911
54535
  /*!
52912
54536
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52964,7 +54588,7 @@ RangeTransition = __decorate([
52964
54588
  ], RangeTransition);
52965
54589
  exports.RangeTransition = RangeTransition;
52966
54590
 
52967
- },{"../Decorators":223,"../misc/IntervalSet":336,"./Transition":318}],308:[function(require,module,exports){
54591
+ },{"../Decorators":230,"../misc/IntervalSet":343,"./Transition":325}],315:[function(require,module,exports){
52968
54592
  "use strict";
52969
54593
  /*!
52970
54594
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -52997,7 +54621,7 @@ __decorate([
52997
54621
  ], RuleStartState.prototype, "stateType", null);
52998
54622
  exports.RuleStartState = RuleStartState;
52999
54623
 
53000
- },{"../Decorators":223,"./ATNState":262,"./ATNStateType":263}],309:[function(require,module,exports){
54624
+ },{"../Decorators":230,"./ATNState":269,"./ATNStateType":270}],316:[function(require,module,exports){
53001
54625
  "use strict";
53002
54626
  /*!
53003
54627
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53036,7 +54660,7 @@ __decorate([
53036
54660
  ], RuleStopState.prototype, "stateType", null);
53037
54661
  exports.RuleStopState = RuleStopState;
53038
54662
 
53039
- },{"../Decorators":223,"./ATNState":262,"./ATNStateType":263}],310:[function(require,module,exports){
54663
+ },{"../Decorators":230,"./ATNState":269,"./ATNStateType":270}],317:[function(require,module,exports){
53040
54664
  "use strict";
53041
54665
  /*!
53042
54666
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53092,7 +54716,7 @@ RuleTransition = __decorate([
53092
54716
  ], RuleTransition);
53093
54717
  exports.RuleTransition = RuleTransition;
53094
54718
 
53095
- },{"../Decorators":223,"./Transition":318}],311:[function(require,module,exports){
54719
+ },{"../Decorators":230,"./Transition":325}],318:[function(require,module,exports){
53096
54720
  "use strict";
53097
54721
  /*!
53098
54722
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53572,7 +55196,7 @@ exports.SemanticContext = SemanticContext;
53572
55196
  SemanticContext.OR = OR;
53573
55197
  })(SemanticContext = exports.SemanticContext || (exports.SemanticContext = {}));
53574
55198
 
53575
- },{"../Decorators":223,"../misc/Array2DHashSet":327,"../misc/ArrayEqualityComparator":328,"../misc/MurmurHash":338,"../misc/ObjectEqualityComparator":339,"../misc/Utils":342}],312:[function(require,module,exports){
55199
+ },{"../Decorators":230,"../misc/Array2DHashSet":334,"../misc/ArrayEqualityComparator":335,"../misc/MurmurHash":345,"../misc/ObjectEqualityComparator":346,"../misc/Utils":349}],319:[function(require,module,exports){
53576
55200
  "use strict";
53577
55201
  /*!
53578
55202
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53638,7 +55262,7 @@ SetTransition = __decorate([
53638
55262
  ], SetTransition);
53639
55263
  exports.SetTransition = SetTransition;
53640
55264
 
53641
- },{"../Decorators":223,"../Token":248,"../misc/IntervalSet":336,"./Transition":318}],313:[function(require,module,exports){
55265
+ },{"../Decorators":230,"../Token":255,"../misc/IntervalSet":343,"./Transition":325}],320:[function(require,module,exports){
53642
55266
  "use strict";
53643
55267
  /*!
53644
55268
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53674,7 +55298,7 @@ SimulatorState = __decorate([
53674
55298
  ], SimulatorState);
53675
55299
  exports.SimulatorState = SimulatorState;
53676
55300
 
53677
- },{"../Decorators":223,"../ParserRuleContext":239}],314:[function(require,module,exports){
55301
+ },{"../Decorators":230,"../ParserRuleContext":246}],321:[function(require,module,exports){
53678
55302
  "use strict";
53679
55303
  /*!
53680
55304
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53702,7 +55326,7 @@ __decorate([
53702
55326
  ], StarBlockStartState.prototype, "stateType", null);
53703
55327
  exports.StarBlockStartState = StarBlockStartState;
53704
55328
 
53705
- },{"../Decorators":223,"./ATNStateType":263,"./BlockStartState":271}],315:[function(require,module,exports){
55329
+ },{"../Decorators":230,"./ATNStateType":270,"./BlockStartState":278}],322:[function(require,module,exports){
53706
55330
  "use strict";
53707
55331
  /*!
53708
55332
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53759,7 +55383,7 @@ __decorate([
53759
55383
  ], StarLoopEntryState.prototype, "stateType", null);
53760
55384
  exports.StarLoopEntryState = StarLoopEntryState;
53761
55385
 
53762
- },{"../Decorators":223,"../misc/BitSet":330,"./ATNStateType":263,"./DecisionState":276}],316:[function(require,module,exports){
55386
+ },{"../Decorators":230,"../misc/BitSet":337,"./ATNStateType":270,"./DecisionState":283}],323:[function(require,module,exports){
53763
55387
  "use strict";
53764
55388
  /*!
53765
55389
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53790,7 +55414,7 @@ __decorate([
53790
55414
  ], StarLoopbackState.prototype, "stateType", null);
53791
55415
  exports.StarLoopbackState = StarLoopbackState;
53792
55416
 
53793
- },{"../Decorators":223,"./ATNState":262,"./ATNStateType":263}],317:[function(require,module,exports){
55417
+ },{"../Decorators":230,"./ATNState":269,"./ATNStateType":270}],324:[function(require,module,exports){
53794
55418
  "use strict";
53795
55419
  /*!
53796
55420
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53819,7 +55443,7 @@ __decorate([
53819
55443
  ], TokensStartState.prototype, "stateType", null);
53820
55444
  exports.TokensStartState = TokensStartState;
53821
55445
 
53822
- },{"../Decorators":223,"./ATNStateType":263,"./DecisionState":276}],318:[function(require,module,exports){
55446
+ },{"../Decorators":230,"./ATNStateType":270,"./DecisionState":283}],325:[function(require,module,exports){
53823
55447
  "use strict";
53824
55448
  /*!
53825
55449
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53893,7 +55517,7 @@ Transition = __decorate([
53893
55517
  ], Transition);
53894
55518
  exports.Transition = Transition;
53895
55519
 
53896
- },{"../Decorators":223}],319:[function(require,module,exports){
55520
+ },{"../Decorators":230}],326:[function(require,module,exports){
53897
55521
  "use strict";
53898
55522
  /*!
53899
55523
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53941,7 +55565,7 @@ WildcardTransition = __decorate([
53941
55565
  ], WildcardTransition);
53942
55566
  exports.WildcardTransition = WildcardTransition;
53943
55567
 
53944
- },{"../Decorators":223,"./Transition":318}],320:[function(require,module,exports){
55568
+ },{"../Decorators":230,"./Transition":325}],327:[function(require,module,exports){
53945
55569
  "use strict";
53946
55570
  /*!
53947
55571
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -53983,7 +55607,7 @@ class AcceptStateInfo {
53983
55607
  }
53984
55608
  exports.AcceptStateInfo = AcceptStateInfo;
53985
55609
 
53986
- },{}],321:[function(require,module,exports){
55610
+ },{}],328:[function(require,module,exports){
53987
55611
  "use strict";
53988
55612
  /*!
53989
55613
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54158,7 +55782,7 @@ DFA = __decorate([
54158
55782
  ], DFA);
54159
55783
  exports.DFA = DFA;
54160
55784
 
54161
- },{"../Decorators":223,"../VocabularyImpl":254,"../atn/ATNConfigSet":258,"../atn/StarLoopEntryState":315,"../misc/Array2DHashSet":327,"../misc/ObjectEqualityComparator":339,"./DFASerializer":322,"./DFAState":323,"./LexerDFASerializer":324}],322:[function(require,module,exports){
55785
+ },{"../Decorators":230,"../VocabularyImpl":261,"../atn/ATNConfigSet":265,"../atn/StarLoopEntryState":322,"../misc/Array2DHashSet":334,"../misc/ObjectEqualityComparator":346,"./DFASerializer":329,"./DFAState":330,"./LexerDFASerializer":331}],329:[function(require,module,exports){
54162
55786
  "use strict";
54163
55787
  /*!
54164
55788
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54300,7 +55924,7 @@ __decorate([
54300
55924
  ], DFASerializer.prototype, "toString", null);
54301
55925
  exports.DFASerializer = DFASerializer;
54302
55926
 
54303
- },{"../Decorators":223,"../Recognizer":243,"../VocabularyImpl":254,"../atn/ATNSimulator":261,"../atn/PredictionContext":303}],323:[function(require,module,exports){
55927
+ },{"../Decorators":230,"../Recognizer":250,"../VocabularyImpl":261,"../atn/ATNSimulator":268,"../atn/PredictionContext":310}],330:[function(require,module,exports){
54304
55928
  "use strict";
54305
55929
  /*!
54306
55930
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54531,7 +56155,7 @@ exports.DFAState = DFAState;
54531
56155
  DFAState.PredPrediction = PredPrediction;
54532
56156
  })(DFAState = exports.DFAState || (exports.DFAState = {}));
54533
56157
 
54534
- },{"../Decorators":223,"../atn/ATN":256,"../atn/PredictionContext":303,"../misc/BitSet":330,"../misc/MurmurHash":338,"assert":366}],324:[function(require,module,exports){
56158
+ },{"../Decorators":230,"../atn/ATN":263,"../atn/PredictionContext":310,"../misc/BitSet":337,"../misc/MurmurHash":345,"assert":373}],331:[function(require,module,exports){
54535
56159
  "use strict";
54536
56160
  /*!
54537
56161
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54568,7 +56192,7 @@ LexerDFASerializer = __decorate([
54568
56192
  ], LexerDFASerializer);
54569
56193
  exports.LexerDFASerializer = LexerDFASerializer;
54570
56194
 
54571
- },{"../Decorators":223,"../VocabularyImpl":254,"./DFASerializer":322}],325:[function(require,module,exports){
56195
+ },{"../Decorators":230,"../VocabularyImpl":261,"./DFASerializer":329}],332:[function(require,module,exports){
54572
56196
  "use strict";
54573
56197
  /*!
54574
56198
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54634,7 +56258,7 @@ __exportStar(require("./Vocabulary"), exports);
54634
56258
  __exportStar(require("./VocabularyImpl"), exports);
54635
56259
  __exportStar(require("./WritableToken"), exports);
54636
56260
 
54637
- },{"./ANTLRErrorListener":210,"./ANTLRErrorStrategy":211,"./ANTLRInputStream":212,"./BailErrorStrategy":213,"./BufferedTokenStream":214,"./CharStream":215,"./CharStreams":216,"./CodePointBuffer":217,"./CodePointCharStream":218,"./CommonToken":219,"./CommonTokenFactory":220,"./CommonTokenStream":221,"./ConsoleErrorListener":222,"./DefaultErrorStrategy":224,"./Dependents":225,"./DiagnosticErrorListener":226,"./FailedPredicateException":227,"./InputMismatchException":228,"./IntStream":229,"./InterpreterRuleContext":230,"./Lexer":231,"./LexerInterpreter":232,"./LexerNoViableAltException":233,"./ListTokenSource":234,"./NoViableAltException":235,"./Parser":236,"./ParserErrorListener":237,"./ParserInterpreter":238,"./ParserRuleContext":239,"./ProxyErrorListener":240,"./ProxyParserErrorListener":241,"./RecognitionException":242,"./Recognizer":243,"./RuleContext":244,"./RuleContextWithAltNum":245,"./RuleDependency":246,"./RuleVersion":247,"./Token":248,"./TokenFactory":249,"./TokenSource":250,"./TokenStream":251,"./TokenStreamRewriter":252,"./Vocabulary":253,"./VocabularyImpl":254,"./WritableToken":255}],326:[function(require,module,exports){
56261
+ },{"./ANTLRErrorListener":217,"./ANTLRErrorStrategy":218,"./ANTLRInputStream":219,"./BailErrorStrategy":220,"./BufferedTokenStream":221,"./CharStream":222,"./CharStreams":223,"./CodePointBuffer":224,"./CodePointCharStream":225,"./CommonToken":226,"./CommonTokenFactory":227,"./CommonTokenStream":228,"./ConsoleErrorListener":229,"./DefaultErrorStrategy":231,"./Dependents":232,"./DiagnosticErrorListener":233,"./FailedPredicateException":234,"./InputMismatchException":235,"./IntStream":236,"./InterpreterRuleContext":237,"./Lexer":238,"./LexerInterpreter":239,"./LexerNoViableAltException":240,"./ListTokenSource":241,"./NoViableAltException":242,"./Parser":243,"./ParserErrorListener":244,"./ParserInterpreter":245,"./ParserRuleContext":246,"./ProxyErrorListener":247,"./ProxyParserErrorListener":248,"./RecognitionException":249,"./Recognizer":250,"./RuleContext":251,"./RuleContextWithAltNum":252,"./RuleDependency":253,"./RuleVersion":254,"./Token":255,"./TokenFactory":256,"./TokenSource":257,"./TokenStream":258,"./TokenStreamRewriter":259,"./Vocabulary":260,"./VocabularyImpl":261,"./WritableToken":262}],333:[function(require,module,exports){
54638
56262
  "use strict";
54639
56263
  /*!
54640
56264
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -54717,7 +56341,7 @@ class Array2DHashMap {
54717
56341
  }
54718
56342
  exports.Array2DHashMap = Array2DHashMap;
54719
56343
 
54720
- },{"./Array2DHashSet":327}],327:[function(require,module,exports){
56344
+ },{"./Array2DHashSet":334}],334:[function(require,module,exports){
54721
56345
  "use strict";
54722
56346
  /*!
54723
56347
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55084,7 +56708,7 @@ __decorate([
55084
56708
  ], Array2DHashSet.prototype, "createBuckets", null);
55085
56709
  exports.Array2DHashSet = Array2DHashSet;
55086
56710
 
55087
- },{"../Decorators":223,"./DefaultEqualityComparator":332,"./MurmurHash":338,"assert":366}],328:[function(require,module,exports){
56711
+ },{"../Decorators":230,"./DefaultEqualityComparator":339,"./MurmurHash":345,"assert":373}],335:[function(require,module,exports){
55088
56712
  "use strict";
55089
56713
  /*!
55090
56714
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55156,7 +56780,7 @@ __decorate([
55156
56780
  ], ArrayEqualityComparator.prototype, "equals", null);
55157
56781
  exports.ArrayEqualityComparator = ArrayEqualityComparator;
55158
56782
 
55159
- },{"../Decorators":223,"./MurmurHash":338,"./ObjectEqualityComparator":339}],329:[function(require,module,exports){
56783
+ },{"../Decorators":230,"./MurmurHash":345,"./ObjectEqualityComparator":346}],336:[function(require,module,exports){
55160
56784
  "use strict";
55161
56785
  /*!
55162
56786
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55226,7 +56850,7 @@ var Arrays;
55226
56850
  Arrays.toString = toString;
55227
56851
  })(Arrays = exports.Arrays || (exports.Arrays = {}));
55228
56852
 
55229
- },{}],330:[function(require,module,exports){
56853
+ },{}],337:[function(require,module,exports){
55230
56854
  "use strict";
55231
56855
  /*!
55232
56856
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55898,7 +57522,7 @@ class BitSetIterator {
55898
57522
  [Symbol.iterator]() { return this; }
55899
57523
  }
55900
57524
 
55901
- },{"./MurmurHash":338,"util":430}],331:[function(require,module,exports){
57525
+ },{"./MurmurHash":345,"util":437}],338:[function(require,module,exports){
55902
57526
  "use strict";
55903
57527
  /*!
55904
57528
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55919,7 +57543,7 @@ function isSupplementaryCodePoint(ch) {
55919
57543
  }
55920
57544
  exports.isSupplementaryCodePoint = isSupplementaryCodePoint;
55921
57545
 
55922
- },{}],332:[function(require,module,exports){
57546
+ },{}],339:[function(require,module,exports){
55923
57547
  "use strict";
55924
57548
  /*!
55925
57549
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -55990,7 +57614,7 @@ __decorate([
55990
57614
  ], DefaultEqualityComparator.prototype, "equals", null);
55991
57615
  exports.DefaultEqualityComparator = DefaultEqualityComparator;
55992
57616
 
55993
- },{"../Decorators":223,"./MurmurHash":338,"./ObjectEqualityComparator":339}],333:[function(require,module,exports){
57617
+ },{"../Decorators":230,"./MurmurHash":345,"./ObjectEqualityComparator":346}],340:[function(require,module,exports){
55994
57618
  "use strict";
55995
57619
  /*!
55996
57620
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -56284,7 +57908,7 @@ __decorate([
56284
57908
  ], IntegerList.prototype, "toString", null);
56285
57909
  exports.IntegerList = IntegerList;
56286
57910
 
56287
- },{"../Decorators":223,"./Arrays":329}],334:[function(require,module,exports){
57911
+ },{"../Decorators":230,"./Arrays":336}],341:[function(require,module,exports){
56288
57912
  "use strict";
56289
57913
  /*!
56290
57914
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -56314,7 +57938,7 @@ class IntegerStack extends IntegerList_1.IntegerList {
56314
57938
  }
56315
57939
  exports.IntegerStack = IntegerStack;
56316
57940
 
56317
- },{"./IntegerList":333}],335:[function(require,module,exports){
57941
+ },{"./IntegerList":340}],342:[function(require,module,exports){
56318
57942
  "use strict";
56319
57943
  /*!
56320
57944
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -56457,7 +58081,7 @@ __decorate([
56457
58081
  ], Interval.prototype, "toString", null);
56458
58082
  exports.Interval = Interval;
56459
58083
 
56460
- },{"../Decorators":223}],336:[function(require,module,exports){
58084
+ },{"../Decorators":230}],343:[function(require,module,exports){
56461
58085
  "use strict";
56462
58086
  /*!
56463
58087
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57103,7 +58727,7 @@ __decorate([
57103
58727
  ], IntervalSet, "subtract", null);
57104
58728
  exports.IntervalSet = IntervalSet;
57105
58729
 
57106
- },{"../Decorators":223,"../Lexer":231,"../Token":248,"./ArrayEqualityComparator":328,"./IntegerList":333,"./Interval":335,"./MurmurHash":338}],337:[function(require,module,exports){
58730
+ },{"../Decorators":230,"../Lexer":238,"../Token":255,"./ArrayEqualityComparator":335,"./IntegerList":340,"./Interval":342,"./MurmurHash":345}],344:[function(require,module,exports){
57107
58731
  "use strict";
57108
58732
  /*!
57109
58733
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57136,7 +58760,7 @@ class MultiMap extends Map {
57136
58760
  }
57137
58761
  exports.MultiMap = MultiMap;
57138
58762
 
57139
- },{}],338:[function(require,module,exports){
58763
+ },{}],345:[function(require,module,exports){
57140
58764
  "use strict";
57141
58765
  /*!
57142
58766
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57251,7 +58875,7 @@ var MurmurHash;
57251
58875
  }
57252
58876
  })(MurmurHash = exports.MurmurHash || (exports.MurmurHash = {}));
57253
58877
 
57254
- },{}],339:[function(require,module,exports){
58878
+ },{}],346:[function(require,module,exports){
57255
58879
  "use strict";
57256
58880
  /*!
57257
58881
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57310,7 +58934,7 @@ __decorate([
57310
58934
  ], ObjectEqualityComparator.prototype, "equals", null);
57311
58935
  exports.ObjectEqualityComparator = ObjectEqualityComparator;
57312
58936
 
57313
- },{"../Decorators":223}],340:[function(require,module,exports){
58937
+ },{"../Decorators":230}],347:[function(require,module,exports){
57314
58938
  "use strict";
57315
58939
  /*!
57316
58940
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57339,7 +58963,7 @@ class ParseCancellationException extends Error {
57339
58963
  }
57340
58964
  exports.ParseCancellationException = ParseCancellationException;
57341
58965
 
57342
- },{}],341:[function(require,module,exports){
58966
+ },{}],348:[function(require,module,exports){
57343
58967
  "use strict";
57344
58968
  /*!
57345
58969
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57393,7 +59017,7 @@ class UUID {
57393
59017
  }
57394
59018
  exports.UUID = UUID;
57395
59019
 
57396
- },{"./MurmurHash":338}],342:[function(require,module,exports){
59020
+ },{"./MurmurHash":345}],349:[function(require,module,exports){
57397
59021
  "use strict";
57398
59022
  /*!
57399
59023
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57568,7 +59192,7 @@ exports.toCharArray = toCharArray;
57568
59192
  // return s;
57569
59193
  // }
57570
59194
 
57571
- },{}],343:[function(require,module,exports){
59195
+ },{}],350:[function(require,module,exports){
57572
59196
  "use strict";
57573
59197
  /*!
57574
59198
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57604,7 +59228,7 @@ __decorate([
57604
59228
  ], ErrorNode.prototype, "accept", null);
57605
59229
  exports.ErrorNode = ErrorNode;
57606
59230
 
57607
- },{"../Decorators":223,"./TerminalNode":346}],344:[function(require,module,exports){
59231
+ },{"../Decorators":230,"./TerminalNode":353}],351:[function(require,module,exports){
57608
59232
  "use strict";
57609
59233
  /*!
57610
59234
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57709,7 +59333,7 @@ exports.ParseTreeWalker = ParseTreeWalker;
57709
59333
  ParseTreeWalker.DEFAULT = new ParseTreeWalker();
57710
59334
  })(ParseTreeWalker = exports.ParseTreeWalker || (exports.ParseTreeWalker = {}));
57711
59335
 
57712
- },{"./ErrorNode":343,"./RuleNode":345,"./TerminalNode":346}],345:[function(require,module,exports){
59336
+ },{"./ErrorNode":350,"./RuleNode":352,"./TerminalNode":353}],352:[function(require,module,exports){
57713
59337
  "use strict";
57714
59338
  /*!
57715
59339
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57721,7 +59345,7 @@ class RuleNode {
57721
59345
  }
57722
59346
  exports.RuleNode = RuleNode;
57723
59347
 
57724
- },{}],346:[function(require,module,exports){
59348
+ },{}],353:[function(require,module,exports){
57725
59349
  "use strict";
57726
59350
  /*!
57727
59351
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -57813,7 +59437,7 @@ __decorate([
57813
59437
  ], TerminalNode.prototype, "toString", null);
57814
59438
  exports.TerminalNode = TerminalNode;
57815
59439
 
57816
- },{"../Decorators":223,"../Token":248,"../misc/Interval":335}],347:[function(require,module,exports){
59440
+ },{"../Decorators":230,"../Token":255,"../misc/Interval":342}],354:[function(require,module,exports){
57817
59441
  "use strict";
57818
59442
  /*!
57819
59443
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -58057,7 +59681,7 @@ __decorate([
58057
59681
  ], Trees, "getRootOfSubtreeEnclosingRegion", null);
58058
59682
  exports.Trees = Trees;
58059
59683
 
58060
- },{"../CommonToken":219,"../Decorators":223,"../Parser":236,"../ParserRuleContext":239,"../Token":248,"../atn/ATN":256,"../misc/Utils":342,"./ErrorNode":343,"./RuleNode":345,"./TerminalNode":346}],348:[function(require,module,exports){
59684
+ },{"../CommonToken":226,"../Decorators":230,"../Parser":243,"../ParserRuleContext":246,"../Token":255,"../atn/ATN":263,"../misc/Utils":349,"./ErrorNode":350,"./RuleNode":352,"./TerminalNode":353}],355:[function(require,module,exports){
58061
59685
  "use strict";
58062
59686
  /*!
58063
59687
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -58081,7 +59705,7 @@ class Chunk {
58081
59705
  }
58082
59706
  exports.Chunk = Chunk;
58083
59707
 
58084
- },{}],349:[function(require,module,exports){
59708
+ },{}],356:[function(require,module,exports){
58085
59709
  "use strict";
58086
59710
  /*!
58087
59711
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -58261,7 +59885,7 @@ ParseTreeMatch = __decorate([
58261
59885
  ], ParseTreeMatch);
58262
59886
  exports.ParseTreeMatch = ParseTreeMatch;
58263
59887
 
58264
- },{"../../Decorators":223}],350:[function(require,module,exports){
59888
+ },{"../../Decorators":230}],357:[function(require,module,exports){
58265
59889
  "use strict";
58266
59890
  /*!
58267
59891
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -58419,7 +60043,7 @@ ParseTreePattern = __decorate([
58419
60043
  ], ParseTreePattern);
58420
60044
  exports.ParseTreePattern = ParseTreePattern;
58421
60045
 
58422
- },{"../../Decorators":223,"../xpath/XPath":356}],351:[function(require,module,exports){
60046
+ },{"../../Decorators":230,"../xpath/XPath":363}],358:[function(require,module,exports){
58423
60047
  "use strict";
58424
60048
  /*!
58425
60049
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -58897,7 +60521,7 @@ exports.ParseTreePatternMatcher = ParseTreePatternMatcher;
58897
60521
  ParseTreePatternMatcher.StartRuleDoesNotConsumeFullPattern = StartRuleDoesNotConsumeFullPattern;
58898
60522
  })(ParseTreePatternMatcher = exports.ParseTreePatternMatcher || (exports.ParseTreePatternMatcher = {}));
58899
60523
 
58900
- },{"../../BailErrorStrategy":213,"../../CharStreams":216,"../../CommonTokenStream":221,"../../Decorators":223,"../../ListTokenSource":234,"../../ParserInterpreter":238,"../../ParserRuleContext":239,"../../RecognitionException":242,"../../Token":248,"../../misc/MultiMap":337,"../../misc/ParseCancellationException":340,"../RuleNode":345,"../TerminalNode":346,"./ParseTreeMatch":349,"./ParseTreePattern":350,"./RuleTagToken":352,"./TagChunk":353,"./TextChunk":354,"./TokenTagToken":355}],352:[function(require,module,exports){
60524
+ },{"../../BailErrorStrategy":220,"../../CharStreams":223,"../../CommonTokenStream":228,"../../Decorators":230,"../../ListTokenSource":241,"../../ParserInterpreter":245,"../../ParserRuleContext":246,"../../RecognitionException":249,"../../Token":255,"../../misc/MultiMap":344,"../../misc/ParseCancellationException":347,"../RuleNode":352,"../TerminalNode":353,"./ParseTreeMatch":356,"./ParseTreePattern":357,"./RuleTagToken":359,"./TagChunk":360,"./TextChunk":361,"./TokenTagToken":362}],359:[function(require,module,exports){
58901
60525
  "use strict";
58902
60526
  /*!
58903
60527
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -59095,7 +60719,7 @@ RuleTagToken = __decorate([
59095
60719
  ], RuleTagToken);
59096
60720
  exports.RuleTagToken = RuleTagToken;
59097
60721
 
59098
- },{"../../Decorators":223,"../../Token":248}],353:[function(require,module,exports){
60722
+ },{"../../Decorators":230,"../../Token":255}],360:[function(require,module,exports){
59099
60723
  "use strict";
59100
60724
  /*!
59101
60725
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -59182,7 +60806,7 @@ __decorate([
59182
60806
  ], TagChunk.prototype, "toString", null);
59183
60807
  exports.TagChunk = TagChunk;
59184
60808
 
59185
- },{"../../Decorators":223,"./Chunk":348}],354:[function(require,module,exports){
60809
+ },{"../../Decorators":230,"./Chunk":355}],361:[function(require,module,exports){
59186
60810
  "use strict";
59187
60811
  /*!
59188
60812
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -59252,7 +60876,7 @@ TextChunk = __decorate([
59252
60876
  ], TextChunk);
59253
60877
  exports.TextChunk = TextChunk;
59254
60878
 
59255
- },{"../../Decorators":223,"./Chunk":348}],355:[function(require,module,exports){
60879
+ },{"../../Decorators":230,"./Chunk":355}],362:[function(require,module,exports){
59256
60880
  "use strict";
59257
60881
  /*!
59258
60882
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -59347,7 +60971,7 @@ TokenTagToken = __decorate([
59347
60971
  ], TokenTagToken);
59348
60972
  exports.TokenTagToken = TokenTagToken;
59349
60973
 
59350
- },{"../../CommonToken":219,"../../Decorators":223}],356:[function(require,module,exports){
60974
+ },{"../../CommonToken":226,"../../Decorators":230}],363:[function(require,module,exports){
59351
60975
  "use strict";
59352
60976
  /*!
59353
60977
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -59544,7 +61168,7 @@ exports.XPath = XPath;
59544
61168
  XPath.WILDCARD = "*"; // word not operator/separator
59545
61169
  XPath.NOT = "!"; // word for invert operator
59546
61170
 
59547
- },{"../../CharStreams":216,"../../CommonTokenStream":221,"../../LexerNoViableAltException":233,"../../ParserRuleContext":239,"../../Token":248,"./XPathLexer":358,"./XPathLexerErrorListener":359,"./XPathRuleAnywhereElement":360,"./XPathRuleElement":361,"./XPathTokenAnywhereElement":362,"./XPathTokenElement":363,"./XPathWildcardAnywhereElement":364,"./XPathWildcardElement":365}],357:[function(require,module,exports){
61171
+ },{"../../CharStreams":223,"../../CommonTokenStream":228,"../../LexerNoViableAltException":240,"../../ParserRuleContext":246,"../../Token":255,"./XPathLexer":365,"./XPathLexerErrorListener":366,"./XPathRuleAnywhereElement":367,"./XPathRuleElement":368,"./XPathTokenAnywhereElement":369,"./XPathTokenElement":370,"./XPathWildcardAnywhereElement":371,"./XPathWildcardElement":372}],364:[function(require,module,exports){
59548
61172
  "use strict";
59549
61173
  /*!
59550
61174
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -59579,7 +61203,7 @@ __decorate([
59579
61203
  ], XPathElement.prototype, "toString", null);
59580
61204
  exports.XPathElement = XPathElement;
59581
61205
 
59582
- },{"../../Decorators":223}],358:[function(require,module,exports){
61206
+ },{"../../Decorators":230}],365:[function(require,module,exports){
59583
61207
  "use strict";
59584
61208
  // Generated from XPathLexer.g4 by ANTLR 4.9.0-SNAPSHOT
59585
61209
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -60054,7 +61678,7 @@ XPathLexer._serializedATN = Utils.join([
60054
61678
  XPathLexer._serializedATNSegment1,
60055
61679
  ], "");
60056
61680
 
60057
- },{"../../Lexer":231,"../../VocabularyImpl":254,"../../atn/ATNDeserializer":260,"../../atn/LexerATNSimulator":281,"../../misc/Utils":342}],359:[function(require,module,exports){
61681
+ },{"../../Lexer":238,"../../VocabularyImpl":261,"../../atn/ATNDeserializer":267,"../../atn/LexerATNSimulator":288,"../../misc/Utils":349}],366:[function(require,module,exports){
60058
61682
  "use strict";
60059
61683
  /*!
60060
61684
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -60079,7 +61703,7 @@ __decorate([
60079
61703
  ], XPathLexerErrorListener.prototype, "syntaxError", null);
60080
61704
  exports.XPathLexerErrorListener = XPathLexerErrorListener;
60081
61705
 
60082
- },{"../../Decorators":223}],360:[function(require,module,exports){
61706
+ },{"../../Decorators":230}],367:[function(require,module,exports){
60083
61707
  "use strict";
60084
61708
  /*!
60085
61709
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -60113,7 +61737,7 @@ __decorate([
60113
61737
  ], XPathRuleAnywhereElement.prototype, "evaluate", null);
60114
61738
  exports.XPathRuleAnywhereElement = XPathRuleAnywhereElement;
60115
61739
 
60116
- },{"../../Decorators":223,"../Trees":347,"./XPathElement":357}],361:[function(require,module,exports){
61740
+ },{"../../Decorators":230,"../Trees":354,"./XPathElement":364}],368:[function(require,module,exports){
60117
61741
  "use strict";
60118
61742
  /*!
60119
61743
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -60156,7 +61780,7 @@ __decorate([
60156
61780
  ], XPathRuleElement.prototype, "evaluate", null);
60157
61781
  exports.XPathRuleElement = XPathRuleElement;
60158
61782
 
60159
- },{"../../Decorators":223,"../../ParserRuleContext":239,"../Trees":347,"./XPathElement":357}],362:[function(require,module,exports){
61783
+ },{"../../Decorators":230,"../../ParserRuleContext":246,"../Trees":354,"./XPathElement":364}],369:[function(require,module,exports){
60160
61784
  "use strict";
60161
61785
  /*!
60162
61786
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -60188,7 +61812,7 @@ __decorate([
60188
61812
  ], XPathTokenAnywhereElement.prototype, "evaluate", null);
60189
61813
  exports.XPathTokenAnywhereElement = XPathTokenAnywhereElement;
60190
61814
 
60191
- },{"../../Decorators":223,"../Trees":347,"./XPathElement":357}],363:[function(require,module,exports){
61815
+ },{"../../Decorators":230,"../Trees":354,"./XPathElement":364}],370:[function(require,module,exports){
60192
61816
  "use strict";
60193
61817
  /*!
60194
61818
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -60231,7 +61855,7 @@ __decorate([
60231
61855
  ], XPathTokenElement.prototype, "evaluate", null);
60232
61856
  exports.XPathTokenElement = XPathTokenElement;
60233
61857
 
60234
- },{"../../Decorators":223,"../TerminalNode":346,"../Trees":347,"./XPathElement":357}],364:[function(require,module,exports){
61858
+ },{"../../Decorators":230,"../TerminalNode":353,"../Trees":354,"./XPathElement":364}],371:[function(require,module,exports){
60235
61859
  "use strict";
60236
61860
  /*!
60237
61861
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -60267,7 +61891,7 @@ __decorate([
60267
61891
  ], XPathWildcardAnywhereElement.prototype, "evaluate", null);
60268
61892
  exports.XPathWildcardAnywhereElement = XPathWildcardAnywhereElement;
60269
61893
 
60270
- },{"../../Decorators":223,"../Trees":347,"./XPath":356,"./XPathElement":357}],365:[function(require,module,exports){
61894
+ },{"../../Decorators":230,"../Trees":354,"./XPath":363,"./XPathElement":364}],372:[function(require,module,exports){
60271
61895
  "use strict";
60272
61896
  /*!
60273
61897
  * Copyright 2016 The ANTLR Project. All rights reserved.
@@ -60307,7 +61931,7 @@ __decorate([
60307
61931
  ], XPathWildcardElement.prototype, "evaluate", null);
60308
61932
  exports.XPathWildcardElement = XPathWildcardElement;
60309
61933
 
60310
- },{"../../Decorators":223,"../Trees":347,"./XPath":356,"./XPathElement":357}],366:[function(require,module,exports){
61934
+ },{"../../Decorators":230,"../Trees":354,"./XPath":363,"./XPathElement":364}],373:[function(require,module,exports){
60311
61935
  (function (global){(function (){
60312
61936
  'use strict';
60313
61937
 
@@ -60817,7 +62441,7 @@ var objectKeys = Object.keys || function (obj) {
60817
62441
  };
60818
62442
 
60819
62443
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
60820
- },{"object.assign/polyfill":423,"util/":369}],367:[function(require,module,exports){
62444
+ },{"object.assign/polyfill":430,"util/":376}],374:[function(require,module,exports){
60821
62445
  if (typeof Object.create === 'function') {
60822
62446
  // implementation from standard node.js 'util' module
60823
62447
  module.exports = function inherits(ctor, superCtor) {
@@ -60842,14 +62466,14 @@ if (typeof Object.create === 'function') {
60842
62466
  }
60843
62467
  }
60844
62468
 
60845
- },{}],368:[function(require,module,exports){
62469
+ },{}],375:[function(require,module,exports){
60846
62470
  module.exports = function isBuffer(arg) {
60847
62471
  return arg && typeof arg === 'object'
60848
62472
  && typeof arg.copy === 'function'
60849
62473
  && typeof arg.fill === 'function'
60850
62474
  && typeof arg.readUInt8 === 'function';
60851
62475
  }
60852
- },{}],369:[function(require,module,exports){
62476
+ },{}],376:[function(require,module,exports){
60853
62477
  (function (process,global){(function (){
60854
62478
  // Copyright Joyent, Inc. and other Node contributors.
60855
62479
  //
@@ -61439,7 +63063,7 @@ function hasOwnProperty(obj, prop) {
61439
63063
  }
61440
63064
 
61441
63065
  }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
61442
- },{"./support/isBuffer":368,"_process":425,"inherits":367}],370:[function(require,module,exports){
63066
+ },{"./support/isBuffer":375,"_process":432,"inherits":374}],377:[function(require,module,exports){
61443
63067
  (function (global){(function (){
61444
63068
  'use strict';
61445
63069
 
@@ -61460,7 +63084,7 @@ module.exports = function availableTypedArrays() {
61460
63084
  };
61461
63085
 
61462
63086
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
61463
- },{"possible-typed-array-names":424}],371:[function(require,module,exports){
63087
+ },{"possible-typed-array-names":431}],378:[function(require,module,exports){
61464
63088
  (function (process,global){(function (){
61465
63089
  module.exports = process.hrtime || hrtime
61466
63090
 
@@ -61491,7 +63115,7 @@ function hrtime(previousTimestamp){
61491
63115
  return [seconds,nanoseconds]
61492
63116
  }
61493
63117
  }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
61494
- },{"_process":425}],372:[function(require,module,exports){
63118
+ },{"_process":432}],379:[function(require,module,exports){
61495
63119
  'use strict';
61496
63120
 
61497
63121
  var bind = require('function-bind');
@@ -61503,7 +63127,7 @@ var $reflectApply = require('./reflectApply');
61503
63127
  /** @type {import('./actualApply')} */
61504
63128
  module.exports = $reflectApply || bind.call($call, $apply);
61505
63129
 
61506
- },{"./functionApply":374,"./functionCall":375,"./reflectApply":377,"function-bind":393}],373:[function(require,module,exports){
63130
+ },{"./functionApply":381,"./functionCall":382,"./reflectApply":384,"function-bind":400}],380:[function(require,module,exports){
61507
63131
  'use strict';
61508
63132
 
61509
63133
  var bind = require('function-bind');
@@ -61515,19 +63139,19 @@ module.exports = function applyBind() {
61515
63139
  return actualApply(bind, $apply, arguments);
61516
63140
  };
61517
63141
 
61518
- },{"./actualApply":372,"./functionApply":374,"function-bind":393}],374:[function(require,module,exports){
63142
+ },{"./actualApply":379,"./functionApply":381,"function-bind":400}],381:[function(require,module,exports){
61519
63143
  'use strict';
61520
63144
 
61521
63145
  /** @type {import('./functionApply')} */
61522
63146
  module.exports = Function.prototype.apply;
61523
63147
 
61524
- },{}],375:[function(require,module,exports){
63148
+ },{}],382:[function(require,module,exports){
61525
63149
  'use strict';
61526
63150
 
61527
63151
  /** @type {import('./functionCall')} */
61528
63152
  module.exports = Function.prototype.call;
61529
63153
 
61530
- },{}],376:[function(require,module,exports){
63154
+ },{}],383:[function(require,module,exports){
61531
63155
  'use strict';
61532
63156
 
61533
63157
  var bind = require('function-bind');
@@ -61544,13 +63168,13 @@ module.exports = function callBindBasic(args) {
61544
63168
  return $actualApply(bind, $call, args);
61545
63169
  };
61546
63170
 
61547
- },{"./actualApply":372,"./functionCall":375,"es-errors/type":388,"function-bind":393}],377:[function(require,module,exports){
63171
+ },{"./actualApply":379,"./functionCall":382,"es-errors/type":395,"function-bind":400}],384:[function(require,module,exports){
61548
63172
  'use strict';
61549
63173
 
61550
63174
  /** @type {import('./reflectApply')} */
61551
63175
  module.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;
61552
63176
 
61553
- },{}],378:[function(require,module,exports){
63177
+ },{}],385:[function(require,module,exports){
61554
63178
  'use strict';
61555
63179
 
61556
63180
  var setFunctionLength = require('set-function-length');
@@ -61576,7 +63200,7 @@ if ($defineProperty) {
61576
63200
  module.exports.apply = applyBind;
61577
63201
  }
61578
63202
 
61579
- },{"call-bind-apply-helpers":376,"call-bind-apply-helpers/applyBind":373,"es-define-property":382,"set-function-length":427}],379:[function(require,module,exports){
63203
+ },{"call-bind-apply-helpers":383,"call-bind-apply-helpers/applyBind":380,"es-define-property":389,"set-function-length":434}],386:[function(require,module,exports){
61580
63204
  'use strict';
61581
63205
 
61582
63206
  var GetIntrinsic = require('get-intrinsic');
@@ -61597,7 +63221,7 @@ module.exports = function callBoundIntrinsic(name, allowMissing) {
61597
63221
  return intrinsic;
61598
63222
  };
61599
63223
 
61600
- },{"call-bind-apply-helpers":376,"get-intrinsic":394}],380:[function(require,module,exports){
63224
+ },{"call-bind-apply-helpers":383,"get-intrinsic":401}],387:[function(require,module,exports){
61601
63225
  'use strict';
61602
63226
 
61603
63227
  var $defineProperty = require('es-define-property');
@@ -61655,7 +63279,7 @@ module.exports = function defineDataProperty(
61655
63279
  }
61656
63280
  };
61657
63281
 
61658
- },{"es-define-property":382,"es-errors/syntax":387,"es-errors/type":388,"gopd":399}],381:[function(require,module,exports){
63282
+ },{"es-define-property":389,"es-errors/syntax":394,"es-errors/type":395,"gopd":406}],388:[function(require,module,exports){
61659
63283
  'use strict';
61660
63284
 
61661
63285
  var callBind = require('call-bind-apply-helpers');
@@ -61687,7 +63311,7 @@ module.exports = desc && typeof desc.get === 'function'
61687
63311
  }
61688
63312
  : false;
61689
63313
 
61690
- },{"call-bind-apply-helpers":376,"gopd":399}],382:[function(require,module,exports){
63314
+ },{"call-bind-apply-helpers":383,"gopd":406}],389:[function(require,module,exports){
61691
63315
  'use strict';
61692
63316
 
61693
63317
  /** @type {import('.')} */
@@ -61703,55 +63327,55 @@ if ($defineProperty) {
61703
63327
 
61704
63328
  module.exports = $defineProperty;
61705
63329
 
61706
- },{}],383:[function(require,module,exports){
63330
+ },{}],390:[function(require,module,exports){
61707
63331
  'use strict';
61708
63332
 
61709
63333
  /** @type {import('./eval')} */
61710
63334
  module.exports = EvalError;
61711
63335
 
61712
- },{}],384:[function(require,module,exports){
63336
+ },{}],391:[function(require,module,exports){
61713
63337
  'use strict';
61714
63338
 
61715
63339
  /** @type {import('.')} */
61716
63340
  module.exports = Error;
61717
63341
 
61718
- },{}],385:[function(require,module,exports){
63342
+ },{}],392:[function(require,module,exports){
61719
63343
  'use strict';
61720
63344
 
61721
63345
  /** @type {import('./range')} */
61722
63346
  module.exports = RangeError;
61723
63347
 
61724
- },{}],386:[function(require,module,exports){
63348
+ },{}],393:[function(require,module,exports){
61725
63349
  'use strict';
61726
63350
 
61727
63351
  /** @type {import('./ref')} */
61728
63352
  module.exports = ReferenceError;
61729
63353
 
61730
- },{}],387:[function(require,module,exports){
63354
+ },{}],394:[function(require,module,exports){
61731
63355
  'use strict';
61732
63356
 
61733
63357
  /** @type {import('./syntax')} */
61734
63358
  module.exports = SyntaxError;
61735
63359
 
61736
- },{}],388:[function(require,module,exports){
63360
+ },{}],395:[function(require,module,exports){
61737
63361
  'use strict';
61738
63362
 
61739
63363
  /** @type {import('./type')} */
61740
63364
  module.exports = TypeError;
61741
63365
 
61742
- },{}],389:[function(require,module,exports){
63366
+ },{}],396:[function(require,module,exports){
61743
63367
  'use strict';
61744
63368
 
61745
63369
  /** @type {import('./uri')} */
61746
63370
  module.exports = URIError;
61747
63371
 
61748
- },{}],390:[function(require,module,exports){
63372
+ },{}],397:[function(require,module,exports){
61749
63373
  'use strict';
61750
63374
 
61751
63375
  /** @type {import('.')} */
61752
63376
  module.exports = Object;
61753
63377
 
61754
- },{}],391:[function(require,module,exports){
63378
+ },{}],398:[function(require,module,exports){
61755
63379
  'use strict';
61756
63380
 
61757
63381
  var isCallable = require('is-callable');
@@ -61822,7 +63446,7 @@ module.exports = function forEach(list, iterator, thisArg) {
61822
63446
  }
61823
63447
  };
61824
63448
 
61825
- },{"is-callable":407}],392:[function(require,module,exports){
63449
+ },{"is-callable":414}],399:[function(require,module,exports){
61826
63450
  'use strict';
61827
63451
 
61828
63452
  /* eslint no-invalid-this: 1 */
@@ -61908,14 +63532,14 @@ module.exports = function bind(that) {
61908
63532
  return bound;
61909
63533
  };
61910
63534
 
61911
- },{}],393:[function(require,module,exports){
63535
+ },{}],400:[function(require,module,exports){
61912
63536
  'use strict';
61913
63537
 
61914
63538
  var implementation = require('./implementation');
61915
63539
 
61916
63540
  module.exports = Function.prototype.bind || implementation;
61917
63541
 
61918
- },{"./implementation":392}],394:[function(require,module,exports){
63542
+ },{"./implementation":399}],401:[function(require,module,exports){
61919
63543
  'use strict';
61920
63544
 
61921
63545
  var undefined;
@@ -62295,7 +63919,7 @@ module.exports = function GetIntrinsic(name, allowMissing) {
62295
63919
  return value;
62296
63920
  };
62297
63921
 
62298
- },{"call-bind-apply-helpers/functionApply":374,"call-bind-apply-helpers/functionCall":375,"es-define-property":382,"es-errors":384,"es-errors/eval":383,"es-errors/range":385,"es-errors/ref":386,"es-errors/syntax":387,"es-errors/type":388,"es-errors/uri":389,"es-object-atoms":390,"function-bind":393,"get-proto":397,"get-proto/Object.getPrototypeOf":395,"get-proto/Reflect.getPrototypeOf":396,"gopd":399,"has-symbols":401,"hasown":404,"math-intrinsics/abs":411,"math-intrinsics/floor":412,"math-intrinsics/max":414,"math-intrinsics/min":415,"math-intrinsics/pow":416,"math-intrinsics/round":417,"math-intrinsics/sign":418}],395:[function(require,module,exports){
63922
+ },{"call-bind-apply-helpers/functionApply":381,"call-bind-apply-helpers/functionCall":382,"es-define-property":389,"es-errors":391,"es-errors/eval":390,"es-errors/range":392,"es-errors/ref":393,"es-errors/syntax":394,"es-errors/type":395,"es-errors/uri":396,"es-object-atoms":397,"function-bind":400,"get-proto":404,"get-proto/Object.getPrototypeOf":402,"get-proto/Reflect.getPrototypeOf":403,"gopd":406,"has-symbols":408,"hasown":411,"math-intrinsics/abs":418,"math-intrinsics/floor":419,"math-intrinsics/max":421,"math-intrinsics/min":422,"math-intrinsics/pow":423,"math-intrinsics/round":424,"math-intrinsics/sign":425}],402:[function(require,module,exports){
62299
63923
  'use strict';
62300
63924
 
62301
63925
  var $Object = require('es-object-atoms');
@@ -62303,13 +63927,13 @@ var $Object = require('es-object-atoms');
62303
63927
  /** @type {import('./Object.getPrototypeOf')} */
62304
63928
  module.exports = $Object.getPrototypeOf || null;
62305
63929
 
62306
- },{"es-object-atoms":390}],396:[function(require,module,exports){
63930
+ },{"es-object-atoms":397}],403:[function(require,module,exports){
62307
63931
  'use strict';
62308
63932
 
62309
63933
  /** @type {import('./Reflect.getPrototypeOf')} */
62310
63934
  module.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;
62311
63935
 
62312
- },{}],397:[function(require,module,exports){
63936
+ },{}],404:[function(require,module,exports){
62313
63937
  'use strict';
62314
63938
 
62315
63939
  var reflectGetProto = require('./Reflect.getPrototypeOf');
@@ -62338,13 +63962,13 @@ module.exports = reflectGetProto
62338
63962
  }
62339
63963
  : null;
62340
63964
 
62341
- },{"./Object.getPrototypeOf":395,"./Reflect.getPrototypeOf":396,"dunder-proto/get":381}],398:[function(require,module,exports){
63965
+ },{"./Object.getPrototypeOf":402,"./Reflect.getPrototypeOf":403,"dunder-proto/get":388}],405:[function(require,module,exports){
62342
63966
  'use strict';
62343
63967
 
62344
63968
  /** @type {import('./gOPD')} */
62345
63969
  module.exports = Object.getOwnPropertyDescriptor;
62346
63970
 
62347
- },{}],399:[function(require,module,exports){
63971
+ },{}],406:[function(require,module,exports){
62348
63972
  'use strict';
62349
63973
 
62350
63974
  /** @type {import('.')} */
@@ -62361,7 +63985,7 @@ if ($gOPD) {
62361
63985
 
62362
63986
  module.exports = $gOPD;
62363
63987
 
62364
- },{"./gOPD":398}],400:[function(require,module,exports){
63988
+ },{"./gOPD":405}],407:[function(require,module,exports){
62365
63989
  'use strict';
62366
63990
 
62367
63991
  var $defineProperty = require('es-define-property');
@@ -62385,7 +64009,7 @@ hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBu
62385
64009
 
62386
64010
  module.exports = hasPropertyDescriptors;
62387
64011
 
62388
- },{"es-define-property":382}],401:[function(require,module,exports){
64012
+ },{"es-define-property":389}],408:[function(require,module,exports){
62389
64013
  'use strict';
62390
64014
 
62391
64015
  var origSymbol = typeof Symbol !== 'undefined' && Symbol;
@@ -62401,7 +64025,7 @@ module.exports = function hasNativeSymbols() {
62401
64025
  return hasSymbolSham();
62402
64026
  };
62403
64027
 
62404
- },{"./shams":402}],402:[function(require,module,exports){
64028
+ },{"./shams":409}],409:[function(require,module,exports){
62405
64029
  'use strict';
62406
64030
 
62407
64031
  /** @type {import('./shams')} */
@@ -62448,7 +64072,7 @@ module.exports = function hasSymbols() {
62448
64072
  return true;
62449
64073
  };
62450
64074
 
62451
- },{}],403:[function(require,module,exports){
64075
+ },{}],410:[function(require,module,exports){
62452
64076
  'use strict';
62453
64077
 
62454
64078
  var hasSymbols = require('has-symbols/shams');
@@ -62458,7 +64082,7 @@ module.exports = function hasToStringTagShams() {
62458
64082
  return hasSymbols() && !!Symbol.toStringTag;
62459
64083
  };
62460
64084
 
62461
- },{"has-symbols/shams":402}],404:[function(require,module,exports){
64085
+ },{"has-symbols/shams":409}],411:[function(require,module,exports){
62462
64086
  'use strict';
62463
64087
 
62464
64088
  var call = Function.prototype.call;
@@ -62468,7 +64092,7 @@ var bind = require('function-bind');
62468
64092
  /** @type {import('.')} */
62469
64093
  module.exports = bind.call(call, $hasOwn);
62470
64094
 
62471
- },{"function-bind":393}],405:[function(require,module,exports){
64095
+ },{"function-bind":400}],412:[function(require,module,exports){
62472
64096
  if (typeof Object.create === 'function') {
62473
64097
  // implementation from standard node.js 'util' module
62474
64098
  module.exports = function inherits(ctor, superCtor) {
@@ -62497,7 +64121,7 @@ if (typeof Object.create === 'function') {
62497
64121
  }
62498
64122
  }
62499
64123
 
62500
- },{}],406:[function(require,module,exports){
64124
+ },{}],413:[function(require,module,exports){
62501
64125
  'use strict';
62502
64126
 
62503
64127
  var hasToStringTag = require('has-tostringtag/shams')();
@@ -62543,7 +64167,7 @@ isStandardArguments.isLegacyArguments = isLegacyArguments; // for tests
62543
64167
  /** @type {import('.')} */
62544
64168
  module.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;
62545
64169
 
62546
- },{"call-bound":379,"has-tostringtag/shams":403}],407:[function(require,module,exports){
64170
+ },{"call-bound":386,"has-tostringtag/shams":410}],414:[function(require,module,exports){
62547
64171
  'use strict';
62548
64172
 
62549
64173
  var fnToStr = Function.prototype.toString;
@@ -62646,7 +64270,7 @@ module.exports = reflectApply
62646
64270
  return tryFunctionObject(value);
62647
64271
  };
62648
64272
 
62649
- },{}],408:[function(require,module,exports){
64273
+ },{}],415:[function(require,module,exports){
62650
64274
  'use strict';
62651
64275
 
62652
64276
  var callBound = require('call-bound');
@@ -62695,7 +64319,7 @@ module.exports = function isGeneratorFunction(fn) {
62695
64319
  return getProto(fn) === GeneratorFunction;
62696
64320
  };
62697
64321
 
62698
- },{"call-bound":379,"get-proto":397,"has-tostringtag/shams":403,"safe-regex-test":426}],409:[function(require,module,exports){
64322
+ },{"call-bound":386,"get-proto":404,"has-tostringtag/shams":410,"safe-regex-test":433}],416:[function(require,module,exports){
62699
64323
  'use strict';
62700
64324
 
62701
64325
  var callBound = require('call-bound');
@@ -62766,7 +64390,7 @@ if (hasToStringTag) {
62766
64390
 
62767
64391
  module.exports = fn;
62768
64392
 
62769
- },{"call-bound":379,"gopd":399,"has-tostringtag/shams":403,"hasown":404}],410:[function(require,module,exports){
64393
+ },{"call-bound":386,"gopd":406,"has-tostringtag/shams":410,"hasown":411}],417:[function(require,module,exports){
62770
64394
  'use strict';
62771
64395
 
62772
64396
  var whichTypedArray = require('which-typed-array');
@@ -62776,19 +64400,19 @@ module.exports = function isTypedArray(value) {
62776
64400
  return !!whichTypedArray(value);
62777
64401
  };
62778
64402
 
62779
- },{"which-typed-array":431}],411:[function(require,module,exports){
64403
+ },{"which-typed-array":438}],418:[function(require,module,exports){
62780
64404
  'use strict';
62781
64405
 
62782
64406
  /** @type {import('./abs')} */
62783
64407
  module.exports = Math.abs;
62784
64408
 
62785
- },{}],412:[function(require,module,exports){
64409
+ },{}],419:[function(require,module,exports){
62786
64410
  'use strict';
62787
64411
 
62788
64412
  /** @type {import('./floor')} */
62789
64413
  module.exports = Math.floor;
62790
64414
 
62791
- },{}],413:[function(require,module,exports){
64415
+ },{}],420:[function(require,module,exports){
62792
64416
  'use strict';
62793
64417
 
62794
64418
  /** @type {import('./isNaN')} */
@@ -62796,31 +64420,31 @@ module.exports = Number.isNaN || function isNaN(a) {
62796
64420
  return a !== a;
62797
64421
  };
62798
64422
 
62799
- },{}],414:[function(require,module,exports){
64423
+ },{}],421:[function(require,module,exports){
62800
64424
  'use strict';
62801
64425
 
62802
64426
  /** @type {import('./max')} */
62803
64427
  module.exports = Math.max;
62804
64428
 
62805
- },{}],415:[function(require,module,exports){
64429
+ },{}],422:[function(require,module,exports){
62806
64430
  'use strict';
62807
64431
 
62808
64432
  /** @type {import('./min')} */
62809
64433
  module.exports = Math.min;
62810
64434
 
62811
- },{}],416:[function(require,module,exports){
64435
+ },{}],423:[function(require,module,exports){
62812
64436
  'use strict';
62813
64437
 
62814
64438
  /** @type {import('./pow')} */
62815
64439
  module.exports = Math.pow;
62816
64440
 
62817
- },{}],417:[function(require,module,exports){
64441
+ },{}],424:[function(require,module,exports){
62818
64442
  'use strict';
62819
64443
 
62820
64444
  /** @type {import('./round')} */
62821
64445
  module.exports = Math.round;
62822
64446
 
62823
- },{}],418:[function(require,module,exports){
64447
+ },{}],425:[function(require,module,exports){
62824
64448
  'use strict';
62825
64449
 
62826
64450
  var $isNaN = require('./isNaN');
@@ -62833,7 +64457,7 @@ module.exports = function sign(number) {
62833
64457
  return number < 0 ? -1 : +1;
62834
64458
  };
62835
64459
 
62836
- },{"./isNaN":413}],419:[function(require,module,exports){
64460
+ },{"./isNaN":420}],426:[function(require,module,exports){
62837
64461
  'use strict';
62838
64462
 
62839
64463
  var keysShim;
@@ -62957,7 +64581,7 @@ if (!Object.keys) {
62957
64581
  }
62958
64582
  module.exports = keysShim;
62959
64583
 
62960
- },{"./isArguments":421}],420:[function(require,module,exports){
64584
+ },{"./isArguments":428}],427:[function(require,module,exports){
62961
64585
  'use strict';
62962
64586
 
62963
64587
  var slice = Array.prototype.slice;
@@ -62991,7 +64615,7 @@ keysShim.shim = function shimObjectKeys() {
62991
64615
 
62992
64616
  module.exports = keysShim;
62993
64617
 
62994
- },{"./implementation":419,"./isArguments":421}],421:[function(require,module,exports){
64618
+ },{"./implementation":426,"./isArguments":428}],428:[function(require,module,exports){
62995
64619
  'use strict';
62996
64620
 
62997
64621
  var toStr = Object.prototype.toString;
@@ -63010,7 +64634,7 @@ module.exports = function isArguments(value) {
63010
64634
  return isArgs;
63011
64635
  };
63012
64636
 
63013
- },{}],422:[function(require,module,exports){
64637
+ },{}],429:[function(require,module,exports){
63014
64638
  'use strict';
63015
64639
 
63016
64640
  // modified from https://github.com/es-shims/es6-shim
@@ -63058,7 +64682,7 @@ module.exports = function assign(target, source1) {
63058
64682
  return to; // step 4
63059
64683
  };
63060
64684
 
63061
- },{"call-bound":379,"es-object-atoms":390,"has-symbols/shams":402,"object-keys":420}],423:[function(require,module,exports){
64685
+ },{"call-bound":386,"es-object-atoms":397,"has-symbols/shams":409,"object-keys":427}],430:[function(require,module,exports){
63062
64686
  'use strict';
63063
64687
 
63064
64688
  var implementation = require('./implementation');
@@ -63115,7 +64739,7 @@ module.exports = function getPolyfill() {
63115
64739
  return Object.assign;
63116
64740
  };
63117
64741
 
63118
- },{"./implementation":422}],424:[function(require,module,exports){
64742
+ },{"./implementation":429}],431:[function(require,module,exports){
63119
64743
  'use strict';
63120
64744
 
63121
64745
  /** @type {import('.')} */
@@ -63134,7 +64758,7 @@ module.exports = [
63134
64758
  'BigUint64Array'
63135
64759
  ];
63136
64760
 
63137
- },{}],425:[function(require,module,exports){
64761
+ },{}],432:[function(require,module,exports){
63138
64762
  // shim for using process in browser
63139
64763
  var process = module.exports = {};
63140
64764
 
@@ -63320,7 +64944,7 @@ process.chdir = function (dir) {
63320
64944
  };
63321
64945
  process.umask = function() { return 0; };
63322
64946
 
63323
- },{}],426:[function(require,module,exports){
64947
+ },{}],433:[function(require,module,exports){
63324
64948
  'use strict';
63325
64949
 
63326
64950
  var callBound = require('call-bound');
@@ -63339,7 +64963,7 @@ module.exports = function regexTester(regex) {
63339
64963
  };
63340
64964
  };
63341
64965
 
63342
- },{"call-bound":379,"es-errors/type":388,"is-regex":409}],427:[function(require,module,exports){
64966
+ },{"call-bound":386,"es-errors/type":395,"is-regex":416}],434:[function(require,module,exports){
63343
64967
  'use strict';
63344
64968
 
63345
64969
  var GetIntrinsic = require('get-intrinsic');
@@ -63383,9 +65007,9 @@ module.exports = function setFunctionLength(fn, length) {
63383
65007
  return fn;
63384
65008
  };
63385
65009
 
63386
- },{"define-data-property":380,"es-errors/type":388,"get-intrinsic":394,"gopd":399,"has-property-descriptors":400}],428:[function(require,module,exports){
63387
- arguments[4][368][0].apply(exports,arguments)
63388
- },{"dup":368}],429:[function(require,module,exports){
65010
+ },{"define-data-property":387,"es-errors/type":395,"get-intrinsic":401,"gopd":406,"has-property-descriptors":407}],435:[function(require,module,exports){
65011
+ arguments[4][375][0].apply(exports,arguments)
65012
+ },{"dup":375}],436:[function(require,module,exports){
63389
65013
  // Currently in sync with Node.js lib/internal/util/types.js
63390
65014
  // https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9
63391
65015
 
@@ -63721,7 +65345,7 @@ exports.isAnyArrayBuffer = isAnyArrayBuffer;
63721
65345
  });
63722
65346
  });
63723
65347
 
63724
- },{"is-arguments":406,"is-generator-function":408,"is-typed-array":410,"which-typed-array":431}],430:[function(require,module,exports){
65348
+ },{"is-arguments":413,"is-generator-function":415,"is-typed-array":417,"which-typed-array":438}],437:[function(require,module,exports){
63725
65349
  (function (process){(function (){
63726
65350
  // Copyright Joyent, Inc. and other Node contributors.
63727
65351
  //
@@ -64440,7 +66064,7 @@ function callbackify(original) {
64440
66064
  exports.callbackify = callbackify;
64441
66065
 
64442
66066
  }).call(this)}).call(this,require('_process'))
64443
- },{"./support/isBuffer":428,"./support/types":429,"_process":425,"inherits":405}],431:[function(require,module,exports){
66067
+ },{"./support/isBuffer":435,"./support/types":436,"_process":432,"inherits":412}],438:[function(require,module,exports){
64444
66068
  (function (global){(function (){
64445
66069
  'use strict';
64446
66070
 
@@ -64561,5 +66185,5 @@ module.exports = function whichTypedArray(value) {
64561
66185
  };
64562
66186
 
64563
66187
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
64564
- },{"available-typed-arrays":370,"call-bind":378,"call-bound":379,"for-each":391,"get-proto":397,"gopd":399,"has-tostringtag/shams":403}]},{},[115])(115)
66188
+ },{"available-typed-arrays":377,"call-bind":385,"call-bound":386,"for-each":398,"get-proto":404,"gopd":406,"has-tostringtag/shams":410}]},{},[115])(115)
64565
66189
  });