@designliquido/delegua 0.33.8 → 0.33.10
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 -2
- package/avaliador-sintatico/dialetos/index.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/index.js +0 -2
- package/avaliador-sintatico/dialetos/index.js.map +1 -1
- package/bin/package.json +1 -1
- package/formatadores/index.d.ts +0 -2
- package/formatadores/index.d.ts.map +1 -1
- package/formatadores/index.js +0 -2
- package/formatadores/index.js.map +1 -1
- package/interpretador/dialetos/index.d.ts +0 -2
- package/interpretador/dialetos/index.d.ts.map +1 -1
- package/interpretador/dialetos/index.js +0 -2
- package/interpretador/dialetos/index.js.map +1 -1
- package/lexador/dialetos/index.d.ts +0 -2
- package/lexador/dialetos/index.d.ts.map +1 -1
- package/lexador/dialetos/index.js +0 -2
- package/lexador/dialetos/index.js.map +1 -1
- package/lexador/dialetos/palavras-reservadas/index.d.ts +0 -2
- package/lexador/dialetos/palavras-reservadas/index.d.ts.map +1 -1
- package/lexador/dialetos/palavras-reservadas/index.js +1 -5
- 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/tradutores/tradutor-assembly-x64.js +13 -13
- 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/avaliador-sintatico-portugol-studio.d.ts +0 -57
- package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio.d.ts.map +0 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio.js +0 -581
- package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio.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-portugol-studio.d.ts +0 -70
- package/formatadores/formatador-portugol-studio.d.ts.map +0 -1
- package/formatadores/formatador-portugol-studio.js +0 -326
- package/formatadores/formatador-portugol-studio.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/portugol-studio/comum.d.ts +0 -10
- package/interpretador/dialetos/portugol-studio/comum.d.ts.map +0 -1
- package/interpretador/dialetos/portugol-studio/comum.js +0 -25
- package/interpretador/dialetos/portugol-studio/comum.js.map +0 -1
- package/interpretador/dialetos/portugol-studio/index.d.ts +0 -3
- package/interpretador/dialetos/portugol-studio/index.d.ts.map +0 -1
- package/interpretador/dialetos/portugol-studio/index.js +0 -19
- package/interpretador/dialetos/portugol-studio/index.js.map +0 -1
- package/interpretador/dialetos/portugol-studio/interpretador-portugol-studio-com-depuracao.d.ts +0 -22
- package/interpretador/dialetos/portugol-studio/interpretador-portugol-studio-com-depuracao.d.ts.map +0 -1
- package/interpretador/dialetos/portugol-studio/interpretador-portugol-studio-com-depuracao.js +0 -43
- package/interpretador/dialetos/portugol-studio/interpretador-portugol-studio-com-depuracao.js.map +0 -1
- package/interpretador/dialetos/portugol-studio/interpretador-portugol-studio.d.ts +0 -13
- package/interpretador/dialetos/portugol-studio/interpretador-portugol-studio.d.ts.map +0 -1
- package/interpretador/dialetos/portugol-studio/interpretador-portugol-studio.js +0 -21
- package/interpretador/dialetos/portugol-studio/interpretador-portugol-studio.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-portugol-studio.d.ts +0 -23
- package/lexador/dialetos/lexador-portugol-studio.d.ts.map +0 -1
- package/lexador/dialetos/lexador-portugol-studio.js +0 -286
- package/lexador/dialetos/lexador-portugol-studio.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/portugol-studio.d.ts +0 -29
- package/lexador/dialetos/palavras-reservadas/portugol-studio.d.ts.map +0 -1
- package/lexador/dialetos/palavras-reservadas/portugol-studio.js +0 -36
- package/lexador/dialetos/palavras-reservadas/portugol-studio.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/tipos-de-simbolos/portugol-studio.d.ts +0 -60
- package/tipos-de-simbolos/portugol-studio.d.ts.map +0 -1
- package/tipos-de-simbolos/portugol-studio.js +0 -61
- package/tipos-de-simbolos/portugol-studio.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,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.visitarExpressaoLeiaComum = void 0;
|
|
4
|
-
const declaracoes_1 = require("../../../declaracoes");
|
|
5
|
-
/**
|
|
6
|
-
* Execução da leitura de valores da entrada configurada no
|
|
7
|
-
* início da aplicação.
|
|
8
|
-
* @param expressao Expressão do tipo Leia
|
|
9
|
-
* @returns Promise com o resultado da leitura.
|
|
10
|
-
*/
|
|
11
|
-
async function visitarExpressaoLeiaComum(interfaceEntradaSaida, pilhaEscoposExecucao, expressao) {
|
|
12
|
-
const mensagem = '> ';
|
|
13
|
-
for (let argumento of expressao.argumentos) {
|
|
14
|
-
const promessaLeitura = () => new Promise((resolucao) => interfaceEntradaSaida.question(mensagem, (resposta) => {
|
|
15
|
-
resolucao(resposta);
|
|
16
|
-
}));
|
|
17
|
-
const valorLido = await promessaLeitura();
|
|
18
|
-
const simbolo = argumento instanceof declaracoes_1.Expressao
|
|
19
|
-
? argumento.expressao.simbolo
|
|
20
|
-
: argumento.simbolo;
|
|
21
|
-
pilhaEscoposExecucao.definirVariavel(simbolo.lexema, valorLido);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
exports.visitarExpressaoLeiaComum = visitarExpressaoLeiaComum;
|
|
25
|
-
//# sourceMappingURL=comum.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/portugol-studio/comum.ts"],"names":[],"mappings":";;;AACA,sDAAuD;AAGvD;;;;;GAKG;AACI,KAAK,UAAU,yBAAyB,CAC3C,qBAA0B,EAC1B,oBAAmD,EACnD,SAAe;IAEf,MAAM,QAAQ,GAAG,IAAI,CAAC;IACtB,KAAK,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE;QACxC,MAAM,eAAe,GAAa,GAAG,EAAE,CACnC,IAAI,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CACtB,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAa,EAAE,EAAE;YACvD,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC,CAAC,CACL,CAAC;QAEN,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;QAC1C,MAAM,OAAO,GACT,SAAS,YAAY,uBAAS;YAC1B,CAAC,CAAwB,SAAU,CAAC,SAAU,CAAC,OAAO;YACtD,CAAC,CAAY,SAAU,CAAC,OAAO,CAAC;QACxC,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;KACnE;AACL,CAAC;AArBD,8DAqBC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/portugol-studio/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,+CAA+C,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-portugol-studio"), exports);
|
|
18
|
-
__exportStar(require("./interpretador-portugol-studio-com-depuracao"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/portugol-studio/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD;AAChD,gFAA8D"}
|
package/interpretador/dialetos/portugol-studio/interpretador-portugol-studio-com-depuracao.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Leia } from '../../../declaracoes';
|
|
2
|
-
import { InterpretadorComDepuracao } from '../../interpretador-com-depuracao';
|
|
3
|
-
export declare class InterpretadorPortugolStudioComDepuracao extends InterpretadorComDepuracao {
|
|
4
|
-
mensagemPrompt: string;
|
|
5
|
-
constructor(diretorioBase: string, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
|
|
6
|
-
/**
|
|
7
|
-
* Execução da leitura de valores da entrada configurada no
|
|
8
|
-
* início da aplicação.
|
|
9
|
-
* @param expressao Expressão do tipo Leia
|
|
10
|
-
* @returns Promise com o resultado da leitura.
|
|
11
|
-
*/
|
|
12
|
-
visitarExpressaoLeia(expressao: Leia): Promise<any>;
|
|
13
|
-
/**
|
|
14
|
-
* No Portugol Studio, como o bloco de execução da função `inicio` é criado
|
|
15
|
-
* pelo avaliador sintático, precisamos ter uma forma aqui de avançar o
|
|
16
|
-
* primeiro bloco pós execução de comando, seja ele qual for.
|
|
17
|
-
*/
|
|
18
|
-
private avancarPrimeiroEscopoAposInstrucao;
|
|
19
|
-
instrucaoContinuarInterpretacao(escopo?: number): Promise<any>;
|
|
20
|
-
instrucaoPasso(escopo?: number): Promise<any>;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=interpretador-portugol-studio-com-depuracao.d.ts.map
|
package/interpretador/dialetos/portugol-studio/interpretador-portugol-studio-com-depuracao.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-portugol-studio-com-depuracao.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/portugol-studio/interpretador-portugol-studio-com-depuracao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,qBAAa,uCAAwC,SAAQ,yBAAyB;IAClF,cAAc,EAAE,MAAM,CAAC;gBAEX,aAAa,EAAE,MAAM,EAAE,eAAe,GAAE,QAAe,EAAE,yBAAyB,GAAE,QAAe;IAK/G;;;;;OAKG;IACG,oBAAoB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAIzD;;;;OAIG;IACH,OAAO,CAAC,kCAAkC;IAMpC,+BAA+B,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAM9D,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAKtD"}
|
package/interpretador/dialetos/portugol-studio/interpretador-portugol-studio-com-depuracao.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InterpretadorPortugolStudioComDepuracao = void 0;
|
|
4
|
-
const comum_1 = require("./comum");
|
|
5
|
-
const interpretador_com_depuracao_1 = require("../../interpretador-com-depuracao");
|
|
6
|
-
class InterpretadorPortugolStudioComDepuracao extends interpretador_com_depuracao_1.InterpretadorComDepuracao {
|
|
7
|
-
constructor(diretorioBase, funcaoDeRetorno = null, funcaoDeRetornoMesmaLinha = null) {
|
|
8
|
-
super(diretorioBase, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
|
|
9
|
-
this.mensagemPrompt = '> ';
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Execução da leitura de valores da entrada configurada no
|
|
13
|
-
* início da aplicação.
|
|
14
|
-
* @param expressao Expressão do tipo Leia
|
|
15
|
-
* @returns Promise com o resultado da leitura.
|
|
16
|
-
*/
|
|
17
|
-
async visitarExpressaoLeia(expressao) {
|
|
18
|
-
return (0, comum_1.visitarExpressaoLeiaComum)(this.interfaceEntradaSaida, this.pilhaEscoposExecucao, expressao);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* No Portugol Studio, como o bloco de execução da função `inicio` é criado
|
|
22
|
-
* pelo avaliador sintático, precisamos ter uma forma aqui de avançar o
|
|
23
|
-
* primeiro bloco pós execução de comando, seja ele qual for.
|
|
24
|
-
*/
|
|
25
|
-
avancarPrimeiroEscopoAposInstrucao() {
|
|
26
|
-
const escopoUm = this.pilhaEscoposExecucao.naPosicao(1);
|
|
27
|
-
if (!escopoUm)
|
|
28
|
-
return;
|
|
29
|
-
escopoUm.declaracaoAtual = escopoUm.declaracoes.length;
|
|
30
|
-
}
|
|
31
|
-
async instrucaoContinuarInterpretacao(escopo) {
|
|
32
|
-
const retornoExecucao = await super.instrucaoContinuarInterpretacao(escopo);
|
|
33
|
-
this.avancarPrimeiroEscopoAposInstrucao();
|
|
34
|
-
return retornoExecucao;
|
|
35
|
-
}
|
|
36
|
-
async instrucaoPasso(escopo) {
|
|
37
|
-
const retornoExecucaoPasso = await super.instrucaoPasso(escopo);
|
|
38
|
-
this.avancarPrimeiroEscopoAposInstrucao();
|
|
39
|
-
return retornoExecucaoPasso;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
exports.InterpretadorPortugolStudioComDepuracao = InterpretadorPortugolStudioComDepuracao;
|
|
43
|
-
//# sourceMappingURL=interpretador-portugol-studio-com-depuracao.js.map
|
package/interpretador/dialetos/portugol-studio/interpretador-portugol-studio-com-depuracao.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-portugol-studio-com-depuracao.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/portugol-studio/interpretador-portugol-studio-com-depuracao.ts"],"names":[],"mappings":";;;AACA,mCAAoD;AACpD,mFAA8E;AAE9E,MAAa,uCAAwC,SAAQ,uDAAyB;IAGlF,YAAY,aAAqB,EAAE,kBAA4B,IAAI,EAAE,4BAAsC,IAAI;QAC3G,KAAK,CAAC,aAAa,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAe;QACtC,OAAO,IAAA,iCAAyB,EAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;IACvG,CAAC;IAED;;;;OAIG;IACK,kCAAkC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,MAAe;QACjD,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC;QAC5E,IAAI,CAAC,kCAAkC,EAAE,CAAC;QAC1C,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAe;QAChC,MAAM,oBAAoB,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,kCAAkC,EAAE,CAAC;QAC1C,OAAO,oBAAoB,CAAC;IAChC,CAAC;CACJ;AAxCD,0FAwCC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Leia } from '../../../declaracoes';
|
|
2
|
-
import { InterpretadorBase } from '../../interpretador-base';
|
|
3
|
-
export declare class InterpretadorPortugolStudio extends InterpretadorBase {
|
|
4
|
-
constructor(diretorioBase: string, performance?: boolean, funcaoDeRetorno?: Function);
|
|
5
|
-
/**
|
|
6
|
-
* Execução da leitura de valores da entrada configurada no
|
|
7
|
-
* início da aplicação.
|
|
8
|
-
* @param expressao Expressão do tipo Leia
|
|
9
|
-
* @returns Promise com o resultado da leitura.
|
|
10
|
-
*/
|
|
11
|
-
visitarExpressaoLeia(expressao: Leia): Promise<any>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=interpretador-portugol-studio.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-portugol-studio.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/portugol-studio/interpretador-portugol-studio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,qBAAa,2BAA4B,SAAQ,iBAAiB;gBAClD,aAAa,EAAE,MAAM,EAAE,WAAW,UAAQ,EAAE,eAAe,GAAE,QAAe;IAIxF;;;;;OAKG;IACG,oBAAoB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;CAG5D"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InterpretadorPortugolStudio = void 0;
|
|
4
|
-
const interpretador_base_1 = require("../../interpretador-base");
|
|
5
|
-
const comum_1 = require("./comum");
|
|
6
|
-
class InterpretadorPortugolStudio extends interpretador_base_1.InterpretadorBase {
|
|
7
|
-
constructor(diretorioBase, performance = false, funcaoDeRetorno = null) {
|
|
8
|
-
super(diretorioBase, performance, funcaoDeRetorno);
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Execução da leitura de valores da entrada configurada no
|
|
12
|
-
* início da aplicação.
|
|
13
|
-
* @param expressao Expressão do tipo Leia
|
|
14
|
-
* @returns Promise com o resultado da leitura.
|
|
15
|
-
*/
|
|
16
|
-
async visitarExpressaoLeia(expressao) {
|
|
17
|
-
return (0, comum_1.visitarExpressaoLeiaComum)(this.interfaceEntradaSaida, this.pilhaEscoposExecucao, expressao);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
exports.InterpretadorPortugolStudio = InterpretadorPortugolStudio;
|
|
21
|
-
//# sourceMappingURL=interpretador-portugol-studio.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-portugol-studio.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/portugol-studio/interpretador-portugol-studio.ts"],"names":[],"mappings":";;;AACA,iEAA6D;AAC7D,mCAAoD;AAEpD,MAAa,2BAA4B,SAAQ,sCAAiB;IAC9D,YAAY,aAAqB,EAAE,WAAW,GAAG,KAAK,EAAE,kBAA4B,IAAI;QACpF,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAe;QACtC,OAAO,IAAA,iCAAyB,EAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;IACvG,CAAC;CACJ;AAdD,kEAcC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { AcessoElementoMatriz, AtribuicaoPorIndicesMatriz, Binario, Construto, Logico } from '../../../construtos';
|
|
2
|
-
import { Aleatorio, CabecalhoPrograma, Leia, Para } from '../../../declaracoes';
|
|
3
|
-
import { InterpretadorBase } from '../../interpretador-base';
|
|
4
|
-
import { InicioAlgoritmo } from '../../../declaracoes/inicio-algoritmo';
|
|
5
|
-
export declare function visitarDeclaracaoCabecalhoPrograma(interpretador: InterpretadorBase, declaracao: CabecalhoPrograma): Promise<any>;
|
|
6
|
-
export declare function visitarDeclaracaoInicioAlgoritmo(interpretador: InterpretadorBase, declaracao: InicioAlgoritmo): Promise<any>;
|
|
7
|
-
export declare function atribuirVariavel(interpretador: InterpretadorBase, expressao: Construto, valor: any): Promise<any>;
|
|
8
|
-
/**
|
|
9
|
-
* Método de visita de expressão binária.
|
|
10
|
-
* Reintroduzido pelas particularidades do VisuAlg.
|
|
11
|
-
* @param expressao A expressão binária.
|
|
12
|
-
* @returns O resultado da resolução da expressão.
|
|
13
|
-
*/
|
|
14
|
-
export declare function visitarExpressaoBinaria(interpretador: InterpretadorBase, expressao: Binario | any): Promise<any>;
|
|
15
|
-
export declare function visitarExpressaoLogica(interpretador: InterpretadorBase, expressao: Logico): Promise<any>;
|
|
16
|
-
export declare function resolverIncrementoPara(interpretador: InterpretadorBase, declaracao: Para): Promise<any>;
|
|
17
|
-
export declare function visitarExpressaoAcessoElementoMatriz(interpretador: InterpretadorBase, expressao: AcessoElementoMatriz): Promise<any>;
|
|
18
|
-
export declare function visitarExpressaoAtribuicaoPorIndicesMatriz(interpretador: InterpretadorBase, expressao: AtribuicaoPorIndicesMatriz): Promise<any>;
|
|
19
|
-
export declare function visitarDeclaracaoAleatorio(interpretador: InterpretadorBase, expressao: Aleatorio): Promise<any>;
|
|
20
|
-
export declare function visitarExpressaoLeia(interpretador: InterpretadorBase, expressao: Leia, mensagemPrompt: string): Promise<any>;
|
|
21
|
-
//# sourceMappingURL=comum.d.ts.map
|
|
@@ -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"}
|