@designliquido/delegua 0.33.7 → 0.33.9

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 (98) hide show
  1. package/analisador-semantico/dialetos/index.d.ts +0 -1
  2. package/analisador-semantico/dialetos/index.d.ts.map +1 -1
  3. package/analisador-semantico/dialetos/index.js +0 -1
  4. package/analisador-semantico/dialetos/index.js.map +1 -1
  5. package/avaliador-sintatico/dialetos/index.d.ts +0 -1
  6. package/avaliador-sintatico/dialetos/index.d.ts.map +1 -1
  7. package/avaliador-sintatico/dialetos/index.js +0 -1
  8. package/avaliador-sintatico/dialetos/index.js.map +1 -1
  9. package/bibliotecas/biblioteca-global.js +3 -3
  10. package/bibliotecas/biblioteca-global.js.map +1 -1
  11. package/bin/package.json +1 -1
  12. package/formatadores/index.d.ts +0 -1
  13. package/formatadores/index.d.ts.map +1 -1
  14. package/formatadores/index.js +0 -1
  15. package/formatadores/index.js.map +1 -1
  16. package/interpretador/dialetos/index.d.ts +0 -1
  17. package/interpretador/dialetos/index.d.ts.map +1 -1
  18. package/interpretador/dialetos/index.js +0 -1
  19. package/interpretador/dialetos/index.js.map +1 -1
  20. package/interpretador/interpretador-base.d.ts.map +1 -1
  21. package/interpretador/interpretador-base.js +6 -2
  22. package/interpretador/interpretador-base.js.map +1 -1
  23. package/interpretador/interpretador-com-depuracao.d.ts.map +1 -1
  24. package/interpretador/interpretador-com-depuracao.js +8 -6
  25. package/interpretador/interpretador-com-depuracao.js.map +1 -1
  26. package/lexador/dialetos/index.d.ts +0 -1
  27. package/lexador/dialetos/index.d.ts.map +1 -1
  28. package/lexador/dialetos/index.js +0 -1
  29. package/lexador/dialetos/index.js.map +1 -1
  30. package/lexador/dialetos/palavras-reservadas/index.d.ts +0 -1
  31. package/lexador/dialetos/palavras-reservadas/index.d.ts.map +1 -1
  32. package/lexador/dialetos/palavras-reservadas/index.js +1 -3
  33. package/lexador/dialetos/palavras-reservadas/index.js.map +1 -1
  34. package/package.json +1 -1
  35. package/tradutores/index.d.ts +0 -1
  36. package/tradutores/index.d.ts.map +1 -1
  37. package/tradutores/index.js +0 -1
  38. package/tradutores/index.js.map +1 -1
  39. package/analisador-semantico/dialetos/analisador-semantico-visualg.d.ts +0 -38
  40. package/analisador-semantico/dialetos/analisador-semantico-visualg.d.ts.map +0 -1
  41. package/analisador-semantico/dialetos/analisador-semantico-visualg.js +0 -229
  42. package/analisador-semantico/dialetos/analisador-semantico-visualg.js.map +0 -1
  43. package/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.d.ts +0 -85
  44. package/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.d.ts.map +0 -1
  45. package/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.js +0 -731
  46. package/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.js.map +0 -1
  47. package/avaliador-sintatico/dialetos/visualg/index.d.ts +0 -2
  48. package/avaliador-sintatico/dialetos/visualg/index.d.ts.map +0 -1
  49. package/avaliador-sintatico/dialetos/visualg/index.js +0 -18
  50. package/avaliador-sintatico/dialetos/visualg/index.js.map +0 -1
  51. package/avaliador-sintatico/dialetos/visualg/parametro-visualg.d.ts +0 -8
  52. package/avaliador-sintatico/dialetos/visualg/parametro-visualg.d.ts.map +0 -1
  53. package/avaliador-sintatico/dialetos/visualg/parametro-visualg.js +0 -3
  54. package/avaliador-sintatico/dialetos/visualg/parametro-visualg.js.map +0 -1
  55. package/bibliotecas/dialetos/visualg/caracteres.d.ts +0 -4
  56. package/bibliotecas/dialetos/visualg/caracteres.d.ts.map +0 -1
  57. package/bibliotecas/dialetos/visualg/caracteres.js +0 -46
  58. package/bibliotecas/dialetos/visualg/caracteres.js.map +0 -1
  59. package/bibliotecas/dialetos/visualg/index.d.ts +0 -3
  60. package/bibliotecas/dialetos/visualg/index.d.ts.map +0 -1
  61. package/bibliotecas/dialetos/visualg/index.js +0 -19
  62. package/bibliotecas/dialetos/visualg/index.js.map +0 -1
  63. package/bibliotecas/dialetos/visualg/numerica.d.ts +0 -4
  64. package/bibliotecas/dialetos/visualg/numerica.d.ts.map +0 -1
  65. package/bibliotecas/dialetos/visualg/numerica.js +0 -74
  66. package/bibliotecas/dialetos/visualg/numerica.js.map +0 -1
  67. package/formatadores/formatador-visualg.d.ts +0 -73
  68. package/formatadores/formatador-visualg.d.ts.map +0 -1
  69. package/formatadores/formatador-visualg.js +0 -617
  70. package/formatadores/formatador-visualg.js.map +0 -1
  71. package/interpretador/dialetos/visualg/comum.d.ts +0 -21
  72. package/interpretador/dialetos/visualg/comum.d.ts.map +0 -1
  73. package/interpretador/dialetos/visualg/comum.js +0 -372
  74. package/interpretador/dialetos/visualg/comum.js.map +0 -1
  75. package/interpretador/dialetos/visualg/index.d.ts +0 -3
  76. package/interpretador/dialetos/visualg/index.d.ts.map +0 -1
  77. package/interpretador/dialetos/visualg/index.js +0 -19
  78. package/interpretador/dialetos/visualg/index.js.map +0 -1
  79. package/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.d.ts +0 -55
  80. package/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.d.ts.map +0 -1
  81. package/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js +0 -211
  82. package/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js.map +0 -1
  83. package/interpretador/dialetos/visualg/interpretador-visualg.d.ts +0 -58
  84. package/interpretador/dialetos/visualg/interpretador-visualg.d.ts.map +0 -1
  85. package/interpretador/dialetos/visualg/interpretador-visualg.js +0 -194
  86. package/interpretador/dialetos/visualg/interpretador-visualg.js.map +0 -1
  87. package/lexador/dialetos/lexador-visualg.d.ts +0 -20
  88. package/lexador/dialetos/lexador-visualg.d.ts.map +0 -1
  89. package/lexador/dialetos/lexador-visualg.js +0 -226
  90. package/lexador/dialetos/lexador-visualg.js.map +0 -1
  91. package/lexador/dialetos/palavras-reservadas/visualg.d.ts +0 -75
  92. package/lexador/dialetos/palavras-reservadas/visualg.d.ts.map +0 -1
  93. package/lexador/dialetos/palavras-reservadas/visualg.js +0 -82
  94. package/lexador/dialetos/palavras-reservadas/visualg.js.map +0 -1
  95. package/tradutores/tradutor-reverso-visualg.d.ts +0 -54
  96. package/tradutores/tradutor-reverso-visualg.d.ts.map +0 -1
  97. package/tradutores/tradutor-reverso-visualg.js +0 -264
  98. package/tradutores/tradutor-reverso-visualg.js.map +0 -1
