@designliquido/delegua 0.33.8 → 0.33.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/analisador-semantico/dialetos/index.d.ts +0 -1
- package/analisador-semantico/dialetos/index.d.ts.map +1 -1
- package/analisador-semantico/dialetos/index.js +0 -1
- package/analisador-semantico/dialetos/index.js.map +1 -1
- package/avaliador-sintatico/dialetos/index.d.ts +0 -1
- package/avaliador-sintatico/dialetos/index.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/index.js +0 -1
- package/avaliador-sintatico/dialetos/index.js.map +1 -1
- package/bin/package.json +1 -1
- package/formatadores/index.d.ts +0 -1
- package/formatadores/index.d.ts.map +1 -1
- package/formatadores/index.js +0 -1
- package/formatadores/index.js.map +1 -1
- package/interpretador/dialetos/index.d.ts +0 -1
- package/interpretador/dialetos/index.d.ts.map +1 -1
- package/interpretador/dialetos/index.js +0 -1
- package/interpretador/dialetos/index.js.map +1 -1
- package/lexador/dialetos/index.d.ts +0 -1
- package/lexador/dialetos/index.d.ts.map +1 -1
- package/lexador/dialetos/index.js +0 -1
- package/lexador/dialetos/index.js.map +1 -1
- package/lexador/dialetos/palavras-reservadas/index.d.ts +0 -1
- package/lexador/dialetos/palavras-reservadas/index.d.ts.map +1 -1
- package/lexador/dialetos/palavras-reservadas/index.js +1 -3
- package/lexador/dialetos/palavras-reservadas/index.js.map +1 -1
- package/package.json +1 -1
- package/tradutores/index.d.ts +0 -1
- package/tradutores/index.d.ts.map +1 -1
- package/tradutores/index.js +0 -1
- package/tradutores/index.js.map +1 -1
- package/analisador-semantico/dialetos/analisador-semantico-visualg.d.ts +0 -38
- package/analisador-semantico/dialetos/analisador-semantico-visualg.d.ts.map +0 -1
- package/analisador-semantico/dialetos/analisador-semantico-visualg.js +0 -229
- package/analisador-semantico/dialetos/analisador-semantico-visualg.js.map +0 -1
- package/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.d.ts +0 -85
- package/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.d.ts.map +0 -1
- package/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.js +0 -731
- package/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.js.map +0 -1
- package/avaliador-sintatico/dialetos/visualg/index.d.ts +0 -2
- package/avaliador-sintatico/dialetos/visualg/index.d.ts.map +0 -1
- package/avaliador-sintatico/dialetos/visualg/index.js +0 -18
- package/avaliador-sintatico/dialetos/visualg/index.js.map +0 -1
- package/avaliador-sintatico/dialetos/visualg/parametro-visualg.d.ts +0 -8
- package/avaliador-sintatico/dialetos/visualg/parametro-visualg.d.ts.map +0 -1
- package/avaliador-sintatico/dialetos/visualg/parametro-visualg.js +0 -3
- package/avaliador-sintatico/dialetos/visualg/parametro-visualg.js.map +0 -1
- package/bibliotecas/dialetos/visualg/caracteres.d.ts +0 -4
- package/bibliotecas/dialetos/visualg/caracteres.d.ts.map +0 -1
- package/bibliotecas/dialetos/visualg/caracteres.js +0 -46
- package/bibliotecas/dialetos/visualg/caracteres.js.map +0 -1
- package/bibliotecas/dialetos/visualg/index.d.ts +0 -3
- package/bibliotecas/dialetos/visualg/index.d.ts.map +0 -1
- package/bibliotecas/dialetos/visualg/index.js +0 -19
- package/bibliotecas/dialetos/visualg/index.js.map +0 -1
- package/bibliotecas/dialetos/visualg/numerica.d.ts +0 -4
- package/bibliotecas/dialetos/visualg/numerica.d.ts.map +0 -1
- package/bibliotecas/dialetos/visualg/numerica.js +0 -74
- package/bibliotecas/dialetos/visualg/numerica.js.map +0 -1
- package/formatadores/formatador-visualg.d.ts +0 -73
- package/formatadores/formatador-visualg.d.ts.map +0 -1
- package/formatadores/formatador-visualg.js +0 -617
- package/formatadores/formatador-visualg.js.map +0 -1
- package/interpretador/dialetos/visualg/comum.d.ts +0 -21
- package/interpretador/dialetos/visualg/comum.d.ts.map +0 -1
- package/interpretador/dialetos/visualg/comum.js +0 -372
- package/interpretador/dialetos/visualg/comum.js.map +0 -1
- package/interpretador/dialetos/visualg/index.d.ts +0 -3
- package/interpretador/dialetos/visualg/index.d.ts.map +0 -1
- package/interpretador/dialetos/visualg/index.js +0 -19
- package/interpretador/dialetos/visualg/index.js.map +0 -1
- package/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.d.ts +0 -55
- package/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.d.ts.map +0 -1
- package/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js +0 -211
- package/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js.map +0 -1
- package/interpretador/dialetos/visualg/interpretador-visualg.d.ts +0 -58
- package/interpretador/dialetos/visualg/interpretador-visualg.d.ts.map +0 -1
- package/interpretador/dialetos/visualg/interpretador-visualg.js +0 -194
- package/interpretador/dialetos/visualg/interpretador-visualg.js.map +0 -1
- package/lexador/dialetos/lexador-visualg.d.ts +0 -20
- package/lexador/dialetos/lexador-visualg.d.ts.map +0 -1
- package/lexador/dialetos/lexador-visualg.js +0 -226
- package/lexador/dialetos/lexador-visualg.js.map +0 -1
- package/lexador/dialetos/palavras-reservadas/visualg.d.ts +0 -75
- package/lexador/dialetos/palavras-reservadas/visualg.d.ts.map +0 -1
- package/lexador/dialetos/palavras-reservadas/visualg.js +0 -82
- package/lexador/dialetos/palavras-reservadas/visualg.js.map +0 -1
- package/tradutores/tradutor-reverso-visualg.d.ts +0 -54
- package/tradutores/tradutor-reverso-visualg.d.ts.map +0 -1
- package/tradutores/tradutor-reverso-visualg.js +0 -264
- package/tradutores/tradutor-reverso-visualg.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"comum.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/visualg/comum.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EAEpB,0BAA0B,EAC1B,OAAO,EACP,SAAS,EAGT,MAAM,EAGT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAyB,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAOvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,wBAAsB,kCAAkC,CACpD,aAAa,EAAE,iBAAiB,EAChC,UAAU,EAAE,iBAAiB,GAC9B,OAAO,CAAC,GAAG,CAAC,CAEd;AAED,wBAAsB,gCAAgC,CAClD,aAAa,EAAE,iBAAiB,EAChC,UAAU,EAAE,eAAe,GAC5B,OAAO,CAAC,GAAG,CAAC,CAEd;AAED,wBAAsB,gBAAgB,CAClC,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,GAAG,GACX,OAAO,CAAC,GAAG,CAAC,CAoDd;AAoCD;;;;;GAKG;AACH,wBAAsB,uBAAuB,CACzC,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAE,OAAO,GAAG,GAAG,GACzB,OAAO,CAAC,GAAG,CAAC,CAmGd;AAED,wBAAsB,sBAAsB,CAAC,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAoB9G;AAQD,wBAAsB,sBAAsB,CAAC,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAsD7G;AAED,wBAAsB,oCAAoC,CACtD,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAE,oBAAoB,GAChC,OAAO,CAAC,GAAG,CAAC,CAuDd;AAED,wBAAsB,0CAA0C,CAC5D,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAE,0BAA0B,GACtC,OAAO,CAAC,GAAG,CAAC,CA2Cd;AAyCD,wBAAsB,0BAA0B,CAAC,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAwBrH;AAED,wBAAsB,oBAAoB,CACtC,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAE,IAAI,EACf,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,GAAG,CAAC,CAed"}
|
|
@@ -1,372 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.visitarExpressaoLeia = exports.visitarDeclaracaoAleatorio = exports.visitarExpressaoAtribuicaoPorIndicesMatriz = exports.visitarExpressaoAcessoElementoMatriz = exports.resolverIncrementoPara = exports.visitarExpressaoLogica = exports.visitarExpressaoBinaria = exports.atribuirVariavel = exports.visitarDeclaracaoInicioAlgoritmo = exports.visitarDeclaracaoCabecalhoPrograma = void 0;
|
|
7
|
-
const construtos_1 = require("../../../construtos");
|
|
8
|
-
const declaracoes_1 = require("../../../declaracoes");
|
|
9
|
-
const lexador_1 = require("../../../lexador");
|
|
10
|
-
const inferenciador_1 = require("../../inferenciador");
|
|
11
|
-
const visualg_1 = __importDefault(require("../../../tipos-de-simbolos/visualg"));
|
|
12
|
-
const excecoes_1 = require("../../../excecoes");
|
|
13
|
-
async function visitarDeclaracaoCabecalhoPrograma(interpretador, declaracao) {
|
|
14
|
-
return Promise.resolve();
|
|
15
|
-
}
|
|
16
|
-
exports.visitarDeclaracaoCabecalhoPrograma = visitarDeclaracaoCabecalhoPrograma;
|
|
17
|
-
async function visitarDeclaracaoInicioAlgoritmo(interpretador, declaracao) {
|
|
18
|
-
return Promise.resolve();
|
|
19
|
-
}
|
|
20
|
-
exports.visitarDeclaracaoInicioAlgoritmo = visitarDeclaracaoInicioAlgoritmo;
|
|
21
|
-
async function atribuirVariavel(interpretador, expressao, valor) {
|
|
22
|
-
if (expressao instanceof construtos_1.Variavel) {
|
|
23
|
-
interpretador.pilhaEscoposExecucao.atribuirVariavel(expressao.simbolo, valor);
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
if (expressao instanceof construtos_1.AcessoIndiceVariavel) {
|
|
27
|
-
const promises = await Promise.all([
|
|
28
|
-
interpretador.avaliar(expressao.entidadeChamada),
|
|
29
|
-
interpretador.avaliar(expressao.indice),
|
|
30
|
-
]);
|
|
31
|
-
let alvo = promises[0];
|
|
32
|
-
let indice = promises[1];
|
|
33
|
-
let valorAlvo;
|
|
34
|
-
let valorIndice;
|
|
35
|
-
if (alvo.hasOwnProperty('valor')) {
|
|
36
|
-
valorAlvo = alvo.valor;
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
valorAlvo = alvo;
|
|
40
|
-
}
|
|
41
|
-
if (indice.hasOwnProperty('valor')) {
|
|
42
|
-
valorIndice = indice.valor;
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
valorIndice = indice;
|
|
46
|
-
}
|
|
47
|
-
const subtipo = String(alvo.tipo).replace('[]', '');
|
|
48
|
-
let valorResolvido;
|
|
49
|
-
switch (subtipo) {
|
|
50
|
-
case 'inteiro':
|
|
51
|
-
valorResolvido = parseInt(valor);
|
|
52
|
-
break;
|
|
53
|
-
case 'lógico':
|
|
54
|
-
valorResolvido = Boolean(valor);
|
|
55
|
-
break;
|
|
56
|
-
case 'número':
|
|
57
|
-
valorResolvido = Number(valor);
|
|
58
|
-
break;
|
|
59
|
-
case 'texto':
|
|
60
|
-
valorResolvido = String(valor);
|
|
61
|
-
break;
|
|
62
|
-
default:
|
|
63
|
-
valorResolvido = valor;
|
|
64
|
-
break;
|
|
65
|
-
}
|
|
66
|
-
valorAlvo[valorIndice] = valorResolvido;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
exports.atribuirVariavel = atribuirVariavel;
|
|
70
|
-
async function avaliar(interpretador, expressao) {
|
|
71
|
-
return await expressao.aceitar(interpretador);
|
|
72
|
-
}
|
|
73
|
-
function eIgual(esquerda, direita) {
|
|
74
|
-
if (esquerda === null && direita === null)
|
|
75
|
-
return true;
|
|
76
|
-
if (esquerda === null)
|
|
77
|
-
return false;
|
|
78
|
-
return esquerda === direita;
|
|
79
|
-
}
|
|
80
|
-
function eVerdadeiro(objeto) {
|
|
81
|
-
if (objeto === null)
|
|
82
|
-
return false;
|
|
83
|
-
if (typeof objeto === 'boolean')
|
|
84
|
-
return Boolean(objeto);
|
|
85
|
-
if (objeto.hasOwnProperty('valor')) {
|
|
86
|
-
return Boolean(objeto.valor);
|
|
87
|
-
}
|
|
88
|
-
return true;
|
|
89
|
-
}
|
|
90
|
-
function verificarOperandosNumeros(operador, direita, esquerda) {
|
|
91
|
-
const tipoDireita = direita.tipo ? direita.tipo : typeof direita === 'number' ? 'número' : String(NaN);
|
|
92
|
-
const tipoEsquerda = esquerda.tipo ? esquerda.tipo : typeof esquerda === 'number' ? 'número' : String(NaN);
|
|
93
|
-
const tiposNumericos = ['inteiro', 'numero', 'número', 'real'];
|
|
94
|
-
if (tiposNumericos.includes(tipoDireita.toLowerCase()) && tiposNumericos.includes(tipoEsquerda.toLowerCase()))
|
|
95
|
-
return;
|
|
96
|
-
throw new excecoes_1.ErroEmTempoDeExecucao(operador, 'Operadores precisam ser números.', operador.linha);
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Método de visita de expressão binária.
|
|
100
|
-
* Reintroduzido pelas particularidades do VisuAlg.
|
|
101
|
-
* @param expressao A expressão binária.
|
|
102
|
-
* @returns O resultado da resolução da expressão.
|
|
103
|
-
*/
|
|
104
|
-
async function visitarExpressaoBinaria(interpretador, expressao) {
|
|
105
|
-
try {
|
|
106
|
-
const promises = await Promise.all([
|
|
107
|
-
avaliar(interpretador, expressao.esquerda),
|
|
108
|
-
avaliar(interpretador, expressao.direita),
|
|
109
|
-
]);
|
|
110
|
-
const esquerda = promises[0];
|
|
111
|
-
const direita = promises[1];
|
|
112
|
-
let valorEsquerdo = (esquerda === null || esquerda === void 0 ? void 0 : esquerda.hasOwnProperty('valor')) ? esquerda.valor : esquerda;
|
|
113
|
-
let valorDireito = (direita === null || direita === void 0 ? void 0 : direita.hasOwnProperty('valor')) ? direita.valor : direita;
|
|
114
|
-
// No VisuAlg, uma variável pode resolver para função porque funções não precisam ter parênteses.
|
|
115
|
-
// Esta parte evita o problema.
|
|
116
|
-
if (valorEsquerdo && valorEsquerdo.hasOwnProperty('funcao')) {
|
|
117
|
-
valorEsquerdo = valorEsquerdo.funcao();
|
|
118
|
-
}
|
|
119
|
-
if (valorDireito && valorDireito.hasOwnProperty('funcao')) {
|
|
120
|
-
valorDireito = valorDireito.funcao();
|
|
121
|
-
}
|
|
122
|
-
const tipoEsquerdo = (esquerda === null || esquerda === void 0 ? void 0 : esquerda.hasOwnProperty('tipo')) ? esquerda.tipo : (0, inferenciador_1.inferirTipoVariavel)(esquerda);
|
|
123
|
-
const tipoDireito = (direita === null || direita === void 0 ? void 0 : direita.hasOwnProperty('tipo')) ? direita.tipo : (0, inferenciador_1.inferirTipoVariavel)(direita);
|
|
124
|
-
switch (expressao.operador.tipo) {
|
|
125
|
-
case visualg_1.default.EXPONENCIACAO:
|
|
126
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
127
|
-
return Math.pow(valorEsquerdo, valorDireito);
|
|
128
|
-
case visualg_1.default.MAIOR:
|
|
129
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
130
|
-
return Number(valorEsquerdo) > Number(valorDireito);
|
|
131
|
-
case visualg_1.default.MAIOR_IGUAL:
|
|
132
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
133
|
-
return Number(valorEsquerdo) >= Number(valorDireito);
|
|
134
|
-
case visualg_1.default.MENOR:
|
|
135
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
136
|
-
return Number(valorEsquerdo) < Number(valorDireito);
|
|
137
|
-
case visualg_1.default.MENOR_IGUAL:
|
|
138
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
139
|
-
return Number(valorEsquerdo) <= Number(valorDireito);
|
|
140
|
-
case visualg_1.default.SUBTRACAO:
|
|
141
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
142
|
-
return Number(valorEsquerdo) - Number(valorDireito);
|
|
143
|
-
case visualg_1.default.ADICAO:
|
|
144
|
-
let tiposNumericos = ['inteiro', 'numero', 'número', 'real'];
|
|
145
|
-
if (tiposNumericos.includes(tipoEsquerdo.toLowerCase())
|
|
146
|
-
&& tiposNumericos.includes(tipoDireito.toLowerCase())) {
|
|
147
|
-
return Number(valorEsquerdo) + Number(valorDireito);
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
return String(valorEsquerdo) + String(valorDireito);
|
|
151
|
-
}
|
|
152
|
-
case visualg_1.default.DIVISAO:
|
|
153
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
154
|
-
return Number(valorEsquerdo) / Number(valorDireito);
|
|
155
|
-
case visualg_1.default.DIVISAO_INTEIRA:
|
|
156
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
157
|
-
return Math.floor(Number(valorEsquerdo) / Number(valorDireito));
|
|
158
|
-
case visualg_1.default.MULTIPLICACAO:
|
|
159
|
-
if (tipoEsquerdo === 'texto' || tipoDireito === 'texto') {
|
|
160
|
-
// Sem ambos os valores resolvem como texto, multiplica normal.
|
|
161
|
-
// Se apenas um resolve como texto, o outro repete o
|
|
162
|
-
// texto n vezes, sendo n o valor do outro.
|
|
163
|
-
if (tipoEsquerdo === 'texto' && tipoDireito === 'texto') {
|
|
164
|
-
return Number(valorEsquerdo) * Number(valorDireito);
|
|
165
|
-
}
|
|
166
|
-
if (tipoEsquerdo === 'texto') {
|
|
167
|
-
return valorEsquerdo.repeat(Number(valorDireito));
|
|
168
|
-
}
|
|
169
|
-
return valorDireito.repeat(Number(valorEsquerdo));
|
|
170
|
-
}
|
|
171
|
-
return Number(valorEsquerdo) * Number(valorDireito);
|
|
172
|
-
case visualg_1.default.MODULO:
|
|
173
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
174
|
-
return Number(valorEsquerdo) % Number(valorDireito);
|
|
175
|
-
case visualg_1.default.DIFERENTE:
|
|
176
|
-
return !eIgual(valorEsquerdo, valorDireito);
|
|
177
|
-
case visualg_1.default.IGUAL:
|
|
178
|
-
return eIgual(valorEsquerdo, valorDireito);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
catch (erro) {
|
|
182
|
-
return Promise.reject(erro);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
exports.visitarExpressaoBinaria = visitarExpressaoBinaria;
|
|
186
|
-
async function visitarExpressaoLogica(interpretador, expressao) {
|
|
187
|
-
const esquerda = await avaliar(interpretador, expressao.esquerda);
|
|
188
|
-
// se um estado for verdadeiro, retorna verdadeiro
|
|
189
|
-
if (expressao.operador.tipo === visualg_1.default.OU) {
|
|
190
|
-
if (eVerdadeiro(esquerda))
|
|
191
|
-
return esquerda;
|
|
192
|
-
}
|
|
193
|
-
// se a primeira variável é verdadeiro, retorna a segunda invertida
|
|
194
|
-
if (expressao.operador.tipo === visualg_1.default.XOU) {
|
|
195
|
-
const valorDireito = await avaliar(interpretador, expressao.direita);
|
|
196
|
-
return eVerdadeiro(esquerda) !== eVerdadeiro(valorDireito);
|
|
197
|
-
}
|
|
198
|
-
// se um estado for falso, retorna falso
|
|
199
|
-
if (expressao.operador.tipo === visualg_1.default.E) {
|
|
200
|
-
if (!eVerdadeiro(esquerda))
|
|
201
|
-
return esquerda;
|
|
202
|
-
}
|
|
203
|
-
return await avaliar(interpretador, expressao.direita);
|
|
204
|
-
}
|
|
205
|
-
exports.visitarExpressaoLogica = visitarExpressaoLogica;
|
|
206
|
-
/* Isso existe porque o laço `para` do VisuAlg pode ter o passo positivo ou negativo
|
|
207
|
-
* dependendo dos operandos de início e fim, que só são possíveis de determinar
|
|
208
|
-
* em tempo de execução.
|
|
209
|
-
* Quando um dos operandos é uma variável, tanto a condição do laço quanto o
|
|
210
|
-
* passo são considerados indefinidos aqui.
|
|
211
|
-
*/
|
|
212
|
-
async function resolverIncrementoPara(interpretador, declaracao) {
|
|
213
|
-
if (declaracao.resolverIncrementoEmExecucao) {
|
|
214
|
-
const promises = await Promise.all([
|
|
215
|
-
avaliar(interpretador, declaracao.condicao.esquerda),
|
|
216
|
-
avaliar(interpretador, declaracao.condicao.direita),
|
|
217
|
-
]);
|
|
218
|
-
const operandoEsquerdo = promises[0];
|
|
219
|
-
const operandoDireito = promises[1];
|
|
220
|
-
const valorAtualEsquerdo = operandoEsquerdo.hasOwnProperty('valor') ? operandoEsquerdo.valor : operandoEsquerdo;
|
|
221
|
-
const valorAtualDireito = operandoDireito.hasOwnProperty('valor') ? operandoDireito.valor : operandoDireito;
|
|
222
|
-
if (valorAtualEsquerdo < valorAtualDireito) {
|
|
223
|
-
declaracao.condicao.operador = new lexador_1.Simbolo(visualg_1.default.MENOR_IGUAL, '', '', Number(declaracao.linha), declaracao.hashArquivo);
|
|
224
|
-
declaracao.incrementar.condicaoPara.operador = new lexador_1.Simbolo(visualg_1.default.MENOR, '', '', Number(declaracao.linha), declaracao.hashArquivo);
|
|
225
|
-
declaracao.incrementar.incremento.expressao.valor.direita = new construtos_1.Literal(declaracao.hashArquivo, Number(declaracao.linha), 1);
|
|
226
|
-
}
|
|
227
|
-
else {
|
|
228
|
-
declaracao.condicao.operador = new lexador_1.Simbolo(visualg_1.default.MAIOR_IGUAL, '', '', Number(declaracao.linha), declaracao.hashArquivo);
|
|
229
|
-
declaracao.incrementar.condicaoPara.operador = new lexador_1.Simbolo(visualg_1.default.MAIOR, '', '', Number(declaracao.linha), declaracao.hashArquivo);
|
|
230
|
-
declaracao.incrementar.incremento.expressao.valor.direita = new construtos_1.Unario(declaracao.hashArquivo, new lexador_1.Simbolo(visualg_1.default.SUBTRACAO, '-', undefined, declaracao.linha, declaracao.hashArquivo), new construtos_1.Literal(declaracao.hashArquivo, Number(declaracao.linha), 1), 'ANTES');
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
exports.resolverIncrementoPara = resolverIncrementoPara;
|
|
235
|
-
async function visitarExpressaoAcessoElementoMatriz(interpretador, expressao) {
|
|
236
|
-
const promises = await Promise.all([
|
|
237
|
-
avaliar(interpretador, expressao.entidadeChamada),
|
|
238
|
-
avaliar(interpretador, expressao.indicePrimario),
|
|
239
|
-
avaliar(interpretador, expressao.indiceSecundario),
|
|
240
|
-
]);
|
|
241
|
-
const variavelObjeto = promises[0];
|
|
242
|
-
const indicePrimario = promises[1];
|
|
243
|
-
const indiceSecundario = promises[2];
|
|
244
|
-
const objeto = variavelObjeto.hasOwnProperty('valor') ? variavelObjeto.valor : variavelObjeto;
|
|
245
|
-
let valorIndicePrimario = indicePrimario.hasOwnProperty('valor') ? indicePrimario.valor : indicePrimario;
|
|
246
|
-
let valorIndiceSecundario = indiceSecundario.hasOwnProperty('valor') ? indiceSecundario.valor : indiceSecundario;
|
|
247
|
-
if (Array.isArray(objeto)) {
|
|
248
|
-
if (!Number.isInteger(valorIndicePrimario) || !Number.isInteger(valorIndiceSecundario)) {
|
|
249
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, 'Somente inteiros podem ser usados para indexar um vetor.', expressao.linha));
|
|
250
|
-
}
|
|
251
|
-
if (valorIndicePrimario < 0 && objeto.length !== 0) {
|
|
252
|
-
while (valorIndicePrimario < 0) {
|
|
253
|
-
valorIndicePrimario += objeto.length;
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
if (valorIndiceSecundario < 0 && objeto.length !== 0) {
|
|
257
|
-
while (valorIndiceSecundario < 0) {
|
|
258
|
-
valorIndiceSecundario += objeto.length;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
if (valorIndicePrimario >= objeto.length || valorIndiceSecundario >= objeto.length) {
|
|
262
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, 'Índice do vetor fora do intervalo.', expressao.linha));
|
|
263
|
-
}
|
|
264
|
-
return objeto[valorIndicePrimario][valorIndiceSecundario];
|
|
265
|
-
}
|
|
266
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.entidadeChamada.valor, 'Somente listas, dicionários, classes e objetos podem ser mudados por sobrescrita.', expressao.linha));
|
|
267
|
-
}
|
|
268
|
-
exports.visitarExpressaoAcessoElementoMatriz = visitarExpressaoAcessoElementoMatriz;
|
|
269
|
-
async function visitarExpressaoAtribuicaoPorIndicesMatriz(interpretador, expressao) {
|
|
270
|
-
const promises = await Promise.all([
|
|
271
|
-
avaliar(interpretador, expressao.objeto),
|
|
272
|
-
avaliar(interpretador, expressao.indicePrimario),
|
|
273
|
-
avaliar(interpretador, expressao.indiceSecundario),
|
|
274
|
-
avaliar(interpretador, expressao.valor),
|
|
275
|
-
]);
|
|
276
|
-
let objeto = promises[0];
|
|
277
|
-
let indicePrimario = promises[1];
|
|
278
|
-
let indiceSecundario = promises[2];
|
|
279
|
-
const valor = promises[3];
|
|
280
|
-
objeto = objeto.hasOwnProperty('valor') ? objeto.valor : objeto;
|
|
281
|
-
indicePrimario = indicePrimario.hasOwnProperty('valor') ? indicePrimario.valor : indicePrimario;
|
|
282
|
-
indiceSecundario = indiceSecundario.hasOwnProperty('valor') ? indiceSecundario.valor : indiceSecundario;
|
|
283
|
-
if (Array.isArray(objeto)) {
|
|
284
|
-
if (indicePrimario < 0 && objeto.length !== 0) {
|
|
285
|
-
while (indicePrimario < 0) {
|
|
286
|
-
indicePrimario += objeto.length;
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
if (indiceSecundario < 0 && objeto.length !== 0) {
|
|
290
|
-
while (indiceSecundario < 0) {
|
|
291
|
-
indiceSecundario += objeto.length;
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
while (objeto.length < indicePrimario || objeto.length < indiceSecundario) {
|
|
295
|
-
objeto.push(null);
|
|
296
|
-
}
|
|
297
|
-
objeto[indicePrimario][indiceSecundario] = valor;
|
|
298
|
-
return Promise.resolve();
|
|
299
|
-
}
|
|
300
|
-
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.objeto.nome, 'Somente listas, dicionários, classes e objetos podem ser mudados por sobrescrita.', expressao.linha));
|
|
301
|
-
}
|
|
302
|
-
exports.visitarExpressaoAtribuicaoPorIndicesMatriz = visitarExpressaoAtribuicaoPorIndicesMatriz;
|
|
303
|
-
async function encontrarLeiaNoAleatorio(interpretador, declaracao, menorNumero, maiorNumero) {
|
|
304
|
-
if ('declaracoes' in declaracao) {
|
|
305
|
-
// Se a declaração tiver um campo 'declaracoes', ela é um Bloco
|
|
306
|
-
const declaracoes = declaracao.declaracoes;
|
|
307
|
-
for (const subDeclaracao of declaracoes) {
|
|
308
|
-
encontrarLeiaNoAleatorio(interpretador, subDeclaracao, menorNumero, maiorNumero);
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
else if (declaracao instanceof declaracoes_1.Leia) {
|
|
312
|
-
// Se encontrarmos um Leia, podemos efetuar as operações imediatamente
|
|
313
|
-
for (const argumento of declaracao.argumentos) {
|
|
314
|
-
const arg1 = await interpretador.avaliar(argumento);
|
|
315
|
-
const tipoDe = arg1.tipo || (0, inferenciador_1.inferirTipoVariavel)(arg1);
|
|
316
|
-
const valor = tipoDe === 'texto' ? palavraAleatoriaCom5Digitos() : gerarNumeroAleatorio(menorNumero, maiorNumero);
|
|
317
|
-
atribuirVariavel(interpretador, argumento, valor);
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
function gerarNumeroAleatorio(min, max) {
|
|
322
|
-
return Math.floor(Math.random() * (max - min) + min);
|
|
323
|
-
}
|
|
324
|
-
function palavraAleatoriaCom5Digitos() {
|
|
325
|
-
const caracteres = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
326
|
-
let palavra = '';
|
|
327
|
-
for (let i = 0; i < 5; i++) {
|
|
328
|
-
const indiceAleatorio = Math.floor(Math.random() * caracteres.length);
|
|
329
|
-
palavra += caracteres.charAt(indiceAleatorio);
|
|
330
|
-
}
|
|
331
|
-
return palavra;
|
|
332
|
-
}
|
|
333
|
-
async function visitarDeclaracaoAleatorio(interpretador, expressao) {
|
|
334
|
-
let retornoExecucao;
|
|
335
|
-
try {
|
|
336
|
-
let menorNumero = 0;
|
|
337
|
-
let maiorNumero = 100;
|
|
338
|
-
if (expressao.argumentos) {
|
|
339
|
-
menorNumero = Math.min(expressao.argumentos.min, expressao.argumentos.max);
|
|
340
|
-
maiorNumero = Math.max(expressao.argumentos.min, expressao.argumentos.max);
|
|
341
|
-
}
|
|
342
|
-
for (let corpoDeclaracao of expressao.corpo.declaracoes) {
|
|
343
|
-
encontrarLeiaNoAleatorio(interpretador, corpoDeclaracao, menorNumero, maiorNumero);
|
|
344
|
-
retornoExecucao = await interpretador.executar(corpoDeclaracao);
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
catch (error) {
|
|
348
|
-
interpretador.erros.push({
|
|
349
|
-
erroInterno: error,
|
|
350
|
-
linha: expressao.linha,
|
|
351
|
-
hashArquivo: expressao.hashArquivo,
|
|
352
|
-
});
|
|
353
|
-
return Promise.reject(error);
|
|
354
|
-
}
|
|
355
|
-
return retornoExecucao;
|
|
356
|
-
}
|
|
357
|
-
exports.visitarDeclaracaoAleatorio = visitarDeclaracaoAleatorio;
|
|
358
|
-
async function visitarExpressaoLeia(interpretador, expressao, mensagemPrompt) {
|
|
359
|
-
// Verifica se a leitura deve ser interrompida antes de prosseguir
|
|
360
|
-
if (!expressao.eParaInterromper) {
|
|
361
|
-
for (let argumento of expressao.argumentos) {
|
|
362
|
-
const promessaLeitura = () => new Promise((resolucao) => interpretador.interfaceEntradaSaida.question(mensagemPrompt, (resposta) => {
|
|
363
|
-
mensagemPrompt = '> ';
|
|
364
|
-
resolucao(resposta);
|
|
365
|
-
}));
|
|
366
|
-
const valorLido = await promessaLeitura();
|
|
367
|
-
await atribuirVariavel(interpretador, argumento, valorLido);
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
exports.visitarExpressaoLeia = visitarExpressaoLeia;
|
|
372
|
-
//# sourceMappingURL=comum.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/visualg/comum.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/visualg/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
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("./interpretador-visualg"), exports);
|
|
18
|
-
__exportStar(require("./interpretador-visualg-com-depuracao"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/visualg/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,wEAAsD"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { AcessoElementoMatriz, AtribuicaoPorIndicesMatriz, Binario, FimPara, Logico } from '../../../construtos';
|
|
2
|
-
import { EscrevaMesmaLinha, Escreva, Fazer, Leia, Const, Para, Aleatorio, CabecalhoPrograma } from '../../../declaracoes';
|
|
3
|
-
import { InterpretadorComDepuracao } from '../../interpretador-com-depuracao';
|
|
4
|
-
/**
|
|
5
|
-
* Interpretador com depuração para o dialeto VisuAlg.
|
|
6
|
-
*/
|
|
7
|
-
export declare class InterpretadorVisuAlgComDepuracao extends InterpretadorComDepuracao {
|
|
8
|
-
mensagemPrompt: string;
|
|
9
|
-
constructor(diretorioBase: string, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
|
|
10
|
-
visitarDeclaracaoInicioAlgoritmo(declaracao: CabecalhoPrograma): Promise<any>;
|
|
11
|
-
visitarDeclaracaoCabecalhoPrograma(declaracao: CabecalhoPrograma): Promise<any>;
|
|
12
|
-
visitarDeclaracaoConst(declaracao: Const): Promise<any>;
|
|
13
|
-
visitarExpressaoAcessoElementoMatriz(expressao: AcessoElementoMatriz): Promise<any>;
|
|
14
|
-
visitarExpressaoAtribuicaoPorIndicesMatriz(expressao: AtribuicaoPorIndicesMatriz): Promise<any>;
|
|
15
|
-
private avaliarArgumentosEscrevaVisuAlg;
|
|
16
|
-
/**
|
|
17
|
-
* No VisuAlg, o bloco executa se a condição for falsa.
|
|
18
|
-
* Por isso a reimplementação aqui.
|
|
19
|
-
* @param declaracao A declaração `Fazer`
|
|
20
|
-
* @returns Só retorna em caso de erro na execução, e neste caso, o erro.
|
|
21
|
-
*/
|
|
22
|
-
visitarDeclaracaoFazer(declaracao: Fazer): Promise<any>;
|
|
23
|
-
/**
|
|
24
|
-
* Execução de uma escrita na saída padrão, sem quebras de linha.
|
|
25
|
-
* Implementada para alguns dialetos, como VisuAlg.
|
|
26
|
-
*
|
|
27
|
-
* Como `readline.question` sobrescreve o que foi escrito antes, aqui
|
|
28
|
-
* definimos `this.mensagemPrompt` para uso com `leia`.
|
|
29
|
-
* No VisuAlg é muito comum usar `escreva()` seguido de `leia()` para
|
|
30
|
-
* gerar um prompt na mesma linha.
|
|
31
|
-
* @param declaracao A declaração.
|
|
32
|
-
* @returns Sempre nulo, por convenção de visita.
|
|
33
|
-
*/
|
|
34
|
-
visitarDeclaracaoEscrevaMesmaLinha(declaracao: EscrevaMesmaLinha): Promise<any>;
|
|
35
|
-
/**
|
|
36
|
-
* Execução de uma escrita na saída configurada, que pode ser `console` (padrão) ou
|
|
37
|
-
* alguma função para escrever numa página Web.
|
|
38
|
-
* @param declaracao A declaração.
|
|
39
|
-
* @returns Sempre nulo, por convenção de visita.
|
|
40
|
-
*/
|
|
41
|
-
visitarDeclaracaoEscreva(declaracao: Escreva): Promise<any>;
|
|
42
|
-
visitarExpressaoFimPara(declaracao: FimPara): Promise<any>;
|
|
43
|
-
/**
|
|
44
|
-
* Execução da leitura de valores da entrada configurada no
|
|
45
|
-
* início da aplicação.
|
|
46
|
-
* @param expressao Expressão do tipo Leia
|
|
47
|
-
* @returns Promise com o resultado da leitura.
|
|
48
|
-
*/
|
|
49
|
-
visitarExpressaoLeia(expressao: Leia): Promise<any>;
|
|
50
|
-
visitarDeclaracaoPara(declaracao: Para): Promise<any>;
|
|
51
|
-
visitarExpressaoBinaria(expressao: Binario | any): Promise<any>;
|
|
52
|
-
visitarExpressaoLogica(expressao: Logico): Promise<any>;
|
|
53
|
-
visitarDeclaracaoAleatorio(declaracao: Aleatorio): Promise<any>;
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=interpretador-visualg-com-depuracao.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-visualg-com-depuracao.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,oBAAoB,EACpB,0BAA0B,EAC1B,OAAO,EAEP,OAAO,EACP,MAAM,EACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,iBAAiB,EACjB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,KAAK,EACL,IAAI,EAEJ,SAAS,EACT,iBAAiB,EACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAG9E;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,yBAAyB;IAC3E,cAAc,EAAE,MAAM,CAAC;gBAEX,aAAa,EAAE,MAAM,EAAE,eAAe,GAAE,QAAe,EAAE,yBAAyB,GAAE,QAAe;IAQzG,gCAAgC,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IAI7E,kCAAkC,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IAIrF,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjD,oCAAoC,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;IAInF,0CAA0C,CAAC,SAAS,EAAE,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC;YAIvF,+BAA+B;IAa7C;;;;;OAKG;IACG,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAiB7D;;;;;;;;;;OAUG;IACG,kCAAkC,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IAWrF;;;;;OAKG;IACG,wBAAwB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAU3D,uBAAuB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAkBhE;;;;;OAKG;IACG,oBAAoB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAInD,qBAAqB,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAgErD,uBAAuB,CAAC,SAAS,EAAE,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAI/D,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvD,0BAA0B,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;CAGxE"}
|