@designliquido/mapler 0.1.4 → 0.1.6

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 (33) hide show
  1. package/formatador/escopo-formatacao.d.ts +6 -0
  2. package/formatador/escopo-formatacao.d.ts.map +1 -0
  3. package/formatador/escopo-formatacao.js +3 -0
  4. package/formatador/escopo-formatacao.js.map +1 -0
  5. package/formatador/formatador-mapler.d.ts +17 -13
  6. package/formatador/formatador-mapler.d.ts.map +1 -1
  7. package/formatador/formatador-mapler.js +271 -20
  8. package/formatador/formatador-mapler.js.map +1 -1
  9. package/formatador/pilha-escopos-formatacao.d.ts +12 -0
  10. package/formatador/pilha-escopos-formatacao.d.ts.map +1 -0
  11. package/formatador/pilha-escopos-formatacao.js +33 -0
  12. package/formatador/pilha-escopos-formatacao.js.map +1 -0
  13. package/interpretador/interpretador-mapler-com-depuracao.d.ts +2 -1
  14. package/interpretador/interpretador-mapler-com-depuracao.d.ts.map +1 -1
  15. package/interpretador/interpretador-mapler-com-depuracao.js +3 -0
  16. package/interpretador/interpretador-mapler-com-depuracao.js.map +1 -1
  17. package/interpretador/interpretador-mapler.d.ts +2 -1
  18. package/interpretador/interpretador-mapler.d.ts.map +1 -1
  19. package/interpretador/interpretador-mapler.js +3 -0
  20. package/interpretador/interpretador-mapler.js.map +1 -1
  21. package/package.json +2 -2
  22. package/tipos-de-dados/comum.d.ts +6 -0
  23. package/tipos-de-dados/comum.d.ts.map +1 -0
  24. package/tipos-de-dados/comum.js +7 -0
  25. package/tipos-de-dados/comum.js.map +1 -0
  26. package/tipos-de-dados/index.d.ts +3 -0
  27. package/tipos-de-dados/index.d.ts.map +1 -0
  28. package/tipos-de-dados/index.js +19 -0
  29. package/tipos-de-dados/index.js.map +1 -0
  30. package/tipos-de-dados/mapler.d.ts +7 -0
  31. package/tipos-de-dados/mapler.d.ts.map +1 -0
  32. package/tipos-de-dados/mapler.js +8 -0
  33. package/tipos-de-dados/mapler.js.map +1 -0
@@ -0,0 +1,6 @@
1
+ import { Declaracao } from "@designliquido/delegua";
2
+ export interface EscopoFormatacao {
3
+ declaracoes: Declaracao[];
4
+ declaracaoAtual: number;
5
+ }
6
+ //# sourceMappingURL=escopo-formatacao.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escopo-formatacao.d.ts","sourceRoot":"","sources":["../../fontes/formatador/escopo-formatacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=escopo-formatacao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escopo-formatacao.js","sourceRoot":"","sources":["../../fontes/formatador/escopo-formatacao.ts"],"names":[],"mappings":""}
@@ -1,7 +1,10 @@
1
- import { Aleatorio, CabecalhoPrograma, Classe, Comentario, Const, ConstMultiplo, Expressao, FuncaoDeclaracao, Enquanto, Escolha, Escreva, EscrevaMesmaLinha, Fazer, Importar, InicioAlgoritmo, Para, ParaCada, Se, TendoComo, Tente, Var, VarMultiplo, Atribuir, AcessoIndiceVariavel, AcessoElementoMatriz, AcessoMetodoOuPropriedade, Agrupamento, AtribuicaoPorIndice, AtribuicaoPorIndicesMatriz, Binario, Bloco, Continua, Chamada, DefinirValor, FuncaoConstruto, Variavel, Constante, Dicionario, ExpressaoRegular, Falhar, FimPara, FormatacaoEscrita, Isto, Leia, LeiaMultiplo, Literal, Logico, Retorna, Super, Sustar, Tupla, TipoDe, Unario, Vetor, Declaracao, Construto } from '@designliquido/delegua';
1
+ import { Aleatorio, CabecalhoPrograma, Classe, Comentario, Const, ConstMultiplo, Expressao, FuncaoDeclaracao, Enquanto, Escolha, Escreva, EscrevaMesmaLinha, Fazer, Importar, InicioAlgoritmo, Para, ParaCada, Se, TendoComo, Tente, Var, VarMultiplo, Atribuir, AcessoIndiceVariavel, AcessoElementoMatriz, AcessoMetodoOuPropriedade, Agrupamento, AtribuicaoPorIndice, AtribuicaoPorIndicesMatriz, Binario, Bloco, Continua, Chamada, DefinirValor, FuncaoConstruto, Variavel, Dicionario, ExpressaoRegular, Falhar, FimPara, FormatacaoEscrita, Isto, Leia, LeiaMultiplo, Literal, Logico, Retorna, Super, Sustar, Tupla, TipoDe, Unario, Vetor, Declaracao, Construto } from '@designliquido/delegua';
2
2
  import { VisitanteComumInterface } from '@designliquido/delegua/interfaces';
3
3
  import { ContinuarQuebra, RetornoQuebra, SustarQuebra } from '@designliquido/delegua/quebras';
