@designliquido/delegua 0.39.2 → 0.39.3

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.
package/bin/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/delegua",
3
- "version": "0.39.1",
3
+ "version": "0.39.2",
4
4
  "description": "Linguagem de programação simples e moderna usando português estruturado.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/delegua",
3
- "version": "0.39.2",
3
+ "version": "0.39.3",
4
4
  "description": "Linguagem de programação simples e moderna usando português estruturado.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -8,10 +8,10 @@ class TradutorAssemblyX64 {
8
8
  this.indentacao = 0;
9
9
  this.bss = 'section .bss\n';
10
10
  this.data = 'section .data\n';
11
- this.text = `
12
- section .text
13
- global _start
14
-
11
+ this.text = `
12
+ section .text
13
+ global _start
14
+
15
15
  _start:`;
16
16
  this.dicionarioConstrutos = {
17
17
  // AcessoIndiceVariavel: this.traduzirAcessoIndiceVariavel.bind(this),
@@ -112,18 +112,18 @@ _start:`;
112
112
  nome_string_literal = this.criaStringLiteral(declaracaoEscreva.argumentos[0]);
113
113
  tam_string_literal = this.criaTamanhoNaMemoriaReferenteAVar(nome_string_literal);
114
114
  }
115
- this.text += `
116
- mov edx, ${tam_string_literal}
117
- mov ecx, ${nome_string_literal}
118
- mov ebx, 1
119
- mov eax, 4
120
- int 0x80
115
+ this.text += `
116
+ mov edx, ${tam_string_literal}
117
+ mov ecx, ${nome_string_literal}
118
+ mov ebx, 1
119
+ mov eax, 4
120
+ int 0x80
121
121
  `;
122
122
  }
123
123
  saida_sistema() {
124
- this.text += `
125
- mov eax, 1
126
- int 0x80
124
+ this.text += `
125
+ mov eax, 1
126
+ int 0x80
127
127
  `;
128
128
  }