@@ -1,617 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FormatadorVisuAlg = void 0;
7
- const construtos_1 = require("../construtos");
8
- const declaracoes_1 = require("../declaracoes");
9
- const visualg_1 = __importDefault(require("../tipos-de-simbolos/visualg"));
10
- class FormatadorVisuAlg {
11
- constructor(quebraLinha, tamanhoIndentacao = 4) {
12
- this.quebraLinha = quebraLinha;
13
- this.tamanhoIndentacao = tamanhoIndentacao;
14
- this.indentacaoAtual = 0;
15
- this.codigoFormatado = '';
16
- this.devePularLinha = false;
17
- this.deveIndentar = true;
18
- this.contadorDeclaracaoVar = 0;
19
- this.retornoFuncaoAtual = undefined;
20
- }
21
- visitarDeclaracaoTendoComo(declaracao) {
22
- throw new Error('Método não implementado.');
23
- }
24
- visitarDeclaracaoInicioAlgoritmo(declaracao) {
25
- this.codigoFormatado += `inicio${this.quebraLinha}`;
26
- }
27
- visitarDeclaracaoCabecalhoPrograma(declaracao) {
28
- this.codigoFormatado += `algoritmo "${declaracao.nomeProgramaAlgoritmo}"${this.quebraLinha}`;
29
- }
30
- visitarDeclaracaoAleatorio(declaracao) {
31
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}aleatorio `;
32
- if (declaracao.argumentos.max > 0 && declaracao.argumentos.min > 0) {
33
- this.codigoFormatado += `${declaracao.argumentos.min}, ${declaracao.argumentos.max}${this.quebraLinha}`;
34
- }
35
- else {
36
- this.codigoFormatado += `ON${this.quebraLinha}`;
37
- }
38
- this.formatarDeclaracaoOuConstruto(declaracao.corpo);
39
- }
40
- visitarDeclaracaoClasse(declaracao) {
41
- throw new Error('Método não implementado.');
42
- }
43
- visitarDeclaracaoConst(declaracao) {
44
- throw new Error('Método não implementado.');
45
- }
46
- visitarDeclaracaoConstMultiplo(declaracao) {
47
- throw new Error('Método não implementado.');
48
- }
49
- visitarExpressaoDeAtribuicao(expressao) {
50
- this.codigoFormatado += `${expressao.simbolo.lexema} <- `;
51
- this.formatarDeclaracaoOuConstruto(expressao.valor);
52
- if (this.devePularLinha) {
53
- this.codigoFormatado += `${this.quebraLinha}`;
54
- }
55
- }
56
- visitarDeclaracaoDeExpressao(declaracao) {
57
- this.codigoFormatado += ' '.repeat(this.indentacaoAtual);
58
- this.formatarDeclaracaoOuConstruto(declaracao.expressao);
59
- }
60
- visitarDeclaracaoDefinicaoFuncao(declaracao) {
61
- this.retornoFuncaoAtual = declaracao.tipoRetorno;
62
- this.contadorDeclaracaoVar = 2;
63
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}funcao `;
64
- if (declaracao.simbolo) {
65
- this.codigoFormatado += `${declaracao.simbolo.lexema}`;
66
- }
67
- let primeiraOcorrenciaVar = declaracao.funcao.corpo.findIndex((item) => item instanceof declaracoes_1.Var);
68
- var ultimaOcorrenciaIndex = declaracao.funcao.corpo
69
- .slice()
70
- .reverse()
71
- .findIndex((item) => item instanceof declaracoes_1.Var);
72
- var ultimaOcorrenciaPosicao = ultimaOcorrenciaIndex >= 0 ? declaracao.funcao.corpo.length - 1 - ultimaOcorrenciaIndex : -1;
73
- let indiceParaRemover = [];
74
- if (primeiraOcorrenciaVar > -1 && ultimaOcorrenciaPosicao > -1) {
75
- this.codigoFormatado += this.quebraLinha;
76
- for (let i = primeiraOcorrenciaVar; i <= ultimaOcorrenciaPosicao; i++) {
77
- this.formatarDeclaracaoOuConstruto(declaracao.funcao.corpo[i]);
78
- indiceParaRemover.push(i);
79
- }
80
- }
81
- for (let posicao of indiceParaRemover) {
82
- declaracao.funcao.corpo.splice(posicao, 1);
83
- }
84
- this.codigoFormatado += this.quebraLinha;
85
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}inicio${this.quebraLinha}`;
86
- this.formatarDeclaracaoOuConstruto(declaracao.funcao);
87
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}fimfuncao${this.quebraLinha}`;
88
- }
89
- visitarDeclaracaoEnquanto(declaracao) {
90
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}enquanto(`;
91
- this.formatarDeclaracaoOuConstruto(declaracao.condicao);
92
- this.codigoFormatado += ` ) faca`;
93
- this.codigoFormatado += this.quebraLinha;
94
- this.formatarDeclaracaoOuConstruto(declaracao.corpo);
95
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}fimenquanto`;
96
- }
97
- visitarDeclaracaoEscolha(declaracao) {
98
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}escolha (`;
99
- this.formatarDeclaracaoOuConstruto(declaracao.identificadorOuLiteral);
100
- this.codigoFormatado += `)${this.quebraLinha}`;
101
- this.indentacaoAtual += this.tamanhoIndentacao;
102
- for (let caminho of declaracao.caminhos) {
103
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}caso `;
104
- for (let condicao of caminho.condicoes) {
105
- this.formatarDeclaracaoOuConstruto(condicao);
106
- this.codigoFormatado += ', ';
107
- }
108
- if (caminho.condicoes.length > 0) {
109
- this.codigoFormatado = this.codigoFormatado.slice(0, -2);
110
- }
111
- this.codigoFormatado += this.quebraLinha;
112
- this.formatarBlocoOuVetorDeclaracoes(caminho.declaracoes);
113
- }
114
- if (declaracao.caminhoPadrao.declaracoes.length > 0) {
115
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}outrocaso`;
116
- this.codigoFormatado += this.quebraLinha;
117
- this.formatarBlocoOuVetorDeclaracoes(declaracao.caminhoPadrao.declaracoes);
118
- }
119
- this.indentacaoAtual -= this.tamanhoIndentacao;
120
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}fimescolha${this.quebraLinha}`;
121
- }
122
- visitarDeclaracaoEscreva(declaracao) {
123
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}escreva(`;
124
- for (let argumento of declaracao.argumentos) {
125
- this.formatarDeclaracaoOuConstruto(argumento);
126
- this.codigoFormatado += ', ';
127
- }
128
- if (declaracao.argumentos.length && this.codigoFormatado[this.codigoFormatado.length - 2] === ',') {
129
- this.codigoFormatado = this.codigoFormatado.slice(0, -2);
130
- }
131
- this.codigoFormatado += `)${this.quebraLinha}`;
132
- }
133
- visitarDeclaracaoFazer(declaracao) {
134
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}repita${this.quebraLinha}`;
135
- this.formatarDeclaracaoOuConstruto(declaracao.caminhoFazer);
136
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}ate `;
137
- this.formatarDeclaracaoOuConstruto(declaracao.condicaoEnquanto);
138
- }
139
- visitarDeclaracaoImportar(declaracao) {
140
- throw new Error('Método não implementado.');
141
- }
142
- visitarDeclaracaoPara(declaracao) {
143
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}para `;
144
- this.devePularLinha = false;
145
- if (declaracao.inicializador) {
146
- if (Array.isArray(declaracao.inicializador)) {
147
- this.deveIndentar = false;
148
- for (let declaracaoInicializador of declaracao.inicializador) {
149
- this.formatarDeclaracaoOuConstruto(declaracaoInicializador);
150
- }
151
- this.deveIndentar = true;
152
- }
153
- else {
154
- this.formatarDeclaracaoOuConstruto(declaracao.inicializador);
155
- }
156
- }
157
- if (declaracao.condicao instanceof construtos_1.Binario)
158
- this.codigoFormatado += ` ate ${declaracao.condicao.direita.valor}`;
159
- else
160
- this.formatarDeclaracaoOuConstruto(declaracao.condicao);
161
- this.codigoFormatado += ` faca${this.quebraLinha}`;
162
- this.formatarDeclaracaoOuConstruto(declaracao.incrementar);
163
- this.formatarBlocoOuVetorDeclaracoes(declaracao.corpo.declaracoes);
164
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}fimpara${this.quebraLinha}`;
165
- }
166
- visitarDeclaracaoParaCada(declaracao) {
167
- throw new Error('Método não implementado.');
168
- }
169
- visitarDeclaracaoSe(declaracao) {
170
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}se ( `;
171
- this.formatarDeclaracaoOuConstruto(declaracao.condicao);
172
- this.codigoFormatado += ` ) entao${this.quebraLinha}`;
173
- this.indentacaoAtual += this.tamanhoIndentacao;
174
- for (let declaracaoBloco of declaracao.caminhoEntao.declaracoes) {
175
- this.formatarDeclaracaoOuConstruto(declaracaoBloco);
176
- }
177
- this.indentacaoAtual -= this.tamanhoIndentacao;
178
- if (declaracao.caminhoSenao) {
179
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}} senao `;
180
- this.formatarDeclaracaoOuConstruto(declaracao.caminhoSenao);
181
- }
182
- else {
183
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}fimse${this.quebraLinha}`;
184
- }
185
- }
186
- visitarDeclaracaoTente(declaracao) {
187
- throw new Error('Método não implementado.');
188
- }
189
- visitarDeclaracaoVar(declaracao) {
190
- switch (this.contadorDeclaracaoVar) {
191
- case 0:
192
- this.codigoFormatado += `var${this.quebraLinha}`;
193
- this.contadorDeclaracaoVar++;
194
- break;
195
- case 2:
196
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}var${this.quebraLinha}`;
197
- this.contadorDeclaracaoVar++;
198
- break;
199
- }
200
- if (this.contadorDeclaracaoVar > 2) {
201
- this.indentacaoAtual += this.tamanhoIndentacao;
202
- }
203
- if (this.deveIndentar) {
204
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}`;
205
- }
206
- this.codigoFormatado += `${declaracao.simbolo.lexema}`;
207
- if (declaracao.inicializador) {
208
- this.codigoFormatado += ` : ${declaracao.tipo.toLowerCase()}`;
209
- }
210
- if (this.devePularLinha) {
211
- this.codigoFormatado += this.quebraLinha;
212
- }
213
- if (this.contadorDeclaracaoVar > 2) {
214
- this.indentacaoAtual -= this.tamanhoIndentacao;
215
- }
216
- }
217
- visitarDeclaracaoVarMultiplo(declaracao) {
218
- throw new Error('Método não implementado.');
219
- }
220
- visitarExpressaoAcessoIndiceVariavel(expressao) {
221
- this.formatarDeclaracaoOuConstruto(expressao.entidadeChamada);
222
- this.codigoFormatado += `[`;
223
- this.formatarDeclaracaoOuConstruto(expressao.indice);
224
- this.codigoFormatado += `]`;
225
- }
226
- visitarExpressaoAcessoElementoMatriz(expressao) {
227
- throw new Error('Método não implementado.');
228
- }
229
- visitarExpressaoAcessoMetodo(expressao) {
230
- throw new Error('Método não implementado.');
231
- }
232
- visitarExpressaoAgrupamento(expressao) {
233
- this.codigoFormatado += '(';
234
- this.formatarDeclaracaoOuConstruto(expressao.expressao);
235
- this.codigoFormatado += ')';
236
- }
237
- visitarExpressaoAtribuicaoPorIndice(expressao) {
238
- throw new Error('Método não implementado.');
239
- }
240
- visitarExpressaoAtribuicaoPorIndicesMatriz(expressao) {
241
- throw new Error('Método não implementado.');
242
- }
243
- visitarExpressaoBinaria(expressao) {
244
- this.formatarDeclaracaoOuConstruto(expressao.esquerda);
245
- switch (expressao.operador.tipo) {
246
- case visualg_1.default.ADICAO:
247
- this.codigoFormatado += ' + ';
248
- break;
249
- case visualg_1.default.DIVISAO:
250
- this.codigoFormatado += ' / ';
251
- break;
252
- case visualg_1.default.DIVISAO_INTEIRA:
253
- this.codigoFormatado += ' ';
254
- break;
255
- case visualg_1.default.IGUAL:
256
- this.codigoFormatado += ' = ';
257
- break;
258
- case visualg_1.default.MAIOR:
259
- this.codigoFormatado += ' > ';
260
- break;
261
- case visualg_1.default.MAIOR_IGUAL:
262
- this.codigoFormatado += ' >= ';
263
- break;
264
- case visualg_1.default.MENOR:
265
- this.codigoFormatado += '<';
266
- break;
267
- case visualg_1.default.MENOR_IGUAL:
268
- this.codigoFormatado += ' <= ';
269
- break;
270
- case visualg_1.default.SUBTRACAO:
271
- this.codigoFormatado += ` - `;
272
- break;
273
- case visualg_1.default.MULTIPLICACAO:
274
- this.codigoFormatado += ` * `;
275
- break;
276
- case visualg_1.default.MODULO:
277
- this.codigoFormatado += ` % `;
278
- break;
279
- default:
280
- console.log(expressao.operador.tipo);
281
- break;
282
- }
283
- this.formatarDeclaracaoOuConstruto(expressao.direita);
284
- }
285
- formatarBlocoOuVetorDeclaracoes(declaracoes) {
286
- this.indentacaoAtual += this.tamanhoIndentacao;
287
- for (let declaracaoBloco of declaracoes) {
288
- this.formatarDeclaracaoOuConstruto(declaracaoBloco);
289
- }
290
- this.indentacaoAtual -= this.tamanhoIndentacao;
291
- }
292
- visitarExpressaoBloco(declaracao) {
293
- this.formatarBlocoOuVetorDeclaracoes(declaracao.declaracoes);
294
- }
295
- visitarExpressaoContinua(declaracao) {
296
- throw new Error('Método não implementado.');
297
- }
298
- visitarExpressaoDeChamada(expressao) {
299
- this.formatarDeclaracaoOuConstruto(expressao.entidadeChamada);
300
- this.codigoFormatado += '(';
301
- for (let argumento of expressao.argumentos) {
302
- this.formatarDeclaracaoOuConstruto(argumento);
303
- this.codigoFormatado += ', ';
304
- }
305
- if (expressao.argumentos.length > 0) {
306
- this.codigoFormatado = this.codigoFormatado.slice(0, -2);
307
- }
308
- this.codigoFormatado += ')';
309
- }
310
- visitarExpressaoDefinirValor(expressao) {
311
- throw new Error('Método não implementado.');
312
- }
313
- visitarExpressaoDeleguaFuncao(expressao) {
314
- throw new Error('Método não implementado.');
315
- }
316
- visitarExpressaoDeVariavel(expressao) {
317
- this.codigoFormatado += expressao.simbolo.lexema;
318
- }
319
- visitarExpressaoDicionario(expressao) {
320
- throw new Error('Método não implementado.');
321
- }
322
- visitarExpressaoExpressaoRegular(expressao) {
323
- throw new Error('Método não implementado.');
324
- }
325
- visitarDeclaracaoEscrevaMesmaLinha(declaracao) {
326
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}escreva(`;
327
- for (let argumento of declaracao.argumentos) {
328
- const argumentoTratado = argumento;
329
- this.formatarDeclaracaoOuConstruto(argumentoTratado);
330
- this.codigoFormatado += ', ';
331
- }
332
- if (declaracao.argumentos.length && this.codigoFormatado[this.codigoFormatado.length - 2] === ',') {
333
- this.codigoFormatado = this.codigoFormatado.slice(0, -2);
334
- }
335
- this.codigoFormatado += `)${this.quebraLinha}`;
336
- }
337
- visitarExpressaoFalhar(expressao) {
338
- throw new Error('Método não implementado.');
339
- }
340
- visitarExpressaoFimPara(declaracao) {
341
- throw new Error('Método não implementado.');
342
- }
343
- visitarExpressaoFormatacaoEscrita(declaracao) {
344
- this.formatarDeclaracaoOuConstruto(declaracao.expressao);
345
- }
346
- visitarExpressaoIsto(expressao) {
347
- throw new Error('Método não implementado.');
348
- }
349
- visitarExpressaoLeia(expressao) {
350
- this.codigoFormatado += `${' '.repeat(this.tamanhoIndentacao)}leia(`;
351
- for (let argumento of expressao.argumentos) {
352
- this.formatarDeclaracaoOuConstruto(argumento);
353
- this.codigoFormatado += `, `;
354
- }
355
- if (expressao.argumentos.length > 0) {
356
- this.codigoFormatado = this.codigoFormatado.slice(0, -2);
357
- }
358
- this.codigoFormatado += `)${this.quebraLinha}`;
359
- }
360
- visitarExpressaoLeiaMultiplo(expressao) {
361
- return Promise.resolve();
362
- }
363
- visitarExpressaoLiteral(expressao) {
364
- if (typeof expressao.valor === 'string') {
365
- this.codigoFormatado += `"${expressao.valor}"`;
366
- return;
367
- }
368
- if (typeof expressao.valor === 'boolean') {
369
- switch (expressao.valor) {
370
- case true:
371
- this.codigoFormatado += `verdadeiro`;
372
- break;
373
- case false:
374
- this.codigoFormatado += `falso`;
375
- break;
376
- }
377
- return;
378
- }
379
- this.codigoFormatado += expressao.valor;
380
- }
381
- visitarExpressaoLogica(expressao) {
382
- this.formatarDeclaracaoOuConstruto(expressao.esquerda);
383
- switch (expressao.operador.tipo) {
384
- case visualg_1.default.E:
385
- this.codigoFormatado += ` e `;
386
- break;
387
- case visualg_1.default.XOU:
388
- this.codigoFormatado += ` xou `;
389
- break;
390
- case visualg_1.default.OU:
391
- this.codigoFormatado += ` ou `;
392
- break;
393
- case visualg_1.default.NEGACAO:
394
- this.codigoFormatado += ` nao `;
395
- break;
396
- }
397
- this.formatarDeclaracaoOuConstruto(expressao.direita);
398
- }
399
- visitarExpressaoRetornar(declaracao) {
400
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}retorne`;
401
- if (declaracao.valor) {
402
- this.codigoFormatado += ` `;
403
- this.formatarDeclaracaoOuConstruto(declaracao.valor);
404
- }
405
- this.codigoFormatado += `${this.quebraLinha}`;
406
- }
407
- visitarExpressaoSuper(expressao) {
408
- throw new Error('Método não implementado.');
409
- }
410
- visitarExpressaoSustar(declaracao) {
411
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}interrompa${this.quebraLinha}`;
412
- }
413
- visitarExpressaoTipoDe(expressao) {
414
- throw new Error('Método não implementado.');
415
- }
416
- visitarExpressaoTupla(expressao) {
417
- throw new Error('Method not implemented.');
418
- }
419
- visitarExpressaoUnaria(expressao) {
420
- let operador;
421
- switch (expressao.operador.tipo) {
422
- case visualg_1.default.SUBTRACAO:
423
- operador = `-`;
424
- break;
425
- case visualg_1.default.ADICAO:
426
- operador = `+`;
427
- break;
428
- case visualg_1.default.NEGACAO:
429
- operador = `nao `;
430
- }
431
- switch (expressao.incidenciaOperador) {
432
- case 'ANTES':
433
- this.codigoFormatado += operador;
434
- this.formatarDeclaracaoOuConstruto(expressao.operando);
435
- break;
436
- case 'DEPOIS':
437
- this.formatarDeclaracaoOuConstruto(expressao.operando);
438
- this.codigoFormatado += operador;
439
- break;
440
- }
441
- if (this.devePularLinha) {
442
- this.codigoFormatado += this.quebraLinha;
443
- }
444
- }
445
- visitarExpressaoFuncaoConstruto(expressao) {
446
- if (expressao.parametros.length > 0) {
447
- this.codigoFormatado += `(`;
448
- for (let argumento of expressao.parametros) {
449
- this.codigoFormatado += `${argumento.nome.lexema}${argumento.tipoDado && argumento.tipoDado.tipo ? `: ${argumento.tipoDado.tipo}, ` : ', '}`;
450
- }
451
- this.codigoFormatado = this.codigoFormatado.slice(0, -2);
452
- this.codigoFormatado += `) `;
453
- }
454
- this.codigoFormatado += ` : ${this.retornoFuncaoAtual}${this.quebraLinha}`;
455
- this.formatarBlocoOuVetorDeclaracoes(expressao.corpo);
456
- }
457
- visitarExpressaoVetor(expressao) {
458
- throw new Error('Método não implementado.');
459
- }
460
- formatarDeclaracaoOuConstruto(declaracaoOuConstruto) {
461
- switch (declaracaoOuConstruto.constructor.name) {
462
- case 'AcessoIndiceVariavel':
463
- this.visitarExpressaoAcessoIndiceVariavel(declaracaoOuConstruto);
464
- break;
465
- case 'AcessoMetodoOuPropriedade':
466
- this.visitarExpressaoAcessoMetodo(declaracaoOuConstruto);
467
- break;
468
- case 'Aleatorio':
469
- this.visitarDeclaracaoAleatorio(declaracaoOuConstruto);
470
- break;
471
- case 'Agrupamento':
472
- this.visitarExpressaoAgrupamento(declaracaoOuConstruto);
473
- break;
474
- case 'AtribuicaoPorIndice':
475
- this.visitarExpressaoAtribuicaoPorIndice(declaracaoOuConstruto);
476
- break;
477
- case 'Atribuir':
478
- this.visitarExpressaoDeAtribuicao(declaracaoOuConstruto);
479
- break;
480
- case 'Binario':
481
- this.visitarExpressaoBinaria(declaracaoOuConstruto);
482
- break;
483
- case 'Bloco':
484
- this.visitarExpressaoBloco(declaracaoOuConstruto);
485
- break;
486
- case 'CabecalhoPrograma':
487
- this.visitarDeclaracaoCabecalhoPrograma(declaracaoOuConstruto);
488
- break;
489
- case 'Chamada':
490
- this.visitarExpressaoDeChamada(declaracaoOuConstruto);
491
- break;
492
- case 'Classe':
493
- this.visitarDeclaracaoClasse(declaracaoOuConstruto);
494
- break;
495
- case 'Continua':
496
- this.visitarExpressaoContinua(declaracaoOuConstruto);
497
- break;
498
- case 'DefinirValor':
499
- this.visitarExpressaoDefinirValor(declaracaoOuConstruto);
500
- break;
501
- case 'Dicionario':
502
- this.visitarExpressaoDicionario(declaracaoOuConstruto);
503
- break;
504
- case 'Escolha':
505
- this.visitarDeclaracaoEscolha(declaracaoOuConstruto);
506
- break;
507
- case 'Enquanto':
508
- this.visitarDeclaracaoEnquanto(declaracaoOuConstruto);
509
- break;
510
- case 'Escreva':
511
- this.visitarDeclaracaoEscreva(declaracaoOuConstruto);
512
- break;
513
- case 'EscrevaMesmaLinha':
514
- this.visitarDeclaracaoEscrevaMesmaLinha(declaracaoOuConstruto);
515
- break;
516
- case 'Expressao':
517
- this.visitarDeclaracaoDeExpressao(declaracaoOuConstruto);
518
- break;
519
- case 'ExpressaoRegular':
520
- this.visitarExpressaoExpressaoRegular(declaracaoOuConstruto);
521
- break;
522
- case 'Falhar':
523
- this.visitarExpressaoFalhar(declaracaoOuConstruto);
524
- break;
525
- case 'Fazer':
526
- this.visitarDeclaracaoFazer(declaracaoOuConstruto);
527
- break;
528
- case 'FimPara':
529
- // FimPara só existe com um Para, então não é necessário formatá-lo.
530
- break;
531
- case 'FormatacaoEscrita':
532
- this.visitarExpressaoFormatacaoEscrita(declaracaoOuConstruto);
533
- break;
534
- case 'FuncaoConstruto':
535
- this.visitarExpressaoFuncaoConstruto(declaracaoOuConstruto);
536
- break;
537
- case 'FuncaoDeclaracao':
538
- this.visitarDeclaracaoDefinicaoFuncao(declaracaoOuConstruto);
539
- break;
540
- case 'Importar':
541
- this.visitarDeclaracaoImportar(declaracaoOuConstruto);
542
- break;
543
- case 'InicioAlgoritmo':
544
- this.visitarDeclaracaoInicioAlgoritmo(declaracaoOuConstruto);
545
- break;
546
- case 'Isto':
547
- this.visitarExpressaoIsto(declaracaoOuConstruto);
548
- break;
549
- case 'Leia':
550
- this.visitarExpressaoLeia(declaracaoOuConstruto);
551
- break;
552
- case 'Literal':
553
- this.visitarExpressaoLiteral(declaracaoOuConstruto);
554
- break;
555
- case 'Logico':
556
- this.visitarExpressaoLogica(declaracaoOuConstruto);
557
- break;
558
- case 'Para':
559
- this.visitarDeclaracaoPara(declaracaoOuConstruto);
560
- break;
561
- case 'ParaCada':
562
- this.visitarDeclaracaoParaCada(declaracaoOuConstruto);
563
- break;
564
- case 'Retorna':
565
- this.visitarExpressaoRetornar(declaracaoOuConstruto);
566
- break;
567
- case 'Se':
568
- this.visitarDeclaracaoSe(declaracaoOuConstruto);
569
- break;
570
- case 'Super':
571
- this.visitarExpressaoSuper(declaracaoOuConstruto);
572
- break;
573
- case 'Sustar':
574
- this.visitarExpressaoSustar(declaracaoOuConstruto);
575
- break;
576
- case 'Tente':
577
- this.visitarDeclaracaoTente(declaracaoOuConstruto);
578
- break;
579
- case 'TipoDe':
580
- this.visitarExpressaoTipoDe(declaracaoOuConstruto);
581
- break;
582
- case 'Unario':
583
- this.visitarExpressaoUnaria(declaracaoOuConstruto);
584
- break;
585
- case 'Const':
586
- this.visitarDeclaracaoConst(declaracaoOuConstruto);
587
- break;
588
- case 'Var':
589
- this.visitarDeclaracaoVar(declaracaoOuConstruto);
590
- break;
591
- case 'Variavel':
592
- this.visitarExpressaoDeVariavel(declaracaoOuConstruto);
593
- break;
594
- case 'Vetor':
595
- this.visitarExpressaoVetor(declaracaoOuConstruto);
596
- break;
597
- default:
598
- console.log(declaracaoOuConstruto.constructor.name);
599
- break;
600
- }
601
- }
602
- formatar(declaracoes) {
603
- this.indentacaoAtual = 0;
604
- this.codigoFormatado = '';
605
- this.devePularLinha = true;
606
- this.deveIndentar = true;
607
- this.indentacaoAtual += this.tamanhoIndentacao;
608
- for (let declaracao of declaracoes) {
609
- this.formatarDeclaracaoOuConstruto(declaracao);
610
- }
611
- this.indentacaoAtual -= this.tamanhoIndentacao;
612
- this.codigoFormatado += `${this.quebraLinha}fimalgoritmo`;
613
- return this.codigoFormatado;
614
- }
615
- }
616
- exports.FormatadorVisuAlg = FormatadorVisuAlg;
617
- //# sourceMappingURL=formatador-visualg.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatador-visualg.js","sourceRoot":"","sources":["../../fontes/formatadores/formatador-visualg.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { AcessoElementoMatriz, AtribuicaoPorIndicesMatriz, Binario, Construto, Logico } from '../../../construtos';
2
- import { Aleatorio, CabecalhoPrograma, Leia, Para } from '../../../declaracoes';
3
- import { InterpretadorBase } from '../../interpretador-base';
4
- import { InicioAlgoritmo } from '../../../declaracoes/inicio-algoritmo';
5
- export declare function visitarDeclaracaoCabecalhoPrograma(interpretador: InterpretadorBase, declaracao: CabecalhoPrograma): Promise<any>;
6
- export declare function visitarDeclaracaoInicioAlgoritmo(interpretador: InterpretadorBase, declaracao: InicioAlgoritmo): Promise<any>;
7
- export declare function atribuirVariavel(interpretador: InterpretadorBase, expressao: Construto, valor: any): Promise<any>;
8
- /**
9
- * Método de visita de expressão binária.
10
- * Reintroduzido pelas particularidades do VisuAlg.
11
- * @param expressao A expressão binária.
12
- * @returns O resultado da resolução da expressão.
13
- */
14
- export declare function visitarExpressaoBinaria(interpretador: InterpretadorBase, expressao: Binario | any): Promise<any>;
15
- export declare function visitarExpressaoLogica(interpretador: InterpretadorBase, expressao: Logico): Promise<any>;
16
- export declare function resolverIncrementoPara(interpretador: InterpretadorBase, declaracao: Para): Promise<any>;
17
- export declare function visitarExpressaoAcessoElementoMatriz(interpretador: InterpretadorBase, expressao: AcessoElementoMatriz): Promise<any>;
18
- export declare function visitarExpressaoAtribuicaoPorIndicesMatriz(interpretador: InterpretadorBase, expressao: AtribuicaoPorIndicesMatriz): Promise<any>;
19
- export declare function visitarDeclaracaoAleatorio(interpretador: InterpretadorBase, expressao: Aleatorio): Promise<any>;
20
- export declare function visitarExpressaoLeia(interpretador: InterpretadorBase, expressao: Leia, mensagemPrompt: string): Promise<any>;
21
- //# sourceMappingURL=comum.d.ts.map