@designliquido/delegua 0.12.5 → 0.12.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.
- package/README.md +7 -2
- package/bin/package.json +4 -4
- package/fontes/avaliador-sintatico/avaliador-sintatico.js +4 -3
- package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js +7 -6
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js +11 -11
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js.map +1 -1
- package/fontes/avaliador-sintatico/retornos/retorno-declaracao.d.ts +2 -2
- package/fontes/bibliotecas/biblioteca-global.js +54 -127
- package/fontes/bibliotecas/biblioteca-global.js.map +1 -1
- package/fontes/bibliotecas/dialetos/egua-classico/biblioteca-global.js +49 -51
- package/fontes/bibliotecas/dialetos/egua-classico/biblioteca-global.js.map +1 -1
- package/fontes/bibliotecas/dialetos/egua-classico/index.d.ts +1 -1
- package/fontes/bibliotecas/dialetos/egua-classico/index.js +7 -7
- package/fontes/bibliotecas/dialetos/egua-classico/index.js.map +1 -1
- package/fontes/bibliotecas/dialetos/egua-classico/tempo.js +3 -3
- package/fontes/bibliotecas/dialetos/egua-classico/tempo.js.map +1 -1
- package/fontes/bibliotecas/dialetos/egua-classico/textos.js +45 -45
- package/fontes/bibliotecas/dialetos/egua-classico/textos.js.map +1 -1
- package/fontes/bibliotecas/importar-biblioteca.js +4 -3
- package/fontes/bibliotecas/importar-biblioteca.js.map +1 -1
- package/fontes/bibliotecas/primitivas-texto.js +2 -4
- package/fontes/bibliotecas/primitivas-texto.js.map +1 -1
- package/fontes/bibliotecas/primitivas-vetor.js +1 -1
- package/fontes/bibliotecas/primitivas-vetor.js.map +1 -1
- package/fontes/construtos/acesso-indice-variavel.js.map +1 -1
- package/fontes/construtos/acesso-metodo.js.map +1 -1
- package/fontes/construtos/atribuicao-sobrescrita.js.map +1 -1
- package/fontes/construtos/binario.js.map +1 -1
- package/fontes/construtos/construto.d.ts +1 -1
- package/fontes/construtos/definir-valor.js.map +1 -1
- package/fontes/construtos/formatacao-escrita.d.ts +2 -2
- package/fontes/construtos/funcao.js.map +1 -1
- package/fontes/construtos/logico.js.map +1 -1
- package/fontes/construtos/super.js.map +1 -1
- package/fontes/construtos/variavel.js.map +1 -1
- package/fontes/declaracoes/declaracao.d.ts +1 -1
- package/fontes/declaracoes/escolha.js.map +1 -1
- package/fontes/declaracoes/fazer.js.map +1 -1
- package/fontes/declaracoes/para.js.map +1 -1
- package/fontes/delegua.js +3 -2
- package/fontes/delegua.js.map +1 -1
- package/fontes/depuracao/cyrb53.js +2 -6
- package/fontes/depuracao/cyrb53.js.map +1 -1
- package/fontes/depuracao/remota/servidor-depuracao.js +15 -47
- package/fontes/depuracao/remota/servidor-depuracao.js.map +1 -1
- package/fontes/estruturas/delegua-classe.js +1 -3
- package/fontes/estruturas/delegua-classe.js.map +1 -1
- package/fontes/estruturas/delegua-funcao.js +1 -3
- package/fontes/estruturas/delegua-funcao.js.map +1 -1
- package/fontes/estruturas/objeto-delegua-classe.js.map +1 -1
- package/fontes/formatadores/delegua.d.ts +6 -2
- package/fontes/formatadores/delegua.js +34 -12
- package/fontes/formatadores/delegua.js.map +1 -1
- package/fontes/interfaces/tradutor-interface.d.ts +1 -1
- package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +19 -44
- package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +2 -4
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
- package/fontes/interpretador/dialetos/visualg-com-depuracao.d.ts +3 -3
- package/fontes/interpretador/dialetos/visualg-com-depuracao.js +1 -3
- package/fontes/interpretador/dialetos/visualg-com-depuracao.js.map +1 -1
- package/fontes/interpretador/dialetos/visualg.d.ts +3 -3
- package/fontes/interpretador/dialetos/visualg.js +1 -3
- package/fontes/interpretador/dialetos/visualg.js.map +1 -1
- package/fontes/interpretador/inferenciador.js.map +1 -1
- package/fontes/interpretador/interpretador-com-depuracao.js +18 -21
- package/fontes/interpretador/interpretador-com-depuracao.js.map +1 -1
- package/fontes/interpretador/interpretador.js +33 -71
- package/fontes/interpretador/interpretador.js.map +1 -1
- package/fontes/interpretador/pilha-escopos-execucao.js +5 -1
- package/fontes/interpretador/pilha-escopos-execucao.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-birl.js +1 -3
- package/fontes/lexador/dialetos/lexador-birl.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-egua-classico.js +4 -11
- package/fontes/lexador/dialetos/lexador-egua-classico.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-eguap.js +4 -8
- package/fontes/lexador/dialetos/lexador-eguap.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-visualg.js +4 -9
- package/fontes/lexador/dialetos/lexador-visualg.js.map +1 -1
- package/fontes/lexador/dialetos/palavras-reservadas/birl.js +1 -1
- package/fontes/lexador/dialetos/palavras-reservadas/egua-classico.js +1 -1
- package/fontes/lexador/dialetos/palavras-reservadas/visualg.js +1 -1
- package/fontes/lexador/lexador.js +2 -5
- package/fontes/lexador/lexador.js.map +1 -1
- package/fontes/lexador/palavras-reservadas.js +1 -1
- package/fontes/lexador/simbolo.js.map +1 -1
- package/fontes/tipos-de-simbolos/comum.js +1 -1
- package/fontes/tradutores/tradutor-javascript.js +9 -6
- package/fontes/tradutores/tradutor-javascript.js.map +1 -1
- package/fontes/tradutores/tradutor-reverso-javascript.d.ts +27 -9
- package/fontes/tradutores/tradutor-reverso-javascript.js +207 -44
- package/fontes/tradutores/tradutor-reverso-javascript.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ArrayExpression, BinaryExpression, ClassDeclaration, DoWhileStatement, ForStatement, Identifier, IfStatement, Literal, MemberExpression, NewExpression, ReturnStatement, TryStatement, UpdateExpression, VariableDeclaration, WhileStatement } from 'estree';
|
|
1
2
|
/**
|
|
2
3
|
* Esse tradutor traduz de JavaScript para Delégua.
|
|
3
4
|
*/
|
|
@@ -5,22 +6,39 @@ export declare class TradutorReversoJavaScript {
|
|
|
5
6
|
indentacao: number;
|
|
6
7
|
constructor();
|
|
7
8
|
traduzirSimboloOperador(operador: any): string;
|
|
9
|
+
traduzirConstrutoVetor(vetor: ArrayExpression): string;
|
|
10
|
+
traduzirIdentificador(identificador: Identifier): string;
|
|
11
|
+
traduzirAtualizacaoVariavel(atualizarVariavel: UpdateExpression): string;
|
|
12
|
+
traduzirNovo(novo: NewExpression): string;
|
|
13
|
+
traduzirExpressao(expressao: MemberExpression): string;
|
|
8
14
|
dicionarioConstrutos: {
|
|
15
|
+
AssignmentExpression: any;
|
|
16
|
+
ArrayExpression: any;
|
|
9
17
|
ArrowFunctionExpression: any;
|
|
10
18
|
BinaryExpression: any;
|
|
19
|
+
CallExpression: any;
|
|
20
|
+
Identifier: any;
|
|
11
21
|
Literal: any;
|
|
22
|
+
MemberExpression: any;
|
|
23
|
+
NewExpression: any;
|
|
24
|
+
ThisExpression: (expressao: any) => string;
|
|
25
|
+
UpdateExpression: any;
|
|
12
26
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
27
|
+
traduzirConstrutoChamada(chamada: any): string;
|
|
28
|
+
traduzirConstrutoAtribuir(atribuir: any): string;
|
|
16
29
|
traduzirExpressaoDeclaracao(declaracao: any): string;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
traduzirDeclaracaoDeVariavel(declaracao: any): string;
|
|
30
|
+
traduzirConstrutoLiteral(literal: Literal): string;
|
|
31
|
+
traduzirConstrutoBinario(binario: BinaryExpression): string;
|
|
32
|
+
traduzirDeclaracaoVariavel(declaracao: VariableDeclaration): string;
|
|
21
33
|
logicaComumBlocoEscopo(declaracoes: any): string;
|
|
22
|
-
|
|
23
|
-
|
|
34
|
+
traduzirDeclaracaoPara(declaracao: ForStatement): string;
|
|
35
|
+
traduzirDeclaracaoFuncao(declaracao: any): string;
|
|
36
|
+
traduzirDeclaracaoClasse(declaracao: ClassDeclaration): string;
|
|
37
|
+
traduzirDeclaracaoRetorna(declaracao: ReturnStatement): string;
|
|
38
|
+
traduzirDeclaracaoEnquanto(declaracao: WhileStatement): string;
|
|
39
|
+
traduzirDeclaracaoFazerEnquanto(declaracao: DoWhileStatement): string;
|
|
40
|
+
traduzirDeclaracaoSe(declaracao: IfStatement): string;
|
|
41
|
+
traduzirDeclaracaoTente(declaracao: TryStatement): string;
|
|
24
42
|
traduzirDeclaracao(declaracao: any): string;
|
|
25
43
|
traduzir(codigo: any): string;
|
|
26
44
|
}
|
|
@@ -9,20 +9,22 @@ class TradutorReversoJavaScript {
|
|
|
9
9
|
constructor() {
|
|
10
10
|
this.indentacao = 0;
|
|
11
11
|
this.dicionarioConstrutos = {
|
|
12
|
+
AssignmentExpression: this.traduzirConstrutoAtribuir.bind(this),
|
|
13
|
+
ArrayExpression: this.traduzirConstrutoVetor.bind(this),
|
|
12
14
|
ArrowFunctionExpression: this.traduzirDeclaracaoFuncao.bind(this),
|
|
13
15
|
// Agrupamento: this.traduzirConstrutoAgrupamento.bind(this),
|
|
14
|
-
// Atribuir: this.traduzirConstrutoAtribuir.bind(this),
|
|
15
16
|
BinaryExpression: this.traduzirConstrutoBinario.bind(this),
|
|
16
|
-
|
|
17
|
+
CallExpression: this.traduzirConstrutoChamada.bind(this),
|
|
17
18
|
// DefinirValor: this.traduzirConstrutoDefinirValor.bind(this),
|
|
18
19
|
// Isto: this.traduzirConstrutoIsto.bind(this),
|
|
20
|
+
Identifier: this.traduzirIdentificador.bind(this),
|
|
19
21
|
Literal: this.traduzirConstrutoLiteral.bind(this),
|
|
22
|
+
MemberExpression: this.traduzirExpressao.bind(this),
|
|
23
|
+
NewExpression: this.traduzirNovo.bind(this),
|
|
24
|
+
ThisExpression: (expressao) => 'isto.',
|
|
25
|
+
UpdateExpression: this.traduzirAtualizacaoVariavel.bind(this),
|
|
20
26
|
// Variavel: this.traduzirConstrutoVariavel.bind(this),
|
|
21
27
|
};
|
|
22
|
-
this.dicionarioDeclaracoes = {
|
|
23
|
-
ExpressionStatement: this.traduzirExpressaoDeclaracao.bind(this),
|
|
24
|
-
// traduzirDeclaracaoEscreva
|
|
25
|
-
};
|
|
26
28
|
// Qualquer coisa pro ESLint ficar feliz.
|
|
27
29
|
}
|
|
28
30
|
traduzirSimboloOperador(operador) {
|
|
@@ -30,66 +32,123 @@ class TradutorReversoJavaScript {
|
|
|
30
32
|
case '==':
|
|
31
33
|
case '===':
|
|
32
34
|
return '==';
|
|
35
|
+
default:
|
|
36
|
+
return operador;
|
|
33
37
|
}
|
|
34
38
|
}
|
|
35
|
-
|
|
36
|
-
|
|
39
|
+
traduzirConstrutoVetor(vetor) {
|
|
40
|
+
if (!vetor.elements.length) {
|
|
41
|
+
return '[]';
|
|
42
|
+
}
|
|
43
|
+
let resultado = '[';
|
|
44
|
+
for (let elemento of vetor.elements) {
|
|
45
|
+
resultado += this.dicionarioConstrutos[elemento.constructor.name](elemento) + ', ';
|
|
46
|
+
}
|
|
47
|
+
if (vetor.elements.length > 0) {
|
|
48
|
+
resultado = resultado.slice(0, -2);
|
|
49
|
+
}
|
|
50
|
+
resultado += ']';
|
|
51
|
+
return resultado;
|
|
52
|
+
}
|
|
53
|
+
traduzirIdentificador(identificador) {
|
|
54
|
+
return identificador.name;
|
|
55
|
+
}
|
|
56
|
+
traduzirAtualizacaoVariavel(atualizarVariavel) {
|
|
37
57
|
let resultado = '';
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
58
|
+
resultado += this.dicionarioConstrutos[atualizarVariavel.argument.constructor.name](atualizarVariavel.argument);
|
|
59
|
+
resultado += this.traduzirSimboloOperador(atualizarVariavel.operator);
|
|
60
|
+
return resultado;
|
|
61
|
+
}
|
|
62
|
+
traduzirNovo(novo) {
|
|
63
|
+
let identificador = novo.callee;
|
|
64
|
+
let resultado = `${identificador.name}(`;
|
|
65
|
+
for (let argumento of novo.arguments) {
|
|
66
|
+
resultado += this.dicionarioConstrutos[argumento.type](argumento) + ', ';
|
|
67
|
+
}
|
|
68
|
+
if (novo.arguments.length > 0) {
|
|
69
|
+
resultado = resultado.slice(0, -2);
|
|
45
70
|
}
|
|
71
|
+
resultado += ')';
|
|
46
72
|
return resultado;
|
|
47
73
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
74
|
+
traduzirExpressao(expressao) {
|
|
75
|
+
let objeto = this.dicionarioConstrutos[expressao.object.type](expressao.object);
|
|
76
|
+
let propriedade = this.dicionarioConstrutos[expressao.property.type](expressao.property);
|
|
77
|
+
if (objeto === 'console' && propriedade === 'log') {
|
|
78
|
+
return 'escreva';
|
|
79
|
+
}
|
|
80
|
+
return `${objeto}${propriedade}`;
|
|
51
81
|
}
|
|
52
|
-
|
|
82
|
+
traduzirConstrutoChamada(chamada) {
|
|
83
|
+
let resultado = '';
|
|
84
|
+
resultado += this.dicionarioConstrutos[chamada.callee.type](chamada.callee) + '(';
|
|
85
|
+
for (let parametro of chamada.arguments) {
|
|
86
|
+
resultado += this.dicionarioConstrutos[parametro.type](parametro) + ', ';
|
|
87
|
+
}
|
|
88
|
+
if (chamada.arguments.length > 0) {
|
|
89
|
+
resultado = resultado.slice(0, -2);
|
|
90
|
+
}
|
|
91
|
+
resultado += ')';
|
|
92
|
+
return resultado;
|
|
93
|
+
}
|
|
94
|
+
traduzirConstrutoAtribuir(atribuir) {
|
|
53
95
|
let resultado = '';
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
resultado += `${literal.value}`;
|
|
96
|
+
const direita = this.dicionarioConstrutos[atribuir.right.type](atribuir.right);
|
|
97
|
+
const esquerda = this.dicionarioConstrutos[atribuir.left.type](atribuir.left);
|
|
98
|
+
resultado += `${esquerda} ${this.traduzirSimboloOperador(atribuir.operator)} ${direita}`;
|
|
58
99
|
return resultado;
|
|
59
100
|
}
|
|
101
|
+
traduzirExpressaoDeclaracao(declaracao) {
|
|
102
|
+
return this.dicionarioConstrutos[declaracao.expression.type](declaracao.expression);
|
|
103
|
+
}
|
|
104
|
+
traduzirConstrutoLiteral(literal) {
|
|
105
|
+
return `${literal.raw}`;
|
|
106
|
+
}
|
|
60
107
|
traduzirConstrutoBinario(binario) {
|
|
61
108
|
let resultado = '';
|
|
62
|
-
|
|
63
|
-
|
|
109
|
+
const direita = this.dicionarioConstrutos[binario.right.type](binario.right);
|
|
110
|
+
const esquerda = this.dicionarioConstrutos[binario.left.type](binario.left);
|
|
64
111
|
resultado += `${esquerda} ${this.traduzirSimboloOperador(binario.operator)} ${direita}`;
|
|
65
112
|
return resultado;
|
|
66
113
|
}
|
|
67
|
-
|
|
114
|
+
traduzirDeclaracaoVariavel(declaracao) {
|
|
115
|
+
let resultado = '';
|
|
68
116
|
let informacoesDaVariavel = declaracao.declarations[0];
|
|
69
|
-
|
|
117
|
+
const identificador = informacoesDaVariavel.id;
|
|
118
|
+
if (identificador) {
|
|
119
|
+
resultado += `var ${identificador.name} = ${this.dicionarioConstrutos[informacoesDaVariavel.init.type](informacoesDaVariavel.init)}`;
|
|
120
|
+
}
|
|
70
121
|
return resultado;
|
|
71
122
|
}
|
|
72
123
|
logicaComumBlocoEscopo(declaracoes) {
|
|
73
124
|
let resultado = '{\n';
|
|
74
125
|
this.indentacao += 4;
|
|
75
|
-
|
|
76
|
-
for (const declaracaoOuConstruto of
|
|
126
|
+
const corpo = declaracoes.body.body || declaracoes.body;
|
|
127
|
+
for (const declaracaoOuConstruto of corpo) {
|
|
77
128
|
resultado += ' '.repeat(this.indentacao);
|
|
78
129
|
const nomeConstrutor = declaracaoOuConstruto.constructor.name;
|
|
79
130
|
if (this.dicionarioConstrutos.hasOwnProperty(nomeConstrutor)) {
|
|
80
131
|
resultado += this.dicionarioConstrutos[nomeConstrutor](declaracaoOuConstruto);
|
|
81
132
|
}
|
|
82
133
|
else {
|
|
83
|
-
resultado += this.
|
|
134
|
+
resultado += this.traduzirDeclaracao(declaracaoOuConstruto);
|
|
84
135
|
}
|
|
85
136
|
resultado += '\n';
|
|
86
137
|
}
|
|
87
|
-
// }
|
|
88
138
|
this.indentacao -= 4;
|
|
89
139
|
resultado += ' '.repeat(this.indentacao) + '}\n';
|
|
90
140
|
return resultado;
|
|
91
141
|
}
|
|
92
|
-
|
|
142
|
+
traduzirDeclaracaoPara(declaracao) {
|
|
143
|
+
let resultado = '';
|
|
144
|
+
resultado += 'para (';
|
|
145
|
+
resultado += this.traduzirDeclaracao(declaracao.init) + '; ';
|
|
146
|
+
resultado += this.dicionarioConstrutos[declaracao.test.type](declaracao.test) + '; ';
|
|
147
|
+
resultado += this.dicionarioConstrutos[declaracao.update.type](declaracao.update) + ') ';
|
|
148
|
+
resultado += this.logicaComumBlocoEscopo(declaracao);
|
|
149
|
+
return resultado;
|
|
150
|
+
}
|
|
151
|
+
traduzirDeclaracaoFuncao(declaracao) {
|
|
93
152
|
let resultado = '';
|
|
94
153
|
resultado += `funcao ${declaracao.id.name}(`;
|
|
95
154
|
for (let parametro of declaracao.params) {
|
|
@@ -102,21 +161,130 @@ class TradutorReversoJavaScript {
|
|
|
102
161
|
resultado += this.logicaComumBlocoEscopo(declaracao);
|
|
103
162
|
return resultado;
|
|
104
163
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
164
|
+
//TODO: Refatorar esse método. @Samuel
|
|
165
|
+
traduzirDeclaracaoClasse(declaracao) {
|
|
166
|
+
let resultado = `classe ${declaracao.id.name} `;
|
|
167
|
+
if (declaracao.superClass) {
|
|
168
|
+
let identificador = declaracao.superClass;
|
|
169
|
+
resultado += `herda ${identificador.name} `;
|
|
170
|
+
}
|
|
171
|
+
resultado += '{\n';
|
|
172
|
+
this.indentacao += 4;
|
|
173
|
+
resultado += ' '.repeat(this.indentacao);
|
|
174
|
+
for (let corpo of declaracao.body.body) {
|
|
175
|
+
if (corpo.type === 'MethodDefinition') {
|
|
176
|
+
let _corpo = corpo;
|
|
177
|
+
if (_corpo.kind === 'constructor') {
|
|
178
|
+
resultado += 'construtor(';
|
|
179
|
+
for (let valor of _corpo.value.params) {
|
|
180
|
+
if (valor.type === 'Identifier') {
|
|
181
|
+
resultado += `${valor.name}, `;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
if (_corpo.value.params.length > 0) {
|
|
185
|
+
resultado = resultado.slice(0, -2);
|
|
186
|
+
}
|
|
187
|
+
resultado += ')';
|
|
188
|
+
resultado += this.logicaComumBlocoEscopo(_corpo.value);
|
|
189
|
+
}
|
|
190
|
+
else if (_corpo.kind === 'method') {
|
|
191
|
+
resultado += ' '.repeat(this.indentacao);
|
|
192
|
+
let identificador = _corpo.key;
|
|
193
|
+
resultado += identificador.name + '(';
|
|
194
|
+
for (let valor of _corpo.value.params) {
|
|
195
|
+
if (valor.type === 'Identifier') {
|
|
196
|
+
resultado += `${valor.name}, `;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
if (_corpo.value.params.length > 0) {
|
|
200
|
+
resultado = resultado.slice(0, -2);
|
|
201
|
+
}
|
|
202
|
+
resultado += ')';
|
|
203
|
+
resultado += this.logicaComumBlocoEscopo(_corpo.value);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
else if (corpo.constructor.name === 'PropertyDefinition') {
|
|
207
|
+
}
|
|
208
|
+
else if (corpo.constructor.name === 'StaticBlock') {
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
this.indentacao -= 4;
|
|
212
|
+
resultado += ' '.repeat(this.indentacao) + '}\n';
|
|
213
|
+
return resultado;
|
|
214
|
+
}
|
|
215
|
+
traduzirDeclaracaoRetorna(declaracao) {
|
|
216
|
+
return `retorna ${this.dicionarioConstrutos[declaracao.argument.type](declaracao.argument)}`;
|
|
217
|
+
}
|
|
218
|
+
traduzirDeclaracaoEnquanto(declaracao) {
|
|
219
|
+
let resultado = 'enquanto(';
|
|
220
|
+
resultado += this.dicionarioConstrutos[declaracao.test.type](declaracao.test);
|
|
221
|
+
resultado += ')';
|
|
222
|
+
resultado += this.logicaComumBlocoEscopo(declaracao);
|
|
223
|
+
return resultado;
|
|
224
|
+
}
|
|
225
|
+
traduzirDeclaracaoFazerEnquanto(declaracao) {
|
|
226
|
+
let resultado = 'fazer';
|
|
227
|
+
resultado += this.logicaComumBlocoEscopo(declaracao);
|
|
228
|
+
resultado += 'enquanto(';
|
|
229
|
+
resultado += this.dicionarioConstrutos[declaracao.test.type](declaracao.test);
|
|
230
|
+
resultado += ')';
|
|
231
|
+
return resultado;
|
|
232
|
+
}
|
|
233
|
+
traduzirDeclaracaoSe(declaracao) {
|
|
234
|
+
let resultado = 'if (';
|
|
235
|
+
resultado += this.dicionarioConstrutos[declaracao.test.type](declaracao.test);
|
|
236
|
+
resultado += ')';
|
|
237
|
+
resultado += this.logicaComumBlocoEscopo(declaracao.consequent);
|
|
238
|
+
if (declaracao === null || declaracao === void 0 ? void 0 : declaracao.alternate) {
|
|
239
|
+
resultado += 'else ';
|
|
240
|
+
if (declaracao.alternate.constructor.name === 'BlockStatement') {
|
|
241
|
+
resultado += this.logicaComumBlocoEscopo(declaracao.consequent);
|
|
242
|
+
return resultado;
|
|
243
|
+
}
|
|
244
|
+
resultado += this.traduzirDeclaracao(declaracao.alternate);
|
|
245
|
+
return resultado;
|
|
246
|
+
}
|
|
247
|
+
return resultado;
|
|
248
|
+
}
|
|
249
|
+
traduzirDeclaracaoTente(declaracao) {
|
|
250
|
+
let resultado = 'tente ';
|
|
251
|
+
resultado += this.logicaComumBlocoEscopo(declaracao.block);
|
|
252
|
+
if (declaracao.handler) {
|
|
253
|
+
resultado += 'pegue';
|
|
254
|
+
if (declaracao.handler.param) {
|
|
255
|
+
const identificador = declaracao.handler.param;
|
|
256
|
+
resultado += `(${identificador.name})`;
|
|
257
|
+
}
|
|
258
|
+
resultado += this.logicaComumBlocoEscopo(declaracao.block);
|
|
259
|
+
}
|
|
260
|
+
if (declaracao.finalizer) {
|
|
261
|
+
resultado += 'finalmente';
|
|
262
|
+
resultado += this.logicaComumBlocoEscopo(declaracao.finalizer);
|
|
263
|
+
}
|
|
264
|
+
return resultado;
|
|
109
265
|
}
|
|
110
266
|
traduzirDeclaracao(declaracao) {
|
|
111
267
|
switch (declaracao.type) {
|
|
112
268
|
case 'ClassDeclaration':
|
|
113
|
-
return this.
|
|
269
|
+
return this.traduzirDeclaracaoClasse(declaracao);
|
|
270
|
+
case 'DoWhileStatement':
|
|
271
|
+
return this.traduzirDeclaracaoFazerEnquanto(declaracao);
|
|
114
272
|
case 'ExpressionStatement':
|
|
115
273
|
return this.traduzirExpressaoDeclaracao(declaracao);
|
|
274
|
+
case 'ForStatement':
|
|
275
|
+
return this.traduzirDeclaracaoPara(declaracao);
|
|
116
276
|
case 'FunctionDeclaration':
|
|
117
|
-
return this.
|
|
277
|
+
return this.traduzirDeclaracaoFuncao(declaracao);
|
|
278
|
+
case 'IfStatement':
|
|
279
|
+
return this.traduzirDeclaracaoSe(declaracao);
|
|
280
|
+
case 'ReturnStatement':
|
|
281
|
+
return this.traduzirDeclaracaoRetorna(declaracao);
|
|
282
|
+
case 'TryStatement':
|
|
283
|
+
return this.traduzirDeclaracaoTente(declaracao);
|
|
118
284
|
case 'VariableDeclaration':
|
|
119
|
-
return this.
|
|
285
|
+
return this.traduzirDeclaracaoVariavel(declaracao);
|
|
286
|
+
case 'WhileStatement':
|
|
287
|
+
return this.traduzirDeclaracaoEnquanto(declaracao);
|
|
120
288
|
}
|
|
121
289
|
}
|
|
122
290
|
traduzir(codigo) {
|
|
@@ -125,13 +293,8 @@ class TradutorReversoJavaScript {
|
|
|
125
293
|
for (let declaracao of declaracoes.body) {
|
|
126
294
|
resultado += `${this.traduzirDeclaracao(declaracao)} \n`;
|
|
127
295
|
}
|
|
128
|
-
console.log(resultado);
|
|
129
296
|
return resultado;
|
|
130
297
|
}
|
|
131
298
|
}
|
|
132
299
|
exports.TradutorReversoJavaScript = TradutorReversoJavaScript;
|
|
133
|
-
//cd ./fontes/tradutores
|
|
134
|
-
//ts-node -T tradutor-reverso-javascript.ts
|
|
135
|
-
// var tjs = new TradutorReversoJavaScript();
|
|
136
|
-
// tjs.traduzir();
|
|
137
300
|
//# sourceMappingURL=tradutor-reverso-javascript.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tradutor-reverso-javascript.js","sourceRoot":"","sources":["../../../fontes/tradutores/tradutor-reverso-javascript.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tradutor-reverso-javascript.js","sourceRoot":"","sources":["../../../fontes/tradutores/tradutor-reverso-javascript.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/delegua",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.6",
|
|
4
4
|
"description": "Linguagem de programação simples e moderna usando português estruturado, com suporte a múltiplos dialetos",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"@designliquido/delegua-matematica": "^0.2.0",
|
|
68
68
|
"@designliquido/delegua-tempo": "^0.0.1",
|
|
69
69
|
"@types/esprima": "^4.0.3",
|
|
70
|
-
"@types/jest": "^29.
|
|
70
|
+
"@types/jest": "^29.4.0",
|
|
71
71
|
"@types/node": "^18.11.13",
|
|
72
72
|
"@typescript-eslint/eslint-plugin": "^5.46.1",
|
|
73
73
|
"@typescript-eslint/parser": "^5.46.1",
|
|
@@ -76,12 +76,12 @@
|
|
|
76
76
|
"eslint-config-prettier": "^8.5.0",
|
|
77
77
|
"eslint-plugin-prettier": "^4.2.1",
|
|
78
78
|
"gh-pages": "^4.0.0",
|
|
79
|
-
"jest": "^29.
|
|
79
|
+
"jest": "^29.4.1",
|
|
80
80
|
"jest-coverage-badges": "^1.1.2",
|
|
81
81
|
"prettier": "^2.8.1",
|
|
82
82
|
"release-it": "^15.5.1",
|
|
83
83
|
"rimraf": "^3.0.2",
|
|
84
|
-
"ts-jest": "^29.0.
|
|
84
|
+
"ts-jest": "^29.0.5",
|
|
85
85
|
"ts-node": "^10.9.1",
|
|
86
86
|
"typedoc": "^0.23.22",
|
|
87
87
|
"typescript": "^4.9.4"
|