129
129
  traduzir(declaracoes) {
@@ -1,4 +1,4 @@
1
- import { AcessoIndiceVariavel, AcessoMetodo, AcessoMetodoOuPropriedade, AcessoPropriedade, Agrupamento, AtribuicaoPorIndice, Atribuir, Binario, Chamada, Comentario, DefinirValor, Dicionario, FuncaoConstruto, Literal, Logico, TipoDe, Unario, Variavel, Vetor } from '../construtos';
1
+ import { AcessoIndiceVariavel, AcessoMetodo, AcessoMetodoOuPropriedade, AcessoPropriedade, Agrupamento, AtribuicaoPorIndice, Atribuir, Binario, Chamada, Comentario, Construto, DefinirValor, Dicionario, FuncaoConstruto, Literal, Logico, TipoDe, Unario, Variavel, Vetor } from '../construtos';
2
2
  import { Bloco, Classe, Const, Declaracao, Enquanto, Escolha, Escreva, Expressao, Falhar, Fazer, FuncaoDeclaracao, Importar, Leia, Para, ParaCada, Retorna, Se, Tente, Var } from '../declaracoes';
3
3
  import { SimboloInterface, TradutorInterface } from '../interfaces';
4
4
  import { CaminhoEscolha } from '../interfaces/construtos';
@@ -11,7 +11,7 @@ export declare class TradutorJavaScript implements TradutorInterface<Declaracao>
11
11
  indentacao: number;
12
12
  declaracoesDeClasses: Classe[];
13
13
  traduzirSimboloOperador(operador: SimboloInterface): string;
14
- traduzirFuncoesNativas(metodo: string): string;
14
+ traduzirFuncaoOuMetodo(nomeMetodo: string, objetoResolvido: string, argumentos: Construto[]): string;
15
15
  traduzirConstrutoAgrupamento(agrupamento: Agrupamento): string;
16
16
  traduzirConstrutoAtribuir(atribuir: Atribuir): string;
17
17
  traduzirConstrutoBinario(binario: Binario): string;
@@ -20,7 +20,7 @@ export declare class TradutorJavaScript implements TradutorInterface<Declaracao>
20
20
  traduzirConstrutoDefinirValor(definirValor: DefinirValor): string;
21
21
  traduzirConstrutoDicionario(dicionario: Dicionario): string;
22
22
  traduzirConstrutoLiteral(literal: Literal): string;
23
- traduzirConstrutoVariavel(variavel: Variavel): string;
23
+ traduzirConstrutoVariavel(variavel: Variavel, argumentos: Construto[]): string;
24
24
  protected logicaComumBlocoEscopo(declaracoes: Declaracao[]): string;
25
25
  traduzirDeclaracaoBloco(declaracaoBloco: Bloco): string;
26
26
  logicaTraducaoMetodoClasse(metodoClasse: FuncaoDeclaracao): string;
@@ -41,9 +41,11 @@ export declare class TradutorJavaScript implements TradutorInterface<Declaracao>
41
41
  traduzirDeclaracaoTente(declaracaoTente: Tente): string;
42
42
  traduzirDeclaracaoConst(declaracaoConst: Const): string;
43
43
  traduzirDeclaracaoVar(declaracaoVar: Var, adicionarPontoEVirgula?: boolean): string;
44
- traduzirConstrutoAcessoMetodo(acessoMetodo: AcessoMetodo): string;
45
- traduzirConstrutoAcessoMetodoOuPropriedade(acessoMetodo: AcessoMetodoOuPropriedade): string;
46
- traduzirConstrutoAcessoPropriedade(acessoMetodo: AcessoPropriedade): string;
44
+ traduzirFuncaoAnonimaParaLambda(argumento: Construto): string;
45
+ traduzirAcessoMetodoVetor(objeto: Construto, nomeMetodo: string, argumentos: Construto[]): string;
46
+ traduzirConstrutoAcessoMetodo(acessoMetodo: AcessoMetodo, argumentos: Construto[]): string;
47
+ traduzirConstrutoAcessoMetodoOuPropriedade(acessoMetodo: AcessoMetodoOuPropriedade, argumentos: Construto[]): string;
48
+ traduzirConstrutoAcessoPropriedade(acessoMetodo: AcessoPropriedade, argumentos: Construto[]): string;
47
49
  traduzirFuncaoConstruto(funcaoConstruto: FuncaoConstruto): string;
48
50
  traduzirConstrutoLogico(logico: Logico): string;
49
51
  traduzirConstrutoAtribuicaoPorIndice(AtribuicaoPorIndice: AtribuicaoPorIndice): string;
@@ -1 +1 @@
1
- {"version":3,"file":"tradutor-javascript.d.ts","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-javascript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tradutor-javascript.d.ts","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-javascript.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,EACzB,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,eAAe,EAEf,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM,EACN,QAAQ,EACR,KAAK,EACR,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,KAAK,EACL,MAAM,EACN,KAAK,EACL,UAAU,EACV,QAAQ,EACR,OAAO,EACP,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,EAAE,EACF,KAAK,EACL,GAAG,EACN,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,iBAAiB,CAAC,UAAU,CAAC;IACpE,UAAU,EAAE,MAAM,CAAK;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAE/B,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM;IA2C3D,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM;IA6CpG,4BAA4B,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM;IAI9D,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAiBrD,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAgBlD,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAWlD,2BAA2B,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAe3D,6BAA6B,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM;IAUjE,2BAA2B,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAa3D,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAmBlD,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM;IA6B9E,SAAS,CAAC,sBAAsB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM;IAuBnE,uBAAuB,CAAC,eAAe,EAAE,KAAK,GAAG,MAAM;IAIvD,0BAA0B,CAAC,YAAY,EAAE,gBAAgB,GAAG,MAAM;IAoBlE,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM;IAe1D,0BAA0B,CAAC,kBAAkB,EAAE,QAAQ,GAAG,MAAM;IAQhE,0BAA0B,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM;IA2B3D,yBAAyB,CAAC,iBAAiB,EAAE,OAAO,GAAG,MAAM;IAqB7D,yBAAyB,CAAC,iBAAiB,EAAE,OAAO,GAAG,MAAM;IAY7D,2BAA2B,CAAC,mBAAmB,EAAE,SAAS,GAAG,MAAM;IAInE,uBAAuB,CAAC,eAAe,EAAE,KAAK,GAAG,MAAM;IAcvD,wBAAwB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,MAAM;IAkBpE,0BAA0B,CAAC,kBAAkB,EAAE,QAAQ;IAIvD,sBAAsB,CAAC,cAAc,EAAE,IAAI;IAI3C,0BAA0B,CAAC,kBAAkB,EAAE,QAAQ,GAAG,MAAM;IAShE,sBAAsB,CAAC,cAAc,EAAE,IAAI,GAAG,MAAM;IAyBpD,yBAAyB,CAAC,iBAAiB,EAAE,OAAO,GAAG,MAAM;IAM7D,oBAAoB,CAAC,YAAY,EAAE,EAAE,GAAG,MAAM;IAmC9C,uBAAuB,CAAC,eAAe,EAAE,KAAK,GAAG,MAAM;IAuCvD,uBAAuB,CAAC,eAAe,EAAE,KAAK,GAAG,MAAM;IAoBvD,qBAAqB,CAAC,aAAa,EAAE,GAAG,EAAE,sBAAsB,GAAE,OAAc,GAAG,MAAM;IAsBzF,+BAA+B,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAI7D,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM;IAwCjG,6BAA6B,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM;IAe1F,0CAA0C,CAAC,YAAY,EAAE,yBAAyB,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM;IASpH,kCAAkC,CAAC,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM;IASpG,uBAAuB,CAAC,eAAe,EAAE,eAAe,GAAG,MAAM;IAgBjE,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAS/C,oCAAoC,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,MAAM;IAmBtF,4BAA4B,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,MAAM;IAahF,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAmB5C,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAoB/C,wBAAwB,CAAC,MAAM,EAAE,MAAM;IAKvC,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAY/C,oBAAoB;;;;;;;;;;;;;;;;;;;;;MAqBlB;IAEF,qBAAqB;;;;;;;;;;;;;;;;;;;;;;MAsBnB;IAEF,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM;CAW9C"}
@@ -103,40 +103,46 @@ class TradutorJavaScript {
103
103
  return '-';
104
104
  }
105
105
  }
