@designliquido/delegua 0.61.3 → 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 (86) hide show
  1. package/README.md +17 -9
  2. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  3. package/analisador-semantico/analisador-semantico.js +22 -24
  4. package/analisador-semantico/analisador-semantico.js.map +1 -1
  5. package/avaliador-sintatico/avaliador-sintatico.js +7 -7
  6. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  7. package/avaliador-sintatico/comum.js +11 -10
  8. package/avaliador-sintatico/comum.js.map +1 -1
  9. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +13 -2
  10. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  11. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +43 -1
  12. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  13. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.d.ts.map +1 -1
  14. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js +32 -34
  15. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js.map +1 -1
  16. package/bibliotecas/biblioteca-global.d.ts.map +1 -1
  17. package/bibliotecas/biblioteca-global.js +11 -13
  18. package/bibliotecas/biblioteca-global.js.map +1 -1
  19. package/bibliotecas/dialetos/egua-classico/biblioteca-global.js +9 -9
  20. package/bibliotecas/dialetos/egua-classico/biblioteca-global.js.map +1 -1
  21. package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts.map +1 -1
  22. package/bibliotecas/dialetos/pitugues/biblioteca-global.js +9 -11
  23. package/bibliotecas/dialetos/pitugues/biblioteca-global.js.map +1 -1
  24. package/bin/package.json +1 -1
  25. package/formatadores/formatador-delegua.js +1 -1
  26. package/formatadores/formatador-delegua.js.map +1 -1
  27. package/interfaces/retornos/retorno-lexador.d.ts +2 -2
  28. package/interfaces/retornos/retorno-lexador.d.ts.map +1 -1
  29. package/interpretador/dialetos/pitugues/comum.js +2 -2
  30. package/interpretador/dialetos/pitugues/comum.js.map +1 -1
  31. package/interpretador/interpretador-base.js +10 -10
  32. package/interpretador/interpretador-base.js.map +1 -1
  33. package/interpretador/interpretador.d.ts.map +1 -1
  34. package/interpretador/interpretador.js +7 -8
  35. package/interpretador/interpretador.js.map +1 -1
  36. package/lexador/dialetos/lexador-pitugues.d.ts +3 -3
  37. package/lexador/dialetos/lexador-pitugues.d.ts.map +1 -1
  38. package/lexador/dialetos/lexador-pitugues.js +7 -6
  39. package/lexador/dialetos/lexador-pitugues.js.map +1 -1
  40. package/lexador/dialetos/lexador-tenda.d.ts +2 -2
  41. package/lexador/dialetos/lexador-tenda.d.ts.map +1 -1
  42. package/lexador/dialetos/localizacao.d.ts +9 -0
  43. package/lexador/dialetos/localizacao.d.ts.map +1 -0
  44. package/lexador/dialetos/{pragma.js → localizacao.js} +1 -1
  45. package/lexador/dialetos/localizacao.js.map +1 -0
  46. package/package.json +1 -1
  47. package/tradutores/index.d.ts +2 -0
  48. package/tradutores/index.d.ts.map +1 -1
  49. package/tradutores/index.js +2 -0
  50. package/tradutores/index.js.map +1 -1
  51. package/tradutores/mermaid/aresta-fluxograma.d.ts +7 -0
  52. package/tradutores/mermaid/aresta-fluxograma.d.ts.map +1 -0
  53. package/tradutores/mermaid/aresta-fluxograma.js +11 -0
  54. package/tradutores/mermaid/aresta-fluxograma.js.map +1 -0
  55. package/tradutores/mermaid/diagrama-classe.d.ts +16 -0
  56. package/tradutores/mermaid/diagrama-classe.d.ts.map +1 -0
  57. package/tradutores/mermaid/diagrama-classe.js +33 -0
  58. package/tradutores/mermaid/diagrama-classe.js.map +1 -0
  59. package/tradutores/mermaid/index.d.ts +5 -0
  60. package/tradutores/mermaid/index.d.ts.map +1 -0
  61. package/tradutores/mermaid/index.js +21 -0
  62. package/tradutores/mermaid/index.js.map +1 -0
  63. package/tradutores/mermaid/subgrafo-classe.d.ts +14 -0
  64. package/tradutores/mermaid/subgrafo-classe.d.ts.map +1 -0
  65. package/tradutores/mermaid/subgrafo-classe.js +45 -0
  66. package/tradutores/mermaid/subgrafo-classe.js.map +1 -0
  67. package/tradutores/mermaid/vertice-fluxograma.d.ts +9 -0
  68. package/tradutores/mermaid/vertice-fluxograma.d.ts.map +1 -0
  69. package/tradutores/mermaid/vertice-fluxograma.js +16 -0
  70. package/tradutores/mermaid/vertice-fluxograma.js.map +1 -0
  71. package/tradutores/tradutor-assembly-arm.d.ts +98 -0
  72. package/tradutores/tradutor-assembly-arm.d.ts.map +1 -0
  73. package/tradutores/tradutor-assembly-arm.js +715 -0
  74. package/tradutores/tradutor-assembly-arm.js.map +1 -0
  75. package/tradutores/tradutor-assembly-x64.d.ts +82 -4
  76. package/tradutores/tradutor-assembly-x64.d.ts.map +1 -1
  77. package/tradutores/tradutor-assembly-x64.js +612 -87
  78. package/tradutores/tradutor-assembly-x64.js.map +1 -1
  79. package/tradutores/tradutor-mermaidjs.d.ts +10 -16
  80. package/tradutores/tradutor-mermaidjs.d.ts.map +1 -1
  81. package/tradutores/tradutor-mermaidjs.js +107 -43
  82. package/tradutores/tradutor-mermaidjs.js.map +1 -1
  83. package/umd/delegua.js +1998 -378
  84. package/lexador/dialetos/pragma.d.ts +0 -9
  85. package/lexador/dialetos/pragma.d.ts.map +0 -1
  86. package/lexador/dialetos/pragma.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tradutor-assembly-x64.js","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-assembly-x64.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tradutor-assembly-x64.js","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-assembly-x64.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,7 @@