4
+ import { PilhaEscoposFormatacao } from './pilha-escopos-formatacao';
4
5
  export declare class FormatadorMapler implements VisitanteComumInterface {
6
+ pilhaEscoposFormatacao: PilhaEscoposFormatacao;
7
+ eEstruturaPara: boolean;
5
8
  indentacaoAtual: number;
6
9
  quebraLinha: string;
7
10
  tamanhoIndentacao: number;
@@ -17,16 +20,16 @@ export declare class FormatadorMapler implements VisitanteComumInterface {
17
20
  visitarDeclaracaoConstMultiplo(declaracao: ConstMultiplo): Promise<any>;
18
21
  visitarDeclaracaoDeExpressao(declaracao: Expressao): void | Promise<any>;
19
22
  visitarDeclaracaoDefinicaoFuncao(declaracao: FuncaoDeclaracao): void;
20
- visitarDeclaracaoEnquanto(declaracao: Enquanto): void | Promise<any>;
23
+ visitarDeclaracaoEnquanto(declaracao: Enquanto): void;
21
24
  visitarDeclaracaoEscolha(declaracao: Escolha): void | Promise<any>;
22
25
  visitarDeclaracaoEscreva(declaracao: Escreva): void | Promise<any>;
23
26
  visitarDeclaracaoEscrevaMesmaLinha(declaracao: EscrevaMesmaLinha): void | Promise<any>;
24
- visitarDeclaracaoFazer(declaracao: Fazer): void | Promise<any>;
27
+ visitarDeclaracaoFazer(declaracao: Fazer): void;
25
28
  visitarDeclaracaoImportar(declaracao: Importar): void | Promise<any>;
26
29
  visitarDeclaracaoInicioAlgoritmo(declaracao: InicioAlgoritmo): any;
27
- visitarDeclaracaoPara(declaracao: Para): Promise<any>;
30
+ visitarDeclaracaoPara(declaracao: Para): any;
28
31
  visitarDeclaracaoParaCada(declaracao: ParaCada): Promise<any>;
29
- visitarDeclaracaoSe(declaracao: Se): void | Promise<any>;
32
+ visitarDeclaracaoSe(declaracao: Se): void;
30
33
  visitarDeclaracaoTendoComo(declaracao: TendoComo): void | Promise<any>;
31
34
  visitarDeclaracaoTente(declaracao: Tente): void | Promise<any>;
32
35
  visitarDeclaracaoVar(declaracao: Var): any;
@@ -35,23 +38,23 @@ export declare class FormatadorMapler implements VisitanteComumInterface {
35
38
  visitarExpressaoAcessoIndiceVariavel(expressao: AcessoIndiceVariavel<string>): void | Promise<any>;
36
39
  visitarExpressaoAcessoElementoMatriz(expressao: AcessoElementoMatriz<string>): void | Promise<any>;
37
40
  visitarExpressaoAcessoMetodo(expressao: AcessoMetodoOuPropriedade<string>): void | Promise<any>;
38
- visitarExpressaoAgrupamento(expressao: Agrupamento): Promise<any>;
39
- visitarExpressaoAtribuicaoPorIndice(expressao: AtribuicaoPorIndice): Promise<any>;
41
+ visitarExpressaoAgrupamento(expressao: Agrupamento): any;
42
+ visitarExpressaoAtribuicaoPorIndice(expressao: AtribuicaoPorIndice): any;
40
43
  visitarExpressaoAtribuicaoPorIndicesMatriz(expressao: AtribuicaoPorIndicesMatriz): Promise<any>;
41
- visitarExpressaoBinaria(expressao: Binario<string>): void | Promise<any>;
42
- visitarExpressaoBloco(declaracao: Bloco): Promise<any>;
44
+ visitarExpressaoBinaria(expressao: Binario): void;
45
+ visitarExpressaoBloco(declaracao: Bloco): any;
43
46
  visitarExpressaoContinua(declaracao?: Continua): ContinuarQuebra;
44
47
  visitarExpressaoDeChamada(expressao: Chamada): void | Promise<any>;
45
48
  visitarExpressaoDefinirValor(expressao: DefinirValor<string>): void | Promise<any>;
46
49
  visitarExpressaoDeleguaFuncao(expressao: FuncaoConstruto): void | Promise<any>;
47
- visitarExpressaoDeVariavel(expressao: Variavel<string> | Constante<string>): void | Promise<any>;
50
+ visitarExpressaoDeVariavel(expressao: Variavel): void;
48
51
  visitarExpressaoDicionario(expressao: Dicionario): void | Promise<any>;
49
52
  visitarExpressaoExpressaoRegular(expressao: ExpressaoRegular<string>): Promise<RegExp>;
50
53
  visitarExpressaoFalhar(expressao: Falhar): Promise<any>;
51
- visitarExpressaoFimPara(declaracao: FimPara): void | Promise<any>;
54
+ visitarExpressaoFimPara(declaracao: FimPara): any;
52
55
  visitarExpressaoFormatacaoEscrita(declaracao: FormatacaoEscrita): void | Promise<any>;
53
56
  visitarExpressaoIsto(expressao: Isto): void | Promise<any>;
54
- visitarExpressaoLeia(expressao: Leia): Promise<any>;
57
+ visitarExpressaoLeia(expressao: Leia): any;
55
58
  visitarExpressaoLeiaMultiplo(expressao: LeiaMultiplo): Promise<any>;
56
59
  visitarExpressaoLiteral(expressao: Literal): any;
57
60
  visitarExpressaoLogica(expressao: Logico<string>): void | Promise<any>;
@@ -60,9 +63,10 @@ export declare class FormatadorMapler implements VisitanteComumInterface {
60
63
  visitarExpressaoSustar(declaracao?: Sustar): SustarQuebra;
61
64
  visitarExpressaoTupla(expressao: Tupla): Promise<any>;
62
65
  visitarExpressaoTipoDe(expressao: TipoDe<string>): Promise<any>;
63
- visitarExpressaoUnaria(expressao: Unario<string>): void | Promise<any>;
66
+ visitarExpressaoUnaria(expressao: Unario): void;
64
67
  visitarExpressaoVetor(expressao: Vetor): void | Promise<any>;
65
68
  formatarDeclaracaoOuConstruto(declaracaoOuConstruto: Declaracao | Construto): void;
69
+ private formatarBlocoOuVetorDeclaracoes;
66
70
  formatar(declaracoes: Declaracao[]): string;
67
71
  }
68
72
  //# sourceMappingURL=formatador-mapler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatador-mapler.d.ts","sourceRoot":"","sources":["../../fontes/formatador/formatador-mapler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatador-mapler.d.ts","sourceRoot":"","sources":["../../fontes/formatador/formatador-mapler.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,14 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.FormatadorMapler = void 0;
7
+ const delegua_1 = require("@designliquido/delegua");
8
+ const comum_1 = __importDefault(require("../tipos-de-dados/comum"));
9
+ const mapler_1 = __importDefault(require("../tipos-de-dados/mapler"));
10
+ const lexico_regular_1 = __importDefault(require("../tipos-de-simbolos/lexico-regular"));
11
+ const pilha_escopos_formatacao_1 = require("./pilha-escopos-formatacao");
4
12
  class FormatadorMapler {
5
13
  constructor(quebraLinha, tamanhoIndentacao = 4) {
6
14
  this.quebraLinha = quebraLinha;
@@ -9,6 +17,7 @@ class FormatadorMapler {
9
17
  this.codigoFormatado = '';
10
18
  this.devePularLinha = true;
11
19
  this.deveIndentar = true;
20
+ this.eEstruturaPara = false;
12
21
  }
13
22
  visitarDeclaracaoAleatorio(declaracao) {
14
23
  throw new Error('Método não implementado.');
@@ -37,19 +46,38 @@ class FormatadorMapler {
37
46
  throw new Error('Método não implementado.');
38
47
  }
39
48
  visitarDeclaracaoEnquanto(declaracao) {
40
- throw new Error('Método não implementado.');
49
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}enquanto `;
50
+ this.formatarDeclaracaoOuConstruto(declaracao.condicao);
51
+ this.codigoFormatado += ` faca`;
52
+ this.codigoFormatado += this.quebraLinha;
53
+ this.formatarDeclaracaoOuConstruto(declaracao.corpo);
54
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}fim enquanto;${this.quebraLinha}`;
41
55
  }
42
56
  visitarDeclaracaoEscolha(declaracao) {
43
57
  throw new Error('Método não implementado.');
44
58
  }
45
59
  visitarDeclaracaoEscreva(declaracao) {
46
- throw new Error('Método não implementado.');
60
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}escrever `;
61
+ this.deveIndentar = false;
62
+ for (let argumento of declaracao.argumentos) {
63
+ this.formatarDeclaracaoOuConstruto(argumento);
64
+ this.codigoFormatado += `, `;
65
+ }
66
+ this.deveIndentar = true;
67
+ if (declaracao.argumentos.length > 0) {
68
+ this.codigoFormatado = this.codigoFormatado.slice(0, -2);
69
+ }
70
+ this.codigoFormatado += `;${this.quebraLinha}`;
47
71
  }
48
72
  visitarDeclaracaoEscrevaMesmaLinha(declaracao) {
49
73
  throw new Error('Método não implementado.');
50
74
  }
51
75
  visitarDeclaracaoFazer(declaracao) {
52
- throw new Error('Método não implementado.');
76
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}repita${this.quebraLinha}`;
77
+ this.formatarDeclaracaoOuConstruto(declaracao.caminhoFazer);
78
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}ate `;
79
+ this.formatarDeclaracaoOuConstruto(declaracao.condicaoEnquanto);
80
+ this.codigoFormatado += `;${this.quebraLinha}`;
53
81
  }
54
82
  visitarDeclaracaoImportar(declaracao) {
55
83
  throw new Error('Método não implementado.');
@@ -61,13 +89,49 @@ class FormatadorMapler {
61
89
  this.indentacaoAtual += this.tamanhoIndentacao;
62
90
  }
63
91
  visitarDeclaracaoPara(declaracao) {
64
- throw new Error('Método não implementado.');
92
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}para `;
93
+ this.devePularLinha = false;
94
+ this.eEstruturaPara = true;
95
+ if (declaracao.inicializador) {
96
+ this.deveIndentar = false;
97
+ if (Array.isArray(declaracao.inicializador)) {
98
+ for (let declaracaoInicializador of declaracao.inicializador) {
99
+ this.formatarDeclaracaoOuConstruto(declaracaoInicializador);
100
+ }
101
+ }
102
+ else {
103
+ this.formatarDeclaracaoOuConstruto(declaracao.inicializador);
104
+ }
105
+ this.deveIndentar = true;
106
+ }
107
+ if (declaracao.condicao instanceof delegua_1.Binario)
108
+ this.codigoFormatado += ` ate ${declaracao.condicao.direita.valor}`;
109
+ else
110
+ this.formatarDeclaracaoOuConstruto(declaracao.condicao);
111
+ this.formatarDeclaracaoOuConstruto(declaracao.incrementar);
112
+ this.codigoFormatado += ` faca${this.quebraLinha}`;
113
+ this.formatarBlocoOuVetorDeclaracoes(declaracao.corpo.declaracoes);
114
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}fim para;${this.quebraLinha}`;
115
+ this.devePularLinha = true;
116
+ this.eEstruturaPara = false;
65
117
  }
66
118
  visitarDeclaracaoParaCada(declaracao) {
67
119
  throw new Error('Método não implementado.');
68
120
  }
69
121
  visitarDeclaracaoSe(declaracao) {
70
- throw new Error('Método não implementado.');
122
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}se `;
123
+ this.formatarDeclaracaoOuConstruto(declaracao.condicao);
124
+ this.codigoFormatado += ` entao${this.quebraLinha}`;
125
+ this.indentacaoAtual += this.tamanhoIndentacao;
126
+ for (let declaracaoBloco of declaracao.caminhoEntao.declaracoes) {
127
+ this.formatarDeclaracaoOuConstruto(declaracaoBloco);
128
+ }
129
+ this.indentacaoAtual -= this.tamanhoIndentacao;
130
+ if (declaracao.caminhoSenao) {
131
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}senao${this.quebraLinha}`;
132
+ this.formatarDeclaracaoOuConstruto(declaracao.caminhoSenao);
133
+ }
134
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}fim se;${this.quebraLinha}`;
71
135
  }
72
136
  visitarDeclaracaoTendoComo(declaracao) {
73
137
  throw new Error('Método não implementado.');
@@ -76,20 +140,66 @@ class FormatadorMapler {
76
140
  throw new Error('Método não implementado.');
77
141
  }
78
142
  visitarDeclaracaoVar(declaracao) {
79
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}${declaracao.simbolo.lexema}: ${declaracao.tipo};`;
80
- this.codigoFormatado += `${this.quebraLinha}`;
143
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}${declaracao.simbolo.lexema}: `;
144
+ switch (declaracao.tipo) {
145
+ case comum_1.default.TEXTO:
146
+ this.codigoFormatado += mapler_1.default.CADEIA;
147
+ break;
148
+ case comum_1.default.LOGICO:
149
+ case 'lógico':
150
+ this.codigoFormatado += mapler_1.default.LOGICO;
151
+ break;
152
+ case mapler_1.default.VETOR:
153
+ this.codigoFormatado += `${mapler_1.default.VETOR} `;
154
+ if (Array.isArray(declaracao.inicializador.valor)) {
155
+ const tamanhoVetor = declaracao.inicializador.valor.length;
156
+ this.codigoFormatado += `[${declaracao.inicializador.valor[0]}..${declaracao.inicializador.valor[tamanhoVetor - 1]}]`;
157
+ }
158
+ break;
159
+ default:
160
+ this.codigoFormatado += declaracao.tipo;
161
+ console.log(declaracao.tipo);
162
+ break;
163
+ }
164
+ this.codigoFormatado += `;${this.quebraLinha}`;
81
165
  }
82
166
  visitarDeclaracaoVarMultiplo(declaracao) {
83
167
  throw new Error('Método não implementado.');
84
168
  }
85
169
  visitarExpressaoDeAtribuicao(expressao) {
86
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}`;
87
- this.codigoFormatado += `${expressao.simbolo.lexema} <- `;
170
+ if (this.deveIndentar) {
171
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}`;
172
+ }
173
+ if (this.eEstruturaPara) {
174
+ this.codigoFormatado += `${expressao.simbolo.lexema} de `;
175
+ }
176
+ else {
177
+ this.codigoFormatado += `${expressao.simbolo.lexema} <- `;
178
+ }
88
179
  this.formatarDeclaracaoOuConstruto(expressao.valor);
89
- this.codigoFormatado += `;${this.quebraLinha}`;
180
+ if (this.devePularLinha) {
181
+ this.codigoFormatado += `;${this.quebraLinha}`;
182
+ }
90
183
  }
91
184
  visitarExpressaoAcessoIndiceVariavel(expressao) {
92
- throw new Error('Método não implementado.');
185
+ if (this.deveIndentar) {
186
+ this.codigoFormatado += `${" ".repeat(this.indentacaoAtual)}`;
187
+ }
188
+ let variavel;
189
+ let valor;
190
+ if (expressao.entidadeChamada instanceof delegua_1.Variavel) {
191
+ variavel = expressao.entidadeChamada.simbolo.lexema;
192
+ }
193
+ else {
194
+ variavel = expressao.entidadeChamada.valor;
195
+ }
196
+ if (expressao.indice instanceof delegua_1.Variavel) {
197
+ valor = expressao.indice.simbolo.lexema;
198
+ }
199
+ else {
200
+ valor = expressao.indice.valor;
201
+ }
202
+ this.codigoFormatado += `${variavel}[${valor}]`;
93
203
  }
94
204
  visitarExpressaoAcessoElementoMatriz(expressao) {
95
205
  throw new Error('Método não implementado.');
@@ -98,19 +208,72 @@ class FormatadorMapler {
98
208
  throw new Error('Método não implementado.');
99
209
  }
100
210
  visitarExpressaoAgrupamento(expressao) {
101
- throw new Error('Método não implementado.');
211
+ this.codigoFormatado += '(';
212
+ this.formatarDeclaracaoOuConstruto(expressao.expressao);
213
+ this.codigoFormatado += ')';
102
214
  }
103
215
  visitarExpressaoAtribuicaoPorIndice(expressao) {
104
- throw new Error('Método não implementado.');
216
+ const variavel = expressao.objeto;
217
+ let posicao;
218
+ let valor;
219
+ if (expressao.indice instanceof delegua_1.Variavel) {
220
+ posicao = expressao.indice.simbolo.lexema;
221
+ }
222
+ else if (expressao.indice instanceof delegua_1.Literal) {
223
+ posicao = expressao.indice.valor;
224
+ }
225
+ if (expressao.valor instanceof delegua_1.Variavel) {
226
+ valor = expressao.valor.simbolo.lexema;
227
+ }
228
+ else if (expressao.valor instanceof delegua_1.Literal) {
229
+ valor = expressao.valor.valor;
230
+ }
231
+ this.codigoFormatado += `${" ".repeat(this.indentacaoAtual)}${variavel.simbolo.lexema}[${posicao}] <- ${valor};${this.quebraLinha}`;
105
232
  }
106
233
  visitarExpressaoAtribuicaoPorIndicesMatriz(expressao) {
107
234
  throw new Error('Método não implementado.');
108
235
  }
109
236
  visitarExpressaoBinaria(expressao) {
110
- throw new Error('Método não implementado.');
237
+ this.formatarDeclaracaoOuConstruto(expressao.esquerda);
238
+ switch (expressao.operador.tipo) {
239
+ case lexico_regular_1.default.ADICAO:
240
+ this.codigoFormatado += ' + ';
241
+ break;
242
+ case lexico_regular_1.default.DIVISAO:
243
+ this.codigoFormatado += ' / ';
244
+ break;
245
+ case lexico_regular_1.default.IGUAL:
246
+ this.codigoFormatado += ' = ';
247
+ break;
248
+ case lexico_regular_1.default.MAIOR:
249
+ this.codigoFormatado += ' > ';
250
+ break;
251
+ case lexico_regular_1.default.MAIOR_IGUAL:
252
+ this.codigoFormatado += ' >= ';
253
+ break;
254
+ case lexico_regular_1.default.MENOR:
255
+ this.codigoFormatado += '<';
256
+ break;
257
+ case lexico_regular_1.default.MENOR_IGUAL:
258
+ this.codigoFormatado += ' <= ';
259
+ break;
260
+ case lexico_regular_1.default.SUBTRACAO:
261
+ this.codigoFormatado += ` - `;
262
+ break;
263
+ case lexico_regular_1.default.MULTIPLICACAO:
264
+ this.codigoFormatado += ` * `;
265
+ break;
266
+ case lexico_regular_1.default.MODULO:
267
+ this.codigoFormatado += ` % `;
268
+ break;
269
+ default:
270
+ console.log(expressao.operador.tipo);
271
+ break;
272
+ }
273
+ this.formatarDeclaracaoOuConstruto(expressao.direita);
111
274
  }
112
275
  visitarExpressaoBloco(declaracao) {
113
- throw new Error('Método não implementado.');
276
+ this.formatarBlocoOuVetorDeclaracoes(declaracao.declaracoes);
114
277
  }
115
278
  visitarExpressaoContinua(declaracao) {
116
279
  throw new Error('Método não implementado.');
@@ -125,7 +288,7 @@ class FormatadorMapler {
125
288
  throw new Error('Método não implementado.');
126
289
  }
127
290
  visitarExpressaoDeVariavel(expressao) {
128
- throw new Error('Método não implementado.');
291
+ this.codigoFormatado += expressao.simbolo.lexema;
129
292
  }
130
293
  visitarExpressaoDicionario(expressao) {
131
294
  throw new Error('Método não implementado.');
@@ -137,16 +300,28 @@ class FormatadorMapler {
137
300
  throw new Error('Método não implementado.');
138
301
  }
139
302
  visitarExpressaoFimPara(declaracao) {
140
- throw new Error('Método não implementado.');
303
+ if (declaracao.incremento) {
304
+ this.codigoFormatado += ` passo `;
305
+ const incremento = declaracao.incremento;
306
+ this.formatarDeclaracaoOuConstruto(incremento.expressao.valor.direita);
307
+ }
141
308
  }
142
309
  visitarExpressaoFormatacaoEscrita(declaracao) {
143
- throw new Error('Método não implementado.');
310
+ this.formatarDeclaracaoOuConstruto(declaracao.expressao);
144
311
  }
145
312
  visitarExpressaoIsto(expressao) {
146
313
  throw new Error('Método não implementado.');
147
314
  }
148
315
  visitarExpressaoLeia(expressao) {
149
- throw new Error('Método não implementado.');
316
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}ler `;
317
+ for (let argumento of expressao.argumentos) {
318
+ this.formatarDeclaracaoOuConstruto(argumento);
319
+ this.codigoFormatado += `, `;
320
+ }
321
+ if (expressao.argumentos.length > 0) {
322
+ this.codigoFormatado = this.codigoFormatado.slice(0, -2);
323
+ }
324
+ this.codigoFormatado += `${this.quebraLinha}`;
150
325
  }
151
326
  visitarExpressaoLeiaMultiplo(expressao) {
152
327
  throw new Error('Método não implementado.');
@@ -188,7 +363,27 @@ class FormatadorMapler {
188
363
  throw new Error('Método não implementado.');
189
364
  }
190
365
  visitarExpressaoUnaria(expressao) {
191
- throw new Error('Método não implementado.');
366
+ let operador;
367
+ switch (expressao.operador.tipo) {
368
+ case lexico_regular_1.default.SUBTRACAO:
369
+ operador = `-`;
370
+ break;
371
+ case lexico_regular_1.default.ADICAO:
372
+ operador = `+`;
373
+ break;
374
+ case lexico_regular_1.default.NEGACAO:
375
+ operador = `nao `;
376
+ }
377
+ switch (expressao.incidenciaOperador) {
378
+ case 'ANTES':
379
+ this.codigoFormatado += operador;
380
+ this.formatarDeclaracaoOuConstruto(expressao.operando);
381
+ break;
382
+ case 'DEPOIS':
383
+ this.formatarDeclaracaoOuConstruto(expressao.operando);
384
+ this.codigoFormatado += operador;
385
+ break;
386
+ }
192
387
  }
193
388
  visitarExpressaoVetor(expressao) {
194
389
  throw new Error('Método não implementado.');
@@ -216,9 +411,64 @@ class FormatadorMapler {
216
411
  case 'Variavel':
217
412
  this.visitarExpressaoDeVariavel(declaracaoOuConstruto);
218
413
  break;
414
+ case 'Escreva':
415
+ this.visitarDeclaracaoEscreva(declaracaoOuConstruto);
416
+ break;
417
+ case 'FormatacaoEscrita':
418
+ this.visitarExpressaoFormatacaoEscrita(declaracaoOuConstruto);
419
+ break;
420
+ case 'Leia':
421
+ this.visitarExpressaoLeia(declaracaoOuConstruto);
422
+ break;
423
+ case 'Se':
424
+ this.visitarDeclaracaoSe(declaracaoOuConstruto);
425
+ break;
426
+ case 'Bloco':
427
+ this.visitarExpressaoBloco(declaracaoOuConstruto);
428
+ break;
429
+ case 'Unario':
430
+ this.visitarExpressaoUnaria(declaracaoOuConstruto);
431
+ break;
432
+ case 'Para':
433
+ this.visitarDeclaracaoPara(declaracaoOuConstruto);
434
+ break;
435
+ case 'Enquanto':
436
+ this.visitarDeclaracaoEnquanto(declaracaoOuConstruto);
437
+ break;
438
+ case 'Fazer':
439
+ this.visitarDeclaracaoFazer(declaracaoOuConstruto);
440
+ break;
441
+ case 'Agrupamento':
442
+ this.visitarExpressaoAgrupamento(declaracaoOuConstruto);
443
+ break;
444
+ case 'AtribuicaoPorIndice':
445
+ this.visitarExpressaoAtribuicaoPorIndice(declaracaoOuConstruto);
446
+ break;
447
+ case 'AcessoIndiceVariavel':
448
+ this.visitarExpressaoAcessoIndiceVariavel(declaracaoOuConstruto);
449
+ break;
450
+ case 'FimPara':
451
+ this.visitarExpressaoFimPara(declaracaoOuConstruto);
452
+ break;
453
+ default:
454
+ console.log(declaracaoOuConstruto.constructor.name);
455
+ break;
219
456
  }
220
457
  }
458
+ formatarBlocoOuVetorDeclaracoes(declaracoes) {
459
+ this.indentacaoAtual += this.tamanhoIndentacao;
460
+ this.pilhaEscoposFormatacao.empilharDeclaracoes(declaracoes);
461
+ for (let declaracaoBloco of declaracoes) {
462
+ this.formatarDeclaracaoOuConstruto(declaracaoBloco);
463
+ this.pilhaEscoposFormatacao.topoDaPilha().declaracaoAtual++;
464
+ }
465
+ this.pilhaEscoposFormatacao.removerUltimo();
466
+ this.indentacaoAtual -= this.tamanhoIndentacao;
467
+ }
221
468
  formatar(declaracoes) {
469
+ this.pilhaEscoposFormatacao = new pilha_escopos_formatacao_1.PilhaEscoposFormatacao();
470
+ this.pilhaEscoposFormatacao.empilharDeclaracoes(declaracoes);
471
+ const escopoInicialFormatacao = this.pilhaEscoposFormatacao.topoDaPilha();
222
472
  this.indentacaoAtual = 0;
223
473
  this.codigoFormatado = `variaveis ${this.quebraLinha}`;
224
474
  this.devePularLinha = true;
@@ -226,6 +476,7 @@ class FormatadorMapler {
226
476
  this.indentacaoAtual += this.tamanhoIndentacao;
227
477
  for (let declaracao of declaracoes) {
228
478
  this.formatarDeclaracaoOuConstruto(declaracao);
479
+ escopoInicialFormatacao.declaracaoAtual++;
229
480
  }
230
481
  this.indentacaoAtual -= this.tamanhoIndentacao;
231
482
  this.codigoFormatado += `fim${this.quebraLinha}`;
@@ -1 +1 @@
1
- {"version":3,"file":"formatador-mapler.js","sourceRoot":"","sources":["../../fontes/formatador/formatador-mapler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatador-mapler.js","sourceRoot":"","sources":["../../fontes/formatador/formatador-mapler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Declaracao, PilhaInterface } from "@designliquido/delegua";
2
+ import { EscopoFormatacao } from "./escopo-formatacao";
3
+ export declare class PilhaEscoposFormatacao implements PilhaInterface<EscopoFormatacao> {
4
+ pilha: EscopoFormatacao[];
5
+ constructor();
6
+ empilhar(item: EscopoFormatacao): void;
7
+ empilharDeclaracoes(declaracoes: Declaracao[]): void;
8
+ eVazio(): boolean;
9
+ topoDaPilha(): EscopoFormatacao;
10
+ removerUltimo(): EscopoFormatacao;
11
+ }
12
+ //# sourceMappingURL=pilha-escopos-formatacao.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pilha-escopos-formatacao.d.ts","sourceRoot":"","sources":["../../fontes/formatador/pilha-escopos-formatacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAIvD,qBAAa,sBAAuB,YAAW,cAAc,CAAC,gBAAgB,CAAC;IAC3E,KAAK,EAAE,gBAAgB,EAAE,CAAC;;IAM1B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAItC,mBAAmB,CAAC,WAAW,EAAE,UAAU,EAAE;IAS7C,MAAM,IAAI,OAAO;IAIjB,WAAW,IAAI,gBAAgB;IAK/B,aAAa,IAAI,gBAAgB;CAIpC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PilhaEscoposFormatacao = void 0;
4
+ class PilhaEscoposFormatacao {
5
+ constructor() {
6
+ this.pilha = [];
7
+ }
8
+ empilhar(item) {
9
+ this.pilha.push(item);
10
+ }
11
+ empilharDeclaracoes(declaracoes) {
12
+ const escopoFormatacao = {
13
+ declaracoes: declaracoes,
14
+ declaracaoAtual: 0
15
+ };
16
+ this.empilhar(escopoFormatacao);
17
+ }
18
+ eVazio() {
19
+ return this.pilha.length === 0;
20
+ }
21
+ topoDaPilha() {
22
+ if (this.eVazio())
23
+ throw new Error('Pilha vazia.');
24
+ return this.pilha[this.pilha.length - 1];
25
+ }
26
+ removerUltimo() {
27
+ if (this.eVazio())
28
+ throw new Error('Pilha vazia.');
29
+ return this.pilha.pop();
30
+ }
31
+ }
32
+ exports.PilhaEscoposFormatacao = PilhaEscoposFormatacao;
33
+ //# sourceMappingURL=pilha-escopos-formatacao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pilha-escopos-formatacao.js","sourceRoot":"","sources":["../../fontes/formatador/pilha-escopos-formatacao.ts"],"names":[],"mappings":";;;AAKA,MAAa,sBAAsB;IAG/B;QACI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ,CAAC,IAAsB;QAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,mBAAmB,CAAC,WAAyB;QACzC,MAAM,gBAAgB,GAAG;YACrB,WAAW,EAAE,WAAW;YACxB,eAAe,EAAE,CAAC;SACrB,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,WAAW;QACP,IAAI,IAAI,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa;QACT,IAAI,IAAI,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;CACJ;AAjCD,wDAiCC"}
@@ -1,5 +1,5 @@
1
1
  import { Binario, Construto } from '@designliquido/delegua/construtos';
2
- import { EscrevaMesmaLinha, Escreva, Leia } from '@designliquido/delegua/declaracoes';
2
+ import { EscrevaMesmaLinha, Escreva, Leia, InicioAlgoritmo } from '@designliquido/delegua/declaracoes';
3
3
  import { InterpretadorComDepuracao } from '@designliquido/delegua/interpretador';
4
4
  /**
5
5
  * Interpretador com depuração para o dialeto Mapler.
@@ -7,6 +7,7 @@ import { InterpretadorComDepuracao } from '@designliquido/delegua/interpretador'
7
7
  export declare class InterpretadorMaplerComDepuracao extends InterpretadorComDepuracao {
8
8
  mensagemPrompt: string;
9
9
  constructor(diretorioBase: string, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
10
+ visitarDeclaracaoInicioAlgoritmo(declaracao: InicioAlgoritmo): Promise<any>;
10
11
  visitarDeclaracaoEscreva(declaracao: Escreva): Promise<any>;
11
12
  visitarDeclaracaoEscrevaMesmaLinha(declaracao: EscrevaMesmaLinha): Promise<any>;
12
13
  atribuirVariavel(expressao: Construto, valor: any): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-mapler-com-depuracao.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-mapler-com-depuracao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,OAAO,EAAE,SAAS,EAAY,MAAM,mCAAmC,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAIjF;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,yBAAyB;IAC1E,cAAc,EAAE,MAAM,CAAC;gBAEX,aAAa,EAAE,MAAM,EAAE,eAAe,GAAE,QAAe,EAAE,yBAAyB,GAAE,QAAe;IAKzG,wBAAwB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAI3D,kCAAkC,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IAI/E,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA0BtE;;;;;OAKG;IACG,oBAAoB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAenD,uBAAuB,CAAC,SAAS,EAAE,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAGxE"}
1
+ {"version":3,"file":"interpretador-mapler-com-depuracao.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-mapler-com-depuracao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,OAAO,EAAE,SAAS,EAAY,MAAM,mCAAmC,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAIjF;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,yBAAyB;IAC1E,cAAc,EAAE,MAAM,CAAC;gBAEX,aAAa,EAAE,MAAM,EAAE,eAAe,GAAE,QAAe,EAAE,yBAAyB,GAAE,QAAe;IAKtG,gCAAgC,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9E,wBAAwB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAI3D,kCAAkC,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IAI/E,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA0BtE;;;;;OAKG;IACG,oBAAoB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAenD,uBAAuB,CAAC,SAAS,EAAE,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAGxE"}
@@ -35,6 +35,9 @@ class InterpretadorMaplerComDepuracao extends interpretador_1.InterpretadorComDe
35
35
  super(diretorioBase, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
36
36
  this.mensagemPrompt = '> ';
37
37
  }
38
+ visitarDeclaracaoInicioAlgoritmo(declaracao) {
39
+ return Promise.resolve();
40
+ }
38
41
  async visitarDeclaracaoEscreva(declaracao) {
39
42
  return await comum.visitarDeclaracaoEscreva(this, declaracao);
40
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-mapler-com-depuracao.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-mapler-com-depuracao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAuG;AAEvG,wEAAiF;AAEjF,+CAAiC;AAEjC;;GAEG;AACH,MAAa,+BAAgC,SAAQ,yCAAyB;IAG1E,YAAY,aAAqB,EAAE,kBAA4B,IAAI,EAAE,4BAAsC,IAAI;QAC3G,KAAK,CAAC,aAAa,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,UAAmB;QAC9C,OAAO,MAAM,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,UAA6B;QAClE,OAAO,MAAM,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAoB,EAAE,KAAU;QACnD,IAAI,SAAS,YAAY,qBAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACrE,OAAO;QACX,CAAC;QAED,IAAI,SAAS,YAAY,iCAAoB,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;aACjC,CAAC,CAAC;YAEH,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YACtB,CAAC;YAED,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAe;QACtC,KAAK,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,eAAe,GAAa,GAAG,EAAE,CACnC,IAAI,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CACtB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,QAAa,EAAE,EAAE;gBACvE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,SAAS,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC,CAAC,CACL,CAAC;YAEN,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,SAAwB;QAClD,OAAO,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;CACJ;AAlED,0EAkEC"}
1
+ {"version":3,"file":"interpretador-mapler-com-depuracao.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-mapler-com-depuracao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAuG;AAEvG,wEAAiF;AAEjF,+CAAiC;AAEjC;;GAEG;AACH,MAAa,+BAAgC,SAAQ,yCAAyB;IAG1E,YAAY,aAAqB,EAAE,kBAA4B,IAAI,EAAE,4BAAsC,IAAI;QAC3G,KAAK,CAAC,aAAa,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAEQ,gCAAgC,CAAC,UAA2B;QACjE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,UAAmB;QAC9C,OAAO,MAAM,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,UAA6B;QAClE,OAAO,MAAM,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAoB,EAAE,KAAU;QACnD,IAAI,SAAS,YAAY,qBAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACrE,OAAO;QACX,CAAC;QAED,IAAI,SAAS,YAAY,iCAAoB,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;aACjC,CAAC,CAAC;YAEH,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YACtB,CAAC;YAED,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAe;QACtC,KAAK,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,eAAe,GAAa,GAAG,EAAE,CACnC,IAAI,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CACtB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,QAAa,EAAE,EAAE;gBACvE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,SAAS,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC,CAAC,CACL,CAAC;YAEN,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,SAAwB;QAClD,OAAO,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;CACJ;AAtED,0EAsEC"}
@@ -1,9 +1,10 @@
1
1
  import { Binario, ExpressaoRegular } from '@designliquido/delegua/construtos';
2
- import { Aleatorio, Const, Escreva, EscrevaMesmaLinha, Leia } from '@designliquido/delegua/declaracoes';
2
+ import { Aleatorio, Const, Escreva, EscrevaMesmaLinha, InicioAlgoritmo, Leia } from '@designliquido/delegua/declaracoes';
3
3
  import { InterpretadorBase } from '@designliquido/delegua/interpretador';
4
4
  export declare class InterpretadorMapler extends InterpretadorBase {
5
5
  mensagemPrompt: string;
6
6
  constructor(diretorioBase: string, performance?: boolean, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
7
+ visitarDeclaracaoInicioAlgoritmo(declaracao: InicioAlgoritmo): Promise<any>;
7
8
  visitarExpressaoExpressaoRegular(expressao: ExpressaoRegular): Promise<any>;
8
9
  visitarDeclaracaoAleatorio(declaracao: Aleatorio): Promise<any>;
9
10
  visitarDeclaracaoConst(declaracao: Const): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-mapler.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-mapler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAa,gBAAgB,EAAoB,MAAM,mCAAmC,CAAC;AAC3G,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAS,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAKzE,qBAAa,mBAAoB,SAAQ,iBAAiB;IACtD,cAAc,EAAE,MAAM,CAAC;gBAGnB,aAAa,EAAE,MAAM,EACrB,WAAW,UAAQ,EACnB,eAAe,GAAE,QAAe,EAChC,yBAAyB,GAAE,QAAe;IAM9C,gCAAgC,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAI3E,0BAA0B,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAI/D,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjD,wBAAwB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAI3D,kCAAkC,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IAIrF;;;;;OAKG;IACG,oBAAoB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAenD,uBAAuB,CAAC,SAAS,EAAE,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAGxE"}
1
+ {"version":3,"file":"interpretador-mapler.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-mapler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAY,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AACzH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAIzE,qBAAa,mBAAoB,SAAQ,iBAAiB;IACtD,cAAc,EAAE,MAAM,CAAC;gBAGnB,aAAa,EAAE,MAAM,EACrB,WAAW,UAAQ,EACnB,eAAe,GAAE,QAAe,EAChC,yBAAyB,GAAE,QAAe;IAMrC,gCAAgC,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAIpF,gCAAgC,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAI3E,0BAA0B,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAI/D,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjD,wBAAwB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAI3D,kCAAkC,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IAIrF;;;;;OAKG;IACG,oBAAoB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAenD,uBAAuB,CAAC,SAAS,EAAE,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAGxE"}
@@ -31,6 +31,9 @@ class InterpretadorMapler extends interpretador_1.InterpretadorBase {
31
31
  super(diretorioBase, performance, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
32
32
  this.mensagemPrompt = '> ';
33
33
  }
34
+ visitarDeclaracaoInicioAlgoritmo(declaracao) {
35
+ return Promise.resolve();
36
+ }
34
37
  visitarExpressaoExpressaoRegular(expressao) {
35
38
  throw new Error('Método não implementado.');
36
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-mapler.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-mapler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wEAAyE;AAGzE,+CAAiC;AAEjC,MAAa,mBAAoB,SAAQ,iCAAiB;IAGtD,YACI,aAAqB,EACrB,WAAW,GAAG,KAAK,EACnB,kBAA4B,IAAI,EAChC,4BAAsC,IAAI;QAE1C,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QAC9E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,gCAAgC,CAAC,SAA2B;QACxD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,0BAA0B,CAAC,UAAqB;QAC5C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,sBAAsB,CAAC,UAAiB;QACpC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,UAAmB;QAC9C,OAAO,MAAM,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,UAA6B;QAClE,OAAO,MAAM,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAe;QACtC,KAAK,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,eAAe,GAAa,GAAG,EAAE,CACnC,IAAI,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CACtB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,QAAa,EAAE,EAAE;gBACvE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,SAAS,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC,CAAC,CACL,CAAC;YAEN,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;YAC1C,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAY,SAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzF,CAAC;IACL,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,SAAwB;QAClD,OAAO,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;CACJ;AAzDD,kDAyDC"}
1
+ {"version":3,"file":"interpretador-mapler.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-mapler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wEAAyE;AAEzE,+CAAiC;AAEjC,MAAa,mBAAoB,SAAQ,iCAAiB;IAGtD,YACI,aAAqB,EACrB,WAAW,GAAG,KAAK,EACnB,kBAA4B,IAAI,EAChC,4BAAsC,IAAI;QAE1C,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QAC9E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAEQ,gCAAgC,CAAC,UAA2B;QACjE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,gCAAgC,CAAC,SAA2B;QACxD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,0BAA0B,CAAC,UAAqB;QAC5C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,sBAAsB,CAAC,UAAiB;QACpC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,UAAmB;QAC9C,OAAO,MAAM,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,UAA6B;QAClE,OAAO,MAAM,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAe;QACtC,KAAK,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,eAAe,GAAa,GAAG,EAAE,CACnC,IAAI,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CACtB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,QAAa,EAAE,EAAE;gBACvE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,SAAS,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC,CAAC,CACL,CAAC;YAEN,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;YAC1C,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAY,SAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzF,CAAC;IACL,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,SAAwB;QAClD,OAAO,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;CACJ;AA7DD,kDA6DC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@designliquido/mapler",
3
3
  "description": "Dialeto de Mapler baseado em Delégua e TypeScript",
4
- "version": "0.1.4",
4
+ "version": "0.1.6",
5
5
  "license": "MIT",
6
6
  "bugs": {
7
7
  "url": "https://github.com/DesignLiquido/mapler/issues"
@@ -24,7 +24,7 @@
24
24
  "deixar-codigo-bonito": "prettier --config .prettierrc --write fontes/**/*.ts"
25
25
  },
26
26
  "dependencies": {
27
- "@designliquido/delegua": "^0.35.2",
27
+ "@designliquido/delegua": "^0.36.0",
28
28
  "lodash": "^4.17.21",
29
29
  "node-fetch": "2"
30
30
  },
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ TEXTO: string;
3
+ LOGICO: string;
4
+ };
5
+ export default _default;
6
+ //# sourceMappingURL=comum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comum.d.ts","sourceRoot":"","sources":["../../fontes/tipos-de-dados/comum.ts"],"names":[],"mappings":";;;;AAAA,wBAGC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ TEXTO: 'texto',
5
+ LOGICO: 'logico',
6
+ };
7
+ //# sourceMappingURL=comum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comum.js","sourceRoot":"","sources":["../../fontes/tipos-de-dados/comum.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACnB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './comum';
2
+ export * from './mapler';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/tipos-de-dados/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./comum"), exports);
18
+ __exportStar(require("./mapler"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/tipos-de-dados/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,2CAAwB"}
@@ -0,0 +1,7 @@
1
+ declare const _default: {
2
+ CADEIA: string;
3
+ LOGICO: string;
4
+ VETOR: string;
5
+ };
6
+ export default _default;
7
+ //# sourceMappingURL=mapler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapler.d.ts","sourceRoot":"","sources":["../../fontes/tipos-de-dados/mapler.ts"],"names":[],"mappings":";;;;;AAAA,wBAIC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ CADEIA: 'cadeia',
5
+ LOGICO: 'logico',
6
+ VETOR: 'vetor'
7
+ };
8
+ //# sourceMappingURL=mapler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapler.js","sourceRoot":"","sources":["../../fontes/tipos-de-dados/mapler.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACjB,CAAA"}