106
- traduzirFuncoesNativas(metodo) {
107
- switch (metodo.toLowerCase()) {
106
+ traduzirFuncaoOuMetodo(nomeMetodo, objetoResolvido, argumentos) {
107
+ const argumentosResolvidos = [];
108
+ for (const argumento of argumentos) {
109
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
110
+ argumentosResolvidos.push(argumentoResolvido);
111
+ }
112
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => atual += proximo + ', ', "");
113
+ textoArgumentos = textoArgumentos.slice(0, -2);
114
+ switch (nomeMetodo) {
108
115
  case 'adicionar':
109
116
  case 'empilhar':
110
- return 'push';
111
- case 'concatenar':
112
- return 'concat';
117
+ return `${objetoResolvido}.push(${textoArgumentos})`;
113
118
  case 'fatiar':
114
- return 'slice';
119
+ return `${objetoResolvido}.slice(${argumentos[0]}, ${argumentos[1]})`;
115
120
  case 'inclui':
116
- return 'includes';
121
+ return `${objetoResolvido}.includes(${argumentosResolvidos[0]})`;
117
122
  case 'inverter':
118
- return 'reverse';
123
+ return `${objetoResolvido}.toReversed()`;
119
124
  case 'juntar':
120
- return 'join';
121
- case 'ordenar':
122
- return 'sort';
123
- case 'removerprimeiro':
124
- return 'shift';
125
- case 'removerultimo':
126
- return 'pop';
127
- case 'tamanho':
128
- return 'length';
125
+ return `${argumentosResolvidos[0]}.join(${objetoResolvido})`;
129
126
  case 'maiusculo':
130
- return 'toUpperCase';
127
+ return `${objetoResolvido}.toUpperCase()`;
128
+ case 'mapear':
129
+ return `${objetoResolvido}.map(${this.traduzirFuncaoAnonimaParaLambda(argumentos[0])})`;
131
130
  case 'minusculo':
132
- return 'toLowerCase';
133
- case 'substituir':
134
- return 'replace';
135
- case 'texto':
136
- return 'String';
137
- default:
138
- return metodo;
131
+ return `${objetoResolvido}.toLowerCase()`;
132
+ case 'ordenar':
133
+ return `${objetoResolvido}.sort()`;
134
+ case 'remover':
135
+ return `delete ${objetoResolvido}[${argumentosResolvidos[0]}]`;
136
+ case 'removerPrimeiro':
137
+ return `${objetoResolvido}.shift()`;
138
+ case 'removerUltimo':
139
+ return `${objetoResolvido}.pop()`;
140
+ case 'somar':
141
+ return `${objetoResolvido}.reduce((acumulador, valorAtual) => acumulador + valorAtual, 0)`;
142
+ case 'tamanho':
143
+ return `${objetoResolvido}.length`;
139
144
  }
145
+ return `${objetoResolvido}.${nomeMetodo}(${textoArgumentos}))`;
140
146
  }
141
147
  traduzirConstrutoAgrupamento(agrupamento) {
142
148
  return this.dicionarioConstrutos[agrupamento.constructor.name](agrupamento.expressao || agrupamento);
@@ -173,28 +179,8 @@ class TradutorJavaScript {
173
179
  }
174
180
  traduzirConstrutoChamada(chamada) {
175
181
  let resultado = '';
176
- const retorno = `${this.dicionarioConstrutos[chamada.entidadeChamada.constructor.name](chamada.entidadeChamada)}`;
177
- const instanciaClasse = this.declaracoesDeClasses.some((declaracao) => { var _a; return ((_a = declaracao === null || declaracao === void 0 ? void 0 : declaracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema) === retorno; });
178
- if (instanciaClasse) {
179
- const classe = this.declaracoesDeClasses.find((declaracao) => { var _a; return ((_a = declaracao === null || declaracao === void 0 ? void 0 : declaracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema) === retorno; });
180
- if (classe.simbolo.lexema === retorno)
181
- resultado += `new ${retorno}`;
182
- }
183
- else {
184
- resultado += retorno;
185
- }
186
- if (!retorno.endsWith('length')) {
187
- resultado += '(';
188
- }
189
- for (let parametro of chamada.argumentos) {
190
- resultado += this.dicionarioConstrutos[parametro.constructor.name](parametro) + ', ';
191
- }
192
- if (chamada.argumentos.length > 0) {
193
- resultado = resultado.slice(0, -2);
194
- }
195
- if (!retorno.endsWith('length')) {
196
- resultado += ')';
197
- }
182
+ const retorno = `${this.dicionarioConstrutos[chamada.entidadeChamada.constructor.name](chamada.entidadeChamada, chamada.argumentos)}`;
183
+ resultado += retorno;
198
184
  return resultado;
199
185
  }
200
186
  traduzirConstrutoComentario(comentario) {
@@ -244,8 +230,28 @@ class TradutorJavaScript {
244
230
  }
245
231
  return literal.valor;
246
232
  }
247
- traduzirConstrutoVariavel(variavel) {
248
- return this.traduzirFuncoesNativas(variavel.simbolo.lexema);
233
+ traduzirConstrutoVariavel(variavel, argumentos) {
234
+ const argumentosResolvidos = [];
235
+ const argumentosValidados = argumentos || [];
236
+ for (const argumento of argumentosValidados) {
237
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
238
+ argumentosResolvidos.push(argumentoResolvido);
239
+ }
240
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => atual += proximo + ', ', "");
241
+ textoArgumentos = textoArgumentos.slice(0, -2);
242
+ switch (variavel.simbolo.lexema) {
243
+ case 'texto':
244
+ return `String(${textoArgumentos})`;
245
+ default:
246
+ const buscaClasseCorrespondente = this.declaracoesDeClasses.filter(d => d.simbolo.lexema === variavel.simbolo.lexema);
247
+ if (buscaClasseCorrespondente.length === 0 && argumentosValidados.length === 0) {
248
+ return `${variavel.simbolo.lexema}`;
249
+ }
250
+ if (buscaClasseCorrespondente.length > 0) {
251
+ return `new ${variavel.simbolo.lexema}(${textoArgumentos})`;
252
+ }
253
+ return `${variavel.simbolo.lexema}(${textoArgumentos})`;
254
+ }
249
255
  }
250
256
  logicaComumBlocoEscopo(declaracoes) {
251
257
  let resultado = '{\n';
@@ -512,28 +518,72 @@ class TradutorJavaScript {
512
518
  }
513
519
  return resultado;
514
520
  }
515
- traduzirConstrutoAcessoMetodo(acessoMetodo) {
516
- if (acessoMetodo.objeto instanceof construtos_1.Variavel) {
517
- let objetoVariavel = acessoMetodo.objeto;
518
- return `${objetoVariavel.simbolo.lexema}.${this.traduzirFuncoesNativas(acessoMetodo.nomeMetodo)}`;
521
+ // TODO: Talvez terminar (ou remover, sei lá).
522
+ traduzirFuncaoAnonimaParaLambda(argumento) {
523
+ return "";
524
+ }
525
+ traduzirAcessoMetodoVetor(objeto, nomeMetodo, argumentos) {
526
+ const objetoResolvido = this.dicionarioConstrutos[objeto.constructor.name](objeto);
527
+ const argumentosResolvidos = [];
528
+ for (const argumento of argumentos) {
529
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
530
+ argumentosResolvidos.push(argumentoResolvido);
519
531
  }
520
- if (acessoMetodo.objeto instanceof construtos_1.Isto) {
521
- return `this.${acessoMetodo.nomeMetodo}`;
532
+ switch (nomeMetodo) {
533
+ case 'adicionar':
534
+ case 'empilhar':
535
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => atual += proximo + ', ', "");
536
+ textoArgumentos = textoArgumentos.slice(0, -2);
537
+ return `${objetoResolvido}.push(${textoArgumentos})`;
538
+ case 'fatiar':
539
+ return `${objetoResolvido}[${argumentos[0]}:${argumentos[1]}]`;
540
+ case 'inclui':
541
+ return `${argumentos[0]} in ${objetoResolvido}`;
542
+ case 'inverter':
543
+ return `reversed(${objetoResolvido})`;
544
+ case 'juntar':
545
+ return `${argumentos[0]}.join(${objetoResolvido})`;
546
+ case 'mapear':
547
+ return `list(map(${this.traduzirFuncaoAnonimaParaLambda(argumentos[0])}), ${objetoResolvido})`;
548
+ case 'ordenar':
549
+ return `${objetoResolvido}.sort()`;
550
+ case 'remover':
551
+ return `del ${objetoResolvido}[${argumentos[0]}]`;
552
+ case 'removerPrimeiro':
553
+ return `del ${objetoResolvido}[0]`;
554
+ case 'removerUltimo':
555
+ return `del ${objetoResolvido}[-1]`;
556
+ case 'somar':
557
+ return `sum(${objetoResolvido})`;
558
+ case 'tamanho':
559
+ return `len(${objetoResolvido})`;
560
+ }
561
+ }
562
+ traduzirConstrutoAcessoMetodo(acessoMetodo, argumentos) {
563
+ switch (acessoMetodo.objeto.constructor.name) {
564
+ case 'Isto':
565
+ return `this.${acessoMetodo.nomeMetodo}`;
566
+ case 'Variavel':
567
+ let objetoVariavel = acessoMetodo.objeto;
568
+ return this.traduzirFuncaoOuMetodo(acessoMetodo.nomeMetodo, objetoVariavel.simbolo.lexema, argumentos);
569
+ case 'Vetor':
570
+ return this.traduzirAcessoMetodoVetor(acessoMetodo.objeto, acessoMetodo.nomeMetodo, argumentos);
571
+ default:
572
+ const objetoResolvido = this.dicionarioConstrutos[acessoMetodo.objeto.constructor.name](acessoMetodo.objeto);
573
+ return `${objetoResolvido}.${acessoMetodo.nomeMetodo}`;
522
574
  }
523
- const objetoResolvido = this.dicionarioConstrutos[acessoMetodo.objeto.constructor.name](acessoMetodo.objeto);
524
- return `${objetoResolvido}.${acessoMetodo.nomeMetodo}`;
525
575
  }
526
- traduzirConstrutoAcessoMetodoOuPropriedade(acessoMetodo) {
576
+ traduzirConstrutoAcessoMetodoOuPropriedade(acessoMetodo, argumentos) {
527
577
  if (acessoMetodo.objeto instanceof construtos_1.Variavel) {
528
578
  let objetoVariavel = acessoMetodo.objeto;
529
- return `${objetoVariavel.simbolo.lexema}.${this.traduzirFuncoesNativas(acessoMetodo.simbolo.lexema)}`;
579
+ return `${this.traduzirFuncaoOuMetodo(acessoMetodo.simbolo.lexema, objetoVariavel.simbolo.lexema, argumentos)}`;
530
580
  }
531
581
  return `this.${acessoMetodo.simbolo.lexema}`;
532
582
  }
533
- traduzirConstrutoAcessoPropriedade(acessoMetodo) {
583
+ traduzirConstrutoAcessoPropriedade(acessoMetodo, argumentos) {
534
584
  if (acessoMetodo.objeto instanceof construtos_1.Variavel) {
535
585
  let objetoVariavel = acessoMetodo.objeto;
536
- return `${objetoVariavel.simbolo.lexema}.${this.traduzirFuncoesNativas(acessoMetodo.nomePropriedade)}`;
586
+ return `${this.traduzirFuncaoOuMetodo(objetoVariavel.simbolo.lexema, acessoMetodo.nomePropriedade, argumentos)}`;
537
587
  }
538
588
  return `this.${acessoMetodo.nomePropriedade}`;
539
589
  }
@@ -594,13 +644,20 @@ class TradutorJavaScript {
594
644
  traduzirConstrutoTipoDe(tipoDe) {
595
645
  let resultado = 'typeof ';
596
646
  if (!tipoDe.valor)
597
- resultado += tipoDe.valor;
647
+ resultado += tipoDe.valor; // Qual o sentido disso?
598
648
  else if (typeof tipoDe.valor === 'string')
599
649
  resultado += `'${tipoDe.valor}'`;
600
650
  else if (typeof tipoDe.valor === 'number')
601
651
  resultado += tipoDe.valor;
602
- else
603
- resultado += `${this.dicionarioConstrutos[tipoDe.valor.constructor.name](tipoDe.valor)}`;
652
+ else {
653
+ // Talvez isso seja uma péssima ideia.
654
+ // Pensar em algo melhor.
655
+ let alvoTipoDe = String(this.dicionarioConstrutos[tipoDe.valor.constructor.name](tipoDe.valor));
656
+ if (alvoTipoDe.startsWith('new')) {
657
+ alvoTipoDe = alvoTipoDe.slice(4, -2);
658
+ }
659
+ resultado += `${alvoTipoDe}`;
660
+ }
604
661
  return resultado;
605
662
  }
606
663
  traduzirDeclaracaoFalhar(falhar) {
@@ -1 +1 @@
1
- {"version":3,"file":"tradutor-javascript.js","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-javascript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tradutor-javascript.js","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-javascript.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tradutor-python.d.ts","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-python.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tradutor-python.d.ts","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-python.ts"],"names":[],"mappings":"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"}
@@ -158,6 +158,7 @@ class TradutorPython {
158
158
  const indice = this.dicionarioConstrutos[acessoIndiceVariavel.indice.constructor.name](acessoIndiceVariavel.indice);
159
159
  return `${entidade}[${indice}]`;
160
160
  }
161
+ // TODO: Talvez terminar (ou remover, sei lá).
161
162
  traduzirFuncaoAnonimaParaLambda(argumento) {
162
163
  return "";
163
164
  }
@@ -350,7 +351,6 @@ class TradutorPython {
350
351
  return `${variavel.simbolo.lexema}`;
351
352
  }
352
353
  return `${variavel.simbolo.lexema}(${textoArgumentos})`;
353
- // return this.traduzirFuncoesNativas(variavel.simbolo.lexema);
354
354
  }
355
355
  }
356
356
  traduzirConstrutoVetor(vetor) {
@@ -1 +1 @@
1
- {"version":3,"file":"tradutor-python.js","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-python.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tradutor-python.js","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-python.ts"],"names":[],"mappings":"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"}
package/umd/delegua.js CHANGED
@@ -25952,40 +25952,46 @@ class TradutorJavaScript {
25952
25952
  return '-';
25953
25953
  }
25954
25954
  }
25955
- traduzirFuncoesNativas(metodo) {
25956
- switch (metodo.toLowerCase()) {
25955
+ traduzirFuncaoOuMetodo(nomeMetodo, objetoResolvido, argumentos) {
25956
+ const argumentosResolvidos = [];
25957
+ for (const argumento of argumentos) {
25958
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
25959
+ argumentosResolvidos.push(argumentoResolvido);
25960
+ }
25961
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => atual += proximo + ', ', "");
25962
+ textoArgumentos = textoArgumentos.slice(0, -2);
25963
+ switch (nomeMetodo) {
25957
25964
  case 'adicionar':
25958
25965
  case 'empilhar':
25959
- return 'push';
25960
- case 'concatenar':
25961
- return 'concat';
25966
+ return `${objetoResolvido}.push(${textoArgumentos})`;
25962
25967
  case 'fatiar':
25963
- return 'slice';
25968
+ return `${objetoResolvido}.slice(${argumentos[0]}, ${argumentos[1]})`;
25964
25969
  case 'inclui':
25965
- return 'includes';
25970
+ return `${objetoResolvido}.includes(${argumentosResolvidos[0]})`;
25966
25971
  case 'inverter':
25967
- return 'reverse';
25972
+ return `${objetoResolvido}.toReversed()`;
25968
25973
  case 'juntar':
25969
- return 'join';
25970
- case 'ordenar':
25971
- return 'sort';
25972
- case 'removerprimeiro':
25973
- return 'shift';
25974
- case 'removerultimo':
25975
- return 'pop';
25976
- case 'tamanho':
25977
- return 'length';
25974
+ return `${argumentosResolvidos[0]}.join(${objetoResolvido})`;
25978
25975
  case 'maiusculo':
25979
- return 'toUpperCase';
25976
+ return `${objetoResolvido}.toUpperCase()`;
25977
+ case 'mapear':
25978
+ return `${objetoResolvido}.map(${this.traduzirFuncaoAnonimaParaLambda(argumentos[0])})`;
25980
25979
  case 'minusculo':
25981
- return 'toLowerCase';
25982
- case 'substituir':
25983
- return 'replace';
25984
- case 'texto':
25985
- return 'String';
25986
- default:
25987
- return metodo;
25980
+ return `${objetoResolvido}.toLowerCase()`;
25981
+ case 'ordenar':
25982
+ return `${objetoResolvido}.sort()`;
25983
+ case 'remover':
25984
+ return `delete ${objetoResolvido}[${argumentosResolvidos[0]}]`;
25985
+ case 'removerPrimeiro':
25986
+ return `${objetoResolvido}.shift()`;
25987
+ case 'removerUltimo':
25988
+ return `${objetoResolvido}.pop()`;
25989
+ case 'somar':
25990
+ return `${objetoResolvido}.reduce((acumulador, valorAtual) => acumulador + valorAtual, 0)`;
25991
+ case 'tamanho':
25992
+ return `${objetoResolvido}.length`;
25988
25993
  }
25994
+ return `${objetoResolvido}.${nomeMetodo}(${textoArgumentos}))`;
25989
25995
  }
25990
25996
  traduzirConstrutoAgrupamento(agrupamento) {
25991
25997
  return this.dicionarioConstrutos[agrupamento.constructor.name](agrupamento.expressao || agrupamento);
@@ -26022,28 +26028,8 @@ class TradutorJavaScript {
26022
26028
  }
26023
26029
  traduzirConstrutoChamada(chamada) {
26024
26030
  let resultado = '';
26025
- const retorno = `${this.dicionarioConstrutos[chamada.entidadeChamada.constructor.name](chamada.entidadeChamada)}`;
26026
- const instanciaClasse = this.declaracoesDeClasses.some((declaracao) => { var _a; return ((_a = declaracao === null || declaracao === void 0 ? void 0 : declaracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema) === retorno; });
26027
- if (instanciaClasse) {
26028
- const classe = this.declaracoesDeClasses.find((declaracao) => { var _a; return ((_a = declaracao === null || declaracao === void 0 ? void 0 : declaracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema) === retorno; });
26029
- if (classe.simbolo.lexema === retorno)
26030
- resultado += `new ${retorno}`;
26031
- }
26032
- else {
26033
- resultado += retorno;
26034
- }
26035
- if (!retorno.endsWith('length')) {
26036
- resultado += '(';
26037
- }
26038
- for (let parametro of chamada.argumentos) {
26039
- resultado += this.dicionarioConstrutos[parametro.constructor.name](parametro) + ', ';
26040
- }
26041
- if (chamada.argumentos.length > 0) {
26042
- resultado = resultado.slice(0, -2);
26043
- }
26044
- if (!retorno.endsWith('length')) {
26045
- resultado += ')';
26046
- }
26031
+ const retorno = `${this.dicionarioConstrutos[chamada.entidadeChamada.constructor.name](chamada.entidadeChamada, chamada.argumentos)}`;
26032
+ resultado += retorno;
26047
26033
  return resultado;
26048
26034
  }
26049
26035
  traduzirConstrutoComentario(comentario) {
@@ -26093,8 +26079,28 @@ class TradutorJavaScript {
26093
26079
  }
26094
26080
  return literal.valor;
26095
26081
  }
26096
- traduzirConstrutoVariavel(variavel) {
26097
- return this.traduzirFuncoesNativas(variavel.simbolo.lexema);
26082
+ traduzirConstrutoVariavel(variavel, argumentos) {
26083
+ const argumentosResolvidos = [];
26084
+ const argumentosValidados = argumentos || [];
26085
+ for (const argumento of argumentosValidados) {
26086
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
26087
+ argumentosResolvidos.push(argumentoResolvido);
26088
+ }
26089
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => atual += proximo + ', ', "");
26090
+ textoArgumentos = textoArgumentos.slice(0, -2);
26091
+ switch (variavel.simbolo.lexema) {
26092
+ case 'texto':
26093
+ return `String(${textoArgumentos})`;
26094
+ default:
26095
+ const buscaClasseCorrespondente = this.declaracoesDeClasses.filter(d => d.simbolo.lexema === variavel.simbolo.lexema);
26096
+ if (buscaClasseCorrespondente.length === 0 && argumentosValidados.length === 0) {
26097
+ return `${variavel.simbolo.lexema}`;
26098
+ }
26099
+ if (buscaClasseCorrespondente.length > 0) {
26100
+ return `new ${variavel.simbolo.lexema}(${textoArgumentos})`;
26101
+ }
26102
+ return `${variavel.simbolo.lexema}(${textoArgumentos})`;
26103
+ }
26098
26104
  }
26099
26105
  logicaComumBlocoEscopo(declaracoes) {
26100
26106
  let resultado = '{\n';
@@ -26361,28 +26367,72 @@ class TradutorJavaScript {
26361
26367
  }
26362
26368
  return resultado;
26363
26369
  }
26364
- traduzirConstrutoAcessoMetodo(acessoMetodo) {
26365
- if (acessoMetodo.objeto instanceof construtos_1.Variavel) {
26366
- let objetoVariavel = acessoMetodo.objeto;
26367
- return `${objetoVariavel.simbolo.lexema}.${this.traduzirFuncoesNativas(acessoMetodo.nomeMetodo)}`;
26370
+ // TODO: Talvez terminar (ou remover, sei lá).
26371
+ traduzirFuncaoAnonimaParaLambda(argumento) {
26372
+ return "";
26373
+ }
26374
+ traduzirAcessoMetodoVetor(objeto, nomeMetodo, argumentos) {
26375
+ const objetoResolvido = this.dicionarioConstrutos[objeto.constructor.name](objeto);
26376
+ const argumentosResolvidos = [];
26377
+ for (const argumento of argumentos) {
26378
+ const argumentoResolvido = this.dicionarioConstrutos[argumento.constructor.name](argumento);
26379
+ argumentosResolvidos.push(argumentoResolvido);
26368
26380
  }
26369
- if (acessoMetodo.objeto instanceof construtos_1.Isto) {
26370
- return `this.${acessoMetodo.nomeMetodo}`;
26381
+ switch (nomeMetodo) {
26382
+ case 'adicionar':
26383
+ case 'empilhar':
26384
+ let textoArgumentos = argumentosResolvidos.reduce((atual, proximo) => atual += proximo + ', ', "");
26385
+ textoArgumentos = textoArgumentos.slice(0, -2);
26386
+ return `${objetoResolvido}.push(${textoArgumentos})`;
26387
+ case 'fatiar':
26388
+ return `${objetoResolvido}[${argumentos[0]}:${argumentos[1]}]`;
26389
+ case 'inclui':
26390
+ return `${argumentos[0]} in ${objetoResolvido}`;
26391
+ case 'inverter':
26392
+ return `reversed(${objetoResolvido})`;
26393
+ case 'juntar':
26394
+ return `${argumentos[0]}.join(${objetoResolvido})`;
26395
+ case 'mapear':
26396
+ return `list(map(${this.traduzirFuncaoAnonimaParaLambda(argumentos[0])}), ${objetoResolvido})`;
26397
+ case 'ordenar':
26398
+ return `${objetoResolvido}.sort()`;
26399
+ case 'remover':
26400
+ return `del ${objetoResolvido}[${argumentos[0]}]`;
26401
+ case 'removerPrimeiro':
26402
+ return `del ${objetoResolvido}[0]`;
26403
+ case 'removerUltimo':
26404
+ return `del ${objetoResolvido}[-1]`;
26405
+ case 'somar':
26406
+ return `sum(${objetoResolvido})`;
26407
+ case 'tamanho':
26408
+ return `len(${objetoResolvido})`;
26409
+ }
26410
+ }
26411
+ traduzirConstrutoAcessoMetodo(acessoMetodo, argumentos) {
26412
+ switch (acessoMetodo.objeto.constructor.name) {
26413
+ case 'Isto':
26414
+ return `this.${acessoMetodo.nomeMetodo}`;
26415
+ case 'Variavel':
26416
+ let objetoVariavel = acessoMetodo.objeto;
26417
+ return this.traduzirFuncaoOuMetodo(acessoMetodo.nomeMetodo, objetoVariavel.simbolo.lexema, argumentos);
26418
+ case 'Vetor':
26419
+ return this.traduzirAcessoMetodoVetor(acessoMetodo.objeto, acessoMetodo.nomeMetodo, argumentos);
26420
+ default:
26421
+ const objetoResolvido = this.dicionarioConstrutos[acessoMetodo.objeto.constructor.name](acessoMetodo.objeto);
26422
+ return `${objetoResolvido}.${acessoMetodo.nomeMetodo}`;
26371
26423
  }
26372
- const objetoResolvido = this.dicionarioConstrutos[acessoMetodo.objeto.constructor.name](acessoMetodo.objeto);
26373
- return `${objetoResolvido}.${acessoMetodo.nomeMetodo}`;
26374
26424
  }
26375
- traduzirConstrutoAcessoMetodoOuPropriedade(acessoMetodo) {
26425
+ traduzirConstrutoAcessoMetodoOuPropriedade(acessoMetodo, argumentos) {
26376
26426
  if (acessoMetodo.objeto instanceof construtos_1.Variavel) {
26377
26427
  let objetoVariavel = acessoMetodo.objeto;
26378
- return `${objetoVariavel.simbolo.lexema}.${this.traduzirFuncoesNativas(acessoMetodo.simbolo.lexema)}`;
26428
+ return `${this.traduzirFuncaoOuMetodo(acessoMetodo.simbolo.lexema, objetoVariavel.simbolo.lexema, argumentos)}`;
26379
26429
  }
26380
26430
  return `this.${acessoMetodo.simbolo.lexema}`;
26381
26431
  }
26382
- traduzirConstrutoAcessoPropriedade(acessoMetodo) {
26432
+ traduzirConstrutoAcessoPropriedade(acessoMetodo, argumentos) {
26383
26433
  if (acessoMetodo.objeto instanceof construtos_1.Variavel) {
26384
26434
  let objetoVariavel = acessoMetodo.objeto;
26385
- return `${objetoVariavel.simbolo.lexema}.${this.traduzirFuncoesNativas(acessoMetodo.nomePropriedade)}`;
26435
+ return `${this.traduzirFuncaoOuMetodo(objetoVariavel.simbolo.lexema, acessoMetodo.nomePropriedade, argumentos)}`;
26386
26436
  }
26387
26437
  return `this.${acessoMetodo.nomePropriedade}`;
26388
26438
  }
@@ -26443,13 +26493,20 @@ class TradutorJavaScript {
26443
26493
  traduzirConstrutoTipoDe(tipoDe) {
26444
26494
  let resultado = 'typeof ';
26445
26495
  if (!tipoDe.valor)
26446
- resultado += tipoDe.valor;
26496
+ resultado += tipoDe.valor; // Qual o sentido disso?
26447
26497
  else if (typeof tipoDe.valor === 'string')
26448
26498
  resultado += `'${tipoDe.valor}'`;
26449
26499
  else if (typeof tipoDe.valor === 'number')
26450
26500
  resultado += tipoDe.valor;
26451
- else
26452
- resultado += `${this.dicionarioConstrutos[tipoDe.valor.constructor.name](tipoDe.valor)}`;
26501
+ else {
26502
+ // Talvez isso seja uma péssima ideia.
26503
+ // Pensar em algo melhor.
26504
+ let alvoTipoDe = String(this.dicionarioConstrutos[tipoDe.valor.constructor.name](tipoDe.valor));
26505
+ if (alvoTipoDe.startsWith('new')) {
26506
+ alvoTipoDe = alvoTipoDe.slice(4, -2);
26507
+ }
26508
+ resultado += `${alvoTipoDe}`;
26509
+ }
26453
26510
  return resultado;
26454
26511
  }
26455
26512
  traduzirDeclaracaoFalhar(falhar) {
@@ -26703,6 +26760,7 @@ class TradutorPython {
26703
26760
  const indice = this.dicionarioConstrutos[acessoIndiceVariavel.indice.constructor.name](acessoIndiceVariavel.indice);
26704
26761
  return `${entidade}[${indice}]`;
26705
26762
  }
26763
+ // TODO: Talvez terminar (ou remover, sei lá).
26706
26764
  traduzirFuncaoAnonimaParaLambda(argumento) {
26707
26765
  return "";
26708
26766
  }
@@ -26895,7 +26953,6 @@ class TradutorPython {
26895
26953
  return `${variavel.simbolo.lexema}`;
26896
26954
  }
26897
26955
  return `${variavel.simbolo.lexema}(${textoArgumentos})`;
26898
- // return this.traduzirFuncoesNativas(variavel.simbolo.lexema);
26899
26956
  }
26900
26957
  }
26901
26958
  traduzirConstrutoVetor(vetor) {