1
1
  import { AcessoIndiceVariavel, AcessoMetodo, AcessoMetodoOuPropriedade, AcessoPropriedade, Agrupamento, Atribuir, Binario, Chamada, DefinirValor, Dicionario, FuncaoConstruto, Leia, Literal, Separador, Unario, Variavel, Vetor } from '../construtos';
2
- import { Bloco, Const, Declaracao, Enquanto, Escolha, Escreva, Expressao, Fazer, Para, ParaCada, Se, Var } from '../declaracoes';
2
+ import { Bloco, Classe, Const, Declaracao, Enquanto, Escolha, Escreva, Expressao, Fazer, FuncaoDeclaracao, Para, ParaCada, Se, Var } from '../declaracoes';
3
3
  import { CaminhoEscolha, TradutorInterface } from '../interfaces';
4
- declare class ArestaFluxograma {
5
- declaracao: Declaracao;
6
- texto: string;
7
- constructor(declaracao: Declaracao, texto: string);
8
- }
9
- declare class VerticeFluxograma {
10
- origem: ArestaFluxograma;
11
- destino: ArestaFluxograma;
12
- texto?: string;
13
- constructor(origem: ArestaFluxograma, destino: ArestaFluxograma, texto?: string);
14
- paraTexto(): string;
15
- }
4
+ import { ArestaFluxograma, DiagramaClasse, VerticeFluxograma } from './mermaid';
16
5
  /**
17
6
  * [MermaidJs](https://mermaid.js.org/) é uma especificação que nos permite
18
7
  * criar fluxogramas através de uma notação por texto.
@@ -29,6 +18,8 @@ export declare class TradutorMermaidJs implements TradutorInterface<Declaracao>
29
18
  anteriores: ArestaFluxograma[];
30
19
  vertices: VerticeFluxograma[];
31
20
  ultimaDicaVertice: string | undefined;
21
+ diagramasClasses: DiagramaClasse[];
22
+ subgrafosFuncoes: string[];
32
23
  traduzirConstrutoAcessoIndiceVariavel(acessoIndiceVariavel: AcessoIndiceVariavel): string;
33
24
  traduzirConstrutoAcessoMetodo(acessoMetodo: AcessoMetodo): string;
34
25
  traduzirConstrutoAcessoMetodoOuPropriedade(acessoMetodoOuPropriedade: AcessoMetodoOuPropriedade): string;
@@ -39,7 +30,7 @@ export declare class TradutorMermaidJs implements TradutorInterface<Declaracao>
39
30
  traduzirConstrutoChamada(chamada: Chamada): string;
40
31
  traduzirConstrutoDefinirValor(definirValor: DefinirValor): string;
41
32
  traduzirConstrutoDicionario(dicionario: Dicionario): string;
42
- traduzirFuncaoConstruto(funcaoConstruto: FuncaoConstruto): string;
33
+ traduzirFuncaoConstruto(funcaoConstruto: FuncaoConstruto): VerticeFluxograma[];
43
34
  traduzirConstrutoLeia(leia: Leia): string;
44
35
  traduzirConstrutoLiteral(literal: Literal): string;
45
36
  traduzirConstrutoSeparador(separador: Separador): string;
@@ -48,6 +39,7 @@ export declare class TradutorMermaidJs implements TradutorInterface<Declaracao>
48
39
  traduzirConstrutoVetor(vetor: Vetor): string;
49
40
  protected logicaComumConexaoArestas(aresta: ArestaFluxograma): VerticeFluxograma[];
50
41
  traduzirDeclaracaoBloco(declaracaoBloco: Bloco): VerticeFluxograma[];
42
+ traduzirDeclaracaoClasse(declaracaoClasse: Classe): VerticeFluxograma[];
51
43
  traduzirDeclaracaoConst(declaracaoConst: Const): VerticeFluxograma[];
52
44
  traduzirDeclaracaoEnquanto(declaracaoEnquanto: Enquanto): VerticeFluxograma[];
53
45
  protected logicaComumCaminhoEscolha(declaracaoEscolha: Escolha, caminhoEscolha: CaminhoEscolha, linha: number, textoIdentificadorOuLiteral: string, caminhoPadrao: boolean): {
@@ -58,6 +50,7 @@ export declare class TradutorMermaidJs implements TradutorInterface<Declaracao>
58
50
  traduzirDeclaracaoEscreva(declaracaoEscreva: Escreva): VerticeFluxograma[];
59
51
  traduzirDeclaracaoExpressao(declaracaoExpressao: Expressao): VerticeFluxograma[];
60
52
  traduzirDeclaracaoFazerEnquanto(declaracaoFazerEnquanto: Fazer): VerticeFluxograma[];
53
+ traduzirDeclaracaoFuncao(declaracaoFuncao: FuncaoDeclaracao): VerticeFluxograma[];
61
54
  traduzirDeclaracaoPara(declaracaoPara: Para): VerticeFluxograma[];
62
55
  traduzirDeclaracaoParaCada(declaracaoParaCada: ParaCada): VerticeFluxograma[];
63
56
  traduzirDeclaracaoSe(declaracaoSe: Se): VerticeFluxograma[];
@@ -75,7 +68,7 @@ export declare class TradutorMermaidJs implements TradutorInterface<Declaracao>
75
68
  ComentarioComoConstruto: () => string;
76
69
  DefinirValor: any;
77
70
  Dicionario: any;
78
- FuncaoConstruto: any;
71
+ FuncaoConstruto: () => never;
79
72
  Isto: () => string;
80
73
  Leia: any;
81
74
  Literal: any;
@@ -86,6 +79,7 @@ export declare class TradutorMermaidJs implements TradutorInterface<Declaracao>
86
79
  };
87
80
  dicionarioDeclaracoes: {
88
81
  Bloco: any;
82
+ Classe: () => never;
89
83
  Comentario: () => string;
90
84
  Const: any;
91
85
  Enquanto: any;
@@ -93,6 +87,7 @@ export declare class TradutorMermaidJs implements TradutorInterface<Declaracao>
93
87
  Expressao: any;
94
88
  Escreva: any;
95
89
  Fazer: any;
90
+ FuncaoDeclaracao: () => never;
96
91
  Para: any;
97
92
  ParaCada: any;
98
93
  Se: any;
@@ -100,5 +95,4 @@ export declare class TradutorMermaidJs implements TradutorInterface<Declaracao>
100
95
  };
101
96
  traduzir(declaracoes: Declaracao[]): string;
102
97
  }
103
- export {};
104
98
  //# sourceMappingURL=tradutor-mermaidjs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tradutor-mermaidjs.d.ts","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-mermaidjs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tradutor-mermaidjs.d.ts","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-mermaidjs.ts"],"names":[],"mappings":"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"}
@@ -5,23 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TradutorMermaidJs = void 0;
7
7
  const delegua_1 = __importDefault(require("../tipos-de-simbolos/delegua"));
8
- class ArestaFluxograma {
9
- constructor(declaracao, texto) {
10
- this.declaracao = declaracao;
11
- this.texto = texto;
12
- }
13
- }
14
- class VerticeFluxograma {
15
- constructor(origem, destino, texto) {
16
- this.origem = origem;
17
- this.destino = destino;
18
- this.texto = texto;
19
- }
20
- paraTexto() {
21
- const seta = this.texto ? `-->|${this.texto}|` : '-->';
22
- return ` ${this.origem.texto}${seta}${this.destino.texto};\n`;
23
- }
24
- }
8
+ const mermaid_1 = require("./mermaid");
25
9
  /**
26
10
  * [MermaidJs](https://mermaid.js.org/) é uma especificação que nos permite
27
11
  * criar fluxogramas através de uma notação por texto.
@@ -48,7 +32,8 @@ class TradutorMermaidJs {
48
32
  ComentarioComoConstruto: () => '',
49
33
  DefinirValor: this.traduzirConstrutoDefinirValor.bind(this),
50
34
  Dicionario: this.traduzirConstrutoDicionario.bind(this),
51
- FuncaoConstruto: this.traduzirFuncaoConstruto.bind(this),
35
+ // FuncaoConstruto: this.traduzirFuncaoConstruto.bind(this),
36
+ FuncaoConstruto: () => { throw new Error("Fluxogramas de funções ainda não é suportado."); },
52
37
  Isto: () => 'this',
53
38
  Leia: this.traduzirConstrutoLeia.bind(this),
54
39
  Literal: this.traduzirConstrutoLiteral.bind(this),
@@ -59,6 +44,8 @@ class TradutorMermaidJs {
59
44
  };
60
45
  this.dicionarioDeclaracoes = {
61
46
  Bloco: this.traduzirDeclaracaoBloco.bind(this),
47
+ // Classe: this.traduzirDeclaracaoClasse.bind(this),
48
+ Classe: () => { throw new Error("Fluxogramas de classes ainda não é suportado."); },
62
49
  Comentario: () => '',
63
50
  Const: this.traduzirDeclaracaoConst.bind(this),
64
51
  Enquanto: this.traduzirDeclaracaoEnquanto.bind(this),
@@ -66,6 +53,8 @@ class TradutorMermaidJs {
66
53
  Expressao: this.traduzirDeclaracaoExpressao.bind(this),
67
54
  Escreva: this.traduzirDeclaracaoEscreva.bind(this),
68
55
  Fazer: this.traduzirDeclaracaoFazerEnquanto.bind(this),
56
+ // FuncaoDeclaracao: this.traduzirDeclaracaoFuncao.bind(this),
57
+ FuncaoDeclaracao: () => { throw new Error("Fluxogramas de funções ainda não é suportado."); },
69
58
  Para: this.traduzirDeclaracaoPara.bind(this),
70
59
  ParaCada: this.traduzirDeclaracaoParaCada.bind(this),
71
60
  Se: this.traduzirDeclaracaoSe.bind(this),
@@ -139,7 +128,19 @@ class TradutorMermaidJs {
139
128
  return texto;
140
129
  }
141
130
  traduzirFuncaoConstruto(funcaoConstruto) {
142
- return `função`;
131
+ let vertices = [];
132
+ if (funcaoConstruto.corpo && funcaoConstruto.corpo.length > 0) {
133
+ for (const declaracaoCorpo of funcaoConstruto.corpo) {
134
+ // Usa o mesmo caminho de outras declarações,
135
+ // então todas as arestas passam por logicaComumConexaoArestas.
136
+ const verticesCorpo = this.dicionarioDeclaracoes[declaracaoCorpo.constructor.name](declaracaoCorpo);
137
+ vertices = vertices.concat(verticesCorpo);
138
+ }
139
+ }
140
+ /* if (this.anteriores.length > 0) {
141
+ vertices = vertices.concat(this.anteriores)
142
+ } */
143
+ return vertices;
143
144
  }
144
145
  traduzirConstrutoLeia(leia) {
145
146
  let texto = 'leia da entrada';
@@ -199,7 +200,7 @@ class TradutorMermaidJs {
199
200
  textoVertice = String(this.ultimaDicaVertice);
200
201
  this.ultimaDicaVertice = undefined;
201
202
  }
202
- vertices.push(new VerticeFluxograma(anterior, aresta, textoVertice));
203
+ vertices.push(new mermaid_1.VerticeFluxograma(anterior, aresta, textoVertice));
203
204
  }
204
205
  return vertices;
205
206
  }
@@ -211,10 +212,45 @@ class TradutorMermaidJs {
211
212
  }
212
213
  return vertices;
213
214
  }
215
+ traduzirDeclaracaoClasse(declaracaoClasse) {
216
+ const nomeClasse = declaracaoClasse.simbolo.lexema;
217
+ const superClasse = declaracaoClasse.superClasse
218
+ ? declaracaoClasse.superClasse.nome.lexema
219
+ : undefined;
220
+ // Cria o diagrama de classe
221
+ const diagramaClasse = new mermaid_1.DiagramaClasse(nomeClasse, superClasse);
222
+ // Adiciona métodos ao diagrama
223
+ if (declaracaoClasse.metodos && declaracaoClasse.metodos.length > 0) {
224
+ for (const metodo of declaracaoClasse.metodos) {
225
+ const parametros = [];
226
+ if (metodo.funcao.parametros && metodo.funcao.parametros.length > 0) {
227
+ for (const param of metodo.funcao.parametros) {
228
+ const nomeParam = param.nome.lexema;
229
+ const tipoParam = param.tipoDado || 'qualquer';
230
+ parametros.push(`${nomeParam}: ${tipoParam}`);
231
+ }
232
+ }
233
+ const tipoRetorno = metodo.funcao.tipo;
234
+ diagramaClasse.metodos.push({
235
+ nome: metodo.simbolo.lexema,
236
+ parametros,
237
+ tipoRetorno
238
+ });
239
+ }
240
+ }
241
+ // Adiciona o diagrama à lista
242
+ this.diagramasClasses.push(diagramaClasse);
243
+ // No fluxograma principal, apenas mostra a definição da classe
244
+ const texto = `Linha${declaracaoClasse.linha}[Classe ${nomeClasse}${superClasse ? ` herda ${superClasse}` : ''}]`;
245
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoClasse, texto);
246
+ const vertices = this.logicaComumConexaoArestas(aresta);
247
+ this.anteriores.push(aresta);
248
+ return vertices;
249
+ }
214
250
  traduzirDeclaracaoConst(declaracaoConst) {
215
251
  let texto = `Linha${declaracaoConst.linha}(variável: ${declaracaoConst.simbolo.lexema}`;
216
252
  texto += this.logicaComumTraducaoVarEConst(declaracaoConst, texto);
217
- const aresta = new ArestaFluxograma(declaracaoConst, texto);
253
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoConst, texto);
218
254
  const vertices = this.logicaComumConexaoArestas(aresta);
219
255
  this.anteriores.push(aresta);
220
256
  return vertices;
@@ -223,14 +259,14 @@ class TradutorMermaidJs {
223
259
  let texto = `Linha${declaracaoEnquanto.linha}(enquanto `;
224
260
  const condicao = this.dicionarioConstrutos[declaracaoEnquanto.condicao.constructor.name](declaracaoEnquanto.condicao);
225
261
  texto += condicao + ')';
226
- const aresta = new ArestaFluxograma(declaracaoEnquanto, texto);
262
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoEnquanto, texto);
227
263
  let vertices = this.logicaComumConexaoArestas(aresta);
228
264
  this.anteriores.push(aresta);
229
265
  // Corpo, normalmente um `Bloco`.
230
266
  const verticesCorpo = this.dicionarioDeclaracoes[declaracaoEnquanto.corpo.constructor.name](declaracaoEnquanto.corpo);
231
267
  vertices = vertices.concat(verticesCorpo);
232
268
  const ultimaArestaCorpo = verticesCorpo[verticesCorpo.length - 1].destino;
233
- const verticeLaco = new VerticeFluxograma(ultimaArestaCorpo, aresta);
269
+ const verticeLaco = new mermaid_1.VerticeFluxograma(ultimaArestaCorpo, aresta);
234
270
  vertices.push(verticeLaco);
235
271
  return vertices;
236
272
  }
@@ -249,7 +285,7 @@ class TradutorMermaidJs {
249
285
  textoCaso = `caso ${textoIdentificadorOuLiteral} tenha qualquer outro valor:`;
250
286
  }
251
287
  let textoCaminho = `Linha${linha}(${textoCaso})`;
252
- const arestaCondicaoCaminho = new ArestaFluxograma(declaracaoEscolha, textoCaminho);
288
+ const arestaCondicaoCaminho = new mermaid_1.ArestaFluxograma(declaracaoEscolha, textoCaminho);
253
289
  this.anteriores.push(arestaCondicaoCaminho);
254
290
  let verticesResolvidos = [];
255
291
  for (const declaracaoCaminho of caminhoEscolha.declaracoes) {
@@ -268,7 +304,7 @@ class TradutorMermaidJs {
268
304
  let texto = `Linha${declaracaoEscolha.linha}(escolha um caminho pelo valor de `;
269
305
  const textoIdentificadorOuLiteral = this.dicionarioConstrutos[declaracaoEscolha.identificadorOuLiteral.constructor.name](declaracaoEscolha.identificadorOuLiteral);
270
306
  texto += textoIdentificadorOuLiteral + ')';
271
- const aresta = new ArestaFluxograma(declaracaoEscolha, texto);
307
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoEscolha, texto);
272
308
  let vertices = this.logicaComumConexaoArestas(aresta);
273
309
  const arestasCaminho = [];
274
310
  for (const caminho of declaracaoEscolha.caminhos) {
@@ -278,7 +314,7 @@ class TradutorMermaidJs {
278
314
  arestasCaminho.push(this.logicaComumCaminhoEscolha(declaracaoEscolha, declaracaoEscolha.caminhoPadrao, declaracaoEscolha.caminhoPadrao.declaracoes[0].linha - 1, textoIdentificadorOuLiteral, true));
279
315
  }
280
316
  for (const conjunto of Object.values(arestasCaminho)) {
281
- const verticeEscolhaECaminho = new VerticeFluxograma(aresta, conjunto.caminho);
317
+ const verticeEscolhaECaminho = new mermaid_1.VerticeFluxograma(aresta, conjunto.caminho);
282
318
  vertices.push(verticeEscolhaECaminho);
283
319
  vertices = vertices.concat(conjunto.declaracoesCaminho);
284
320
  this.anteriores.push(conjunto.declaracoesCaminho[conjunto.declaracoesCaminho.length - 1].destino);
@@ -293,7 +329,7 @@ class TradutorMermaidJs {
293
329
  }
294
330
  texto = texto.slice(0, -2);
295
331
  texto += ')';
296
- const aresta = new ArestaFluxograma(declaracaoEscreva, texto);
332
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoEscreva, texto);
297
333
  const vertices = this.logicaComumConexaoArestas(aresta);
298
334
  this.anteriores.push(aresta);
299
335
  return vertices;
@@ -302,14 +338,14 @@ class TradutorMermaidJs {
302
338
  let texto = `Linha${declaracaoExpressao.linha}(`;
303
339
  const textoConstruto = this.dicionarioConstrutos[declaracaoExpressao.expressao.constructor.name](declaracaoExpressao.expressao);
304
340
  texto += textoConstruto + ')';
305
- const aresta = new ArestaFluxograma(declaracaoExpressao, texto);
341
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoExpressao, texto);
306
342
  const vertices = this.logicaComumConexaoArestas(aresta);
307
343
  this.anteriores.push(aresta);
308
344
  return vertices;
309
345
  }
310
346
  traduzirDeclaracaoFazerEnquanto(declaracaoFazerEnquanto) {
311
347
  const texto = `Linha${declaracaoFazerEnquanto.linha}(fazer)`;
312
- const aresta = new ArestaFluxograma(declaracaoFazerEnquanto, texto);
348
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoFazerEnquanto, texto);
313
349
  let vertices = this.logicaComumConexaoArestas(aresta);
314
350
  this.anteriores.push(aresta);
315
351
  // Corpo, normalmente um `Bloco`.
@@ -318,15 +354,37 @@ class TradutorMermaidJs {
318
354
  const ultimaArestaCorpo = verticesCorpo[verticesCorpo.length - 1].destino;
319
355
  const condicao = this.dicionarioConstrutos[declaracaoFazerEnquanto.condicaoEnquanto.constructor.name](declaracaoFazerEnquanto.condicaoEnquanto);
320
356
  let textoEnquanto = `Linha${declaracaoFazerEnquanto.condicaoEnquanto.linha}(enquanto ${condicao})`;
321
- const arestaEnquanto = new ArestaFluxograma(declaracaoFazerEnquanto, textoEnquanto);
322
- const verticeEnquanto = new VerticeFluxograma(ultimaArestaCorpo, arestaEnquanto);
357
+ const arestaEnquanto = new mermaid_1.ArestaFluxograma(declaracaoFazerEnquanto, textoEnquanto);
358
+ const verticeEnquanto = new mermaid_1.VerticeFluxograma(ultimaArestaCorpo, arestaEnquanto);
323
359
  vertices.push(verticeEnquanto);
324
- const verticeCondicaoComFazer = new VerticeFluxograma(arestaEnquanto, aresta);
360
+ const verticeCondicaoComFazer = new mermaid_1.VerticeFluxograma(arestaEnquanto, aresta);
325
361
  vertices.push(verticeCondicaoComFazer);
326
362
  this.anteriores.pop();
327
363
  this.anteriores.push(arestaEnquanto);
328
364
  return vertices;
329
365
  }
366
+ traduzirDeclaracaoFuncao(declaracaoFuncao) {
367
+ // Gera o corpo como vértices, mas não conecta nada ao fluxo principal
368
+ const verticesCorpo = this.traduzirFuncaoConstruto(declaracaoFuncao.funcao);
369
+ if (verticesCorpo.length === 0) {
370
+ return [];
371
+ }
372
+ // Descobre o texto dos nós do corpo
373
+ let textoSubgraph = `subgraph função ${declaracaoFuncao.simbolo.lexema}\n`;
374
+ for (const vertice of verticesCorpo) {
375
+ textoSubgraph += vertice.paraTexto();
376
+ }
377
+ textoSubgraph += `end;\n`;
378
+ // Armazena o subgraph para imprimir depois de graph TD;
379
+ this.subgrafosFuncoes.push(textoSubgraph);
380
+ // IMPORTANTE: não altera this.anteriores aqui, para a função
381
+ // não entrar no fluxo principal. O fluxo principal continua
382
+ // sendo só as declarações "top-level" (como a chamada em Linha4).
383
+ // Também não precisa devolver vértices, porque eles já
384
+ // foram adicionados em this.vertices pelos próprios tradutores
385
+ // das declarações do corpo (via dicionarioDeclaracoes).
386
+ return [];
387
+ }
330
388
  traduzirDeclaracaoPara(declaracaoPara) {
331
389
  let texto = `Linha${declaracaoPara.linha}(para `;
332
390
  if (declaracaoPara.inicializador) {
@@ -339,13 +397,13 @@ class TradutorMermaidJs {
339
397
  texto = texto.slice(0, -2);
340
398
  }
341
399
  texto += ')';
342
- const aresta = new ArestaFluxograma(declaracaoPara, texto);
400
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoPara, texto);
343
401
  let vertices = this.logicaComumConexaoArestas(aresta);
344
402
  this.anteriores.push(aresta);
345
403
  // Condição
346
404
  const textoCondicao = this.dicionarioConstrutos[declaracaoPara.condicao.constructor.name](declaracaoPara.condicao);
347
405
  const textoArestaCondicao = `Linha${declaracaoPara.linha}Condicao{se ${textoCondicao}}`;
348
- const arestaCondicao = new ArestaFluxograma(declaracaoPara, textoArestaCondicao);
406
+ const arestaCondicao = new mermaid_1.ArestaFluxograma(declaracaoPara, textoArestaCondicao);
349
407
  vertices = vertices.concat(this.logicaComumConexaoArestas(arestaCondicao));
350
408
  this.anteriores.push(arestaCondicao);
351
409
  this.ultimaDicaVertice = 'Sim';
@@ -355,10 +413,10 @@ class TradutorMermaidJs {
355
413
  // Incremento
356
414
  const ultimaArestaCorpo = verticesCorpo[verticesCorpo.length - 1].destino;
357
415
  const textoIncremento = this.dicionarioConstrutos[declaracaoPara.incrementar.constructor.name](declaracaoPara.incrementar);
358
- const arestaIncremento = new ArestaFluxograma(declaracaoPara, `Linha${declaracaoPara.linha}Incremento(${textoIncremento})`);
359
- const verticeIncremento = new VerticeFluxograma(ultimaArestaCorpo, arestaIncremento);
416
+ const arestaIncremento = new mermaid_1.ArestaFluxograma(declaracaoPara, `Linha${declaracaoPara.linha}Incremento(${textoIncremento})`);
417
+ const verticeIncremento = new mermaid_1.VerticeFluxograma(ultimaArestaCorpo, arestaIncremento);
360
418
  vertices.push(verticeIncremento);
361
- const verticeLaco = new VerticeFluxograma(arestaIncremento, arestaCondicao);
419
+ const verticeLaco = new mermaid_1.VerticeFluxograma(arestaIncremento, arestaCondicao);
362
420
  vertices.push(verticeLaco);
363
421
  // Configura a condição como anterior
364
422
  this.anteriores.pop();
@@ -371,14 +429,14 @@ class TradutorMermaidJs {
371
429
  let texto = `Linha${declaracaoParaCada.linha}(para cada ${textoVariavelIteracao} em `;
372
430
  const textoVariavelIterada = this.dicionarioConstrutos[declaracaoParaCada.vetorOuDicionario.constructor.name](declaracaoParaCada.vetorOuDicionario);
373
431
  texto += textoVariavelIterada + ')';
374
- const aresta = new ArestaFluxograma(declaracaoParaCada, texto);
432
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoParaCada, texto);
375
433
  let vertices = this.logicaComumConexaoArestas(aresta);
376
434
  this.anteriores.push(aresta);
377
435
  // Corpo, normalmente um `Bloco`.
378
436
  const verticesCorpo = this.dicionarioDeclaracoes[declaracaoParaCada.corpo.constructor.name](declaracaoParaCada.corpo);
379
437
  vertices = vertices.concat(verticesCorpo);
380
438
  const ultimaArestaCorpo = verticesCorpo[verticesCorpo.length - 1].destino;
381
- vertices.push(new VerticeFluxograma(ultimaArestaCorpo, aresta));
439
+ vertices.push(new mermaid_1.VerticeFluxograma(ultimaArestaCorpo, aresta));
382
440
  return vertices;
383
441
  }
384
442
  traduzirDeclaracaoSe(declaracaoSe) {
@@ -386,7 +444,7 @@ class TradutorMermaidJs {
386
444
  const condicao = this.dicionarioConstrutos[declaracaoSe.condicao.constructor.name](declaracaoSe.condicao);
387
445
  texto += condicao;
388
446
  texto += `}`;
389
- const aresta = new ArestaFluxograma(declaracaoSe, texto);
447
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoSe, texto);
390
448
  let vertices = this.logicaComumConexaoArestas(aresta);
391
449
  this.anteriores.push(aresta);
392
450
  this.ultimaDicaVertice = 'Sim';
@@ -396,8 +454,8 @@ class TradutorMermaidJs {
396
454
  const ultimaArestaEntao = verticesEntao[verticesEntao.length - 1].destino;
397
455
  if (declaracaoSe.caminhoSenao) {
398
456
  this.anteriores = [];
399
- const arestaSenao = new ArestaFluxograma(declaracaoSe, `Linha${declaracaoSe.caminhoSenao.linha}(senão)`);
400
- vertices.push(new VerticeFluxograma(aresta, arestaSenao, 'Não'));
457
+ const arestaSenao = new mermaid_1.ArestaFluxograma(declaracaoSe, `Linha${declaracaoSe.caminhoSenao.linha}(senão)`);
458
+ vertices.push(new mermaid_1.VerticeFluxograma(aresta, arestaSenao, 'Não'));
401
459
  this.anteriores.push(arestaSenao);
402
460
  const verticesSenao = this.dicionarioDeclaracoes[declaracaoSe.caminhoSenao.constructor.name](declaracaoSe.caminhoSenao);
403
461
  vertices = vertices.concat(verticesSenao);
@@ -415,7 +473,7 @@ class TradutorMermaidJs {
415
473
  traduzirDeclaracaoVar(declaracaoVar) {
416
474
  let texto = `Linha${declaracaoVar.linha}(variável: ${declaracaoVar.simbolo.lexema}`;
417
475
  texto += this.logicaComumTraducaoVarEConst(declaracaoVar, texto);
418
- const aresta = new ArestaFluxograma(declaracaoVar, texto);
476
+ const aresta = new mermaid_1.ArestaFluxograma(declaracaoVar, texto);
419
477
  const vertices = this.logicaComumConexaoArestas(aresta);
420
478
  this.anteriores.push(aresta);
421
479
  return vertices;
@@ -424,9 +482,15 @@ class TradutorMermaidJs {
424
482
  this.anteriores = [];
425
483
  this.vertices = [];
426
484
  let resultado = 'graph TD;\n';
485
+ this.subgrafosFuncoes = [];
427
486
  for (const declaracao of declaracoes) {
428
487
  this.vertices = this.vertices.concat(this.dicionarioDeclaracoes[declaracao.constructor.name](declaracao));
429
488
  }
489
+ if (this.subgrafosFuncoes.length > 0) {
490
+ for (const sub of this.subgrafosFuncoes) {
491
+ resultado += sub;
492
+ }
493
+ }
430
494
  if (this.vertices.length === 0 && this.anteriores.length === 0) {
431
495
  resultado += ` Vazio;\n`;
432
496
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tradutor-mermaidjs.js","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-mermaidjs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tradutor-mermaidjs.js","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-mermaidjs.ts"],"names":[],"mappings":"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"}