@designliquido/delegua 0.34.2 → 0.35.0
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/index.d.ts +1 -0
- package/analisador-semantico/index.d.ts.map +1 -1
- package/analisador-semantico/index.js +1 -0
- package/analisador-semantico/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/bibliotecas/biblioteca-global.d.ts +157 -3
- package/bibliotecas/biblioteca-global.d.ts.map +1 -1
- package/bibliotecas/biblioteca-global.js +488 -308
- package/bibliotecas/biblioteca-global.js.map +1 -1
- package/bin/package.json +4 -3
- package/estruturas/funcao-padrao.d.ts +0 -1
- package/estruturas/funcao-padrao.d.ts.map +1 -1
- package/estruturas/funcao-padrao.js +1 -4
- package/estruturas/funcao-padrao.js.map +1 -1
- package/interpretador/comum.d.ts +3 -0
- package/interpretador/comum.d.ts.map +1 -0
- package/interpretador/comum.js +53 -0
- package/interpretador/comum.js.map +1 -0
- 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/interpretador/interpretador-base.d.ts +2 -2
- package/interpretador/interpretador-base.d.ts.map +1 -1
- package/interpretador/interpretador-base.js +7 -7
- package/interpretador/interpretador-base.js.map +1 -1
- package/interpretador/pilha-escopos-execucao.d.ts.map +1 -1
- package/interpretador/pilha-escopos-execucao.js +2 -0
- package/interpretador/pilha-escopos-execucao.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/package.json +4 -3
- package/umd/delegua.js +934 -1911
- package/analisador-semantico/dialetos/analisador-semantico-mapler.d.ts +0 -30
- package/analisador-semantico/dialetos/analisador-semantico-mapler.d.ts.map +0 -1
- package/analisador-semantico/dialetos/analisador-semantico-mapler.js +0 -104
- package/analisador-semantico/dialetos/analisador-semantico-mapler.js.map +0 -1
- package/analisador-semantico/dialetos/index.d.ts +0 -2
- package/analisador-semantico/dialetos/index.d.ts.map +0 -1
- package/analisador-semantico/dialetos/index.js +0 -18
- package/analisador-semantico/dialetos/index.js.map +0 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-mapler.d.ts +0 -62
- package/avaliador-sintatico/dialetos/avaliador-sintatico-mapler.d.ts.map +0 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-mapler.js +0 -486
- package/avaliador-sintatico/dialetos/avaliador-sintatico-mapler.js.map +0 -1
- package/interpretador/dialetos/mapler/comum.d.ts +0 -11
- package/interpretador/dialetos/mapler/comum.d.ts.map +0 -1
- package/interpretador/dialetos/mapler/comum.js +0 -138
- package/interpretador/dialetos/mapler/comum.js.map +0 -1
- package/interpretador/dialetos/mapler/index.d.ts +0 -3
- package/interpretador/dialetos/mapler/index.d.ts.map +0 -1
- package/interpretador/dialetos/mapler/index.js +0 -19
- package/interpretador/dialetos/mapler/index.js.map +0 -1
- package/interpretador/dialetos/mapler/interpretador-mapler-com-depuracao.d.ts +0 -48
- package/interpretador/dialetos/mapler/interpretador-mapler-com-depuracao.d.ts.map +0 -1
- package/interpretador/dialetos/mapler/interpretador-mapler-com-depuracao.js +0 -152
- package/interpretador/dialetos/mapler/interpretador-mapler-com-depuracao.js.map +0 -1
- package/interpretador/dialetos/mapler/interpretador-mapler.d.ts +0 -47
- package/interpretador/dialetos/mapler/interpretador-mapler.d.ts.map +0 -1
- package/interpretador/dialetos/mapler/interpretador-mapler.js +0 -136
- package/interpretador/dialetos/mapler/interpretador-mapler.js.map +0 -1
- package/lexador/dialetos/lexador-mapler.d.ts +0 -11
- package/lexador/dialetos/lexador-mapler.d.ts.map +0 -1
- package/lexador/dialetos/lexador-mapler.js +0 -205
- package/lexador/dialetos/lexador-mapler.js.map +0 -1
- package/lexador/dialetos/lexador-potigol.d.ts +0 -18
- package/lexador/dialetos/lexador-potigol.d.ts.map +0 -1
- package/lexador/dialetos/lexador-potigol.js +0 -295
- package/lexador/dialetos/lexador-potigol.js.map +0 -1
- package/lexador/dialetos/palavras-reservadas/mapler.d.ts +0 -31
- package/lexador/dialetos/palavras-reservadas/mapler.d.ts.map +0 -1
- package/lexador/dialetos/palavras-reservadas/mapler.js +0 -38
- package/lexador/dialetos/palavras-reservadas/mapler.js.map +0 -1
- package/lexador/dialetos/palavras-reservadas/potigol.d.ts +0 -45
- package/lexador/dialetos/palavras-reservadas/potigol.d.ts.map +0 -1
- package/lexador/dialetos/palavras-reservadas/potigol.js +0 -52
- package/lexador/dialetos/palavras-reservadas/potigol.js.map +0 -1
- package/tipos-de-simbolos/mapler.d.ts +0 -56
- package/tipos-de-simbolos/mapler.d.ts.map +0 -1
- package/tipos-de-simbolos/mapler.js +0 -57
- package/tipos-de-simbolos/mapler.js.map +0 -1
- package/tipos-de-simbolos/potigol.d.ts +0 -66
- package/tipos-de-simbolos/potigol.d.ts.map +0 -1
- package/tipos-de-simbolos/potigol.js +0 -67
- package/tipos-de-simbolos/potigol.js.map +0 -1
- package/tipos-de-simbolos/visualg.d.ts +0 -81
- package/tipos-de-simbolos/visualg.d.ts.map +0 -1
- package/tipos-de-simbolos/visualg.js +0 -82
- package/tipos-de-simbolos/visualg.js.map +0 -1
|
@@ -1,138 +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.visitarExpressaoLogica = exports.visitarExpressaoBinaria = void 0;
|
|
7
|
-
const inferenciador_1 = require("../../inferenciador");
|
|
8
|
-
const mapler_1 = __importDefault(require("../../../tipos-de-simbolos/mapler"));
|
|
9
|
-
const excecoes_1 = require("../../../excecoes");
|
|
10
|
-
async function avaliar(visitante, expressao) {
|
|
11
|
-
return await expressao.aceitar(visitante);
|
|
12
|
-
}
|
|
13
|
-
function eIgual(esquerda, direita) {
|
|
14
|
-
if (esquerda === null && direita === null)
|
|
15
|
-
return true;
|
|
16
|
-
if (esquerda === null)
|
|
17
|
-
return false;
|
|
18
|
-
return esquerda === direita;
|
|
19
|
-
}
|
|
20
|
-
function eVerdadeiro(objeto) {
|
|
21
|
-
if (objeto === null)
|
|
22
|
-
return false;
|
|
23
|
-
if (typeof objeto === 'boolean')
|
|
24
|
-
return Boolean(objeto);
|
|
25
|
-
if (objeto.hasOwnProperty('valor')) {
|
|
26
|
-
return Boolean(objeto.valor);
|
|
27
|
-
}
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
function verificarOperandosNumeros(operador, direita, esquerda) {
|
|
31
|
-
const tipoDireita = direita.tipo ? direita.tipo : typeof direita === 'number' ? 'número' : String(NaN);
|
|
32
|
-
const tipoEsquerda = esquerda.tipo ? esquerda.tipo : typeof esquerda === 'number' ? 'número' : String(NaN);
|
|
33
|
-
const tiposNumericos = ['inteiro', 'numero', 'número', 'real'];
|
|
34
|
-
if (tiposNumericos.includes(tipoDireita.toLowerCase()) && tiposNumericos.includes(tipoEsquerda.toLowerCase()))
|
|
35
|
-
return;
|
|
36
|
-
throw new excecoes_1.ErroEmTempoDeExecucao(operador, 'Operadores precisam ser números.', operador.linha);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Método de visita de expressão binária.
|
|
40
|
-
* Reintroduzido pelas particularidades do VisuAlg.
|
|
41
|
-
* @param expressao A expressão binária.
|
|
42
|
-
* @returns O resultado da resolução da expressão.
|
|
43
|
-
*/
|
|
44
|
-
async function visitarExpressaoBinaria(visitante, expressao) {
|
|
45
|
-
try {
|
|
46
|
-
const esquerda = await avaliar(visitante, expressao.esquerda);
|
|
47
|
-
const direita = await avaliar(visitante, expressao.direita);
|
|
48
|
-
let valorEsquerdo = (esquerda === null || esquerda === void 0 ? void 0 : esquerda.hasOwnProperty('valor')) ? esquerda.valor : esquerda;
|
|
49
|
-
let valorDireito = (direita === null || direita === void 0 ? void 0 : direita.hasOwnProperty('valor')) ? direita.valor : direita;
|
|
50
|
-
// No VisuAlg, uma variável pode resolver para função porque funções não precisam ter parênteses.
|
|
51
|
-
// Esta parte evita o problema.
|
|
52
|
-
if (valorEsquerdo && valorEsquerdo.hasOwnProperty('funcao')) {
|
|
53
|
-
valorEsquerdo = valorEsquerdo.funcao();
|
|
54
|
-
}
|
|
55
|
-
if (valorDireito && valorDireito.hasOwnProperty('funcao')) {
|
|
56
|
-
valorDireito = valorDireito.funcao();
|
|
57
|
-
}
|
|
58
|
-
const tipoEsquerdo = (esquerda === null || esquerda === void 0 ? void 0 : esquerda.hasOwnProperty('tipo')) ? esquerda.tipo : (0, inferenciador_1.inferirTipoVariavel)(esquerda);
|
|
59
|
-
const tipoDireito = (direita === null || direita === void 0 ? void 0 : direita.hasOwnProperty('tipo')) ? direita.tipo : (0, inferenciador_1.inferirTipoVariavel)(direita);
|
|
60
|
-
switch (expressao.operador.tipo) {
|
|
61
|
-
// case tiposDeSimbolos.EXPONENCIACAO:
|
|
62
|
-
// verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
63
|
-
// return Math.pow(valorEsquerdo, valorDireito);
|
|
64
|
-
case mapler_1.default.MAIOR:
|
|
65
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
66
|
-
return Number(valorEsquerdo) > Number(valorDireito);
|
|
67
|
-
case mapler_1.default.MAIOR_IGUAL:
|
|
68
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
69
|
-
return Number(valorEsquerdo) >= Number(valorDireito);
|
|
70
|
-
case mapler_1.default.MENOR:
|
|
71
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
72
|
-
return Number(valorEsquerdo) < Number(valorDireito);
|
|
73
|
-
case mapler_1.default.MENOR_IGUAL:
|
|
74
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
75
|
-
return Number(valorEsquerdo) <= Number(valorDireito);
|
|
76
|
-
case mapler_1.default.SUBTRACAO:
|
|
77
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
78
|
-
return Number(valorEsquerdo) - Number(valorDireito);
|
|
79
|
-
case mapler_1.default.ADICAO:
|
|
80
|
-
if (tipoEsquerdo === 'número' && tipoDireito === 'número') {
|
|
81
|
-
return Number(valorEsquerdo) + Number(valorDireito);
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
return String(valorEsquerdo) + String(valorDireito);
|
|
85
|
-
}
|
|
86
|
-
case mapler_1.default.DIVISAO:
|
|
87
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
88
|
-
return Number(valorEsquerdo) / Number(valorDireito);
|
|
89
|
-
// case tiposDeSimbolos.DIVISAO_INTEIRA:
|
|
90
|
-
// verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
91
|
-
// return Math.floor(Number(valorEsquerdo) / Number(valorDireito));
|
|
92
|
-
case mapler_1.default.MULTIPLICACAO:
|
|
93
|
-
if (tipoEsquerdo === 'texto' || tipoDireito === 'texto') {
|
|
94
|
-
// Sem ambos os valores resolvem como texto, multiplica normal.
|
|
95
|
-
// Se apenas um resolve como texto, o outro repete o
|
|
96
|
-
// texto n vezes, sendo n o valor do outro.
|
|
97
|
-
if (tipoEsquerdo === 'texto' && tipoDireito === 'texto') {
|
|
98
|
-
return Number(valorEsquerdo) * Number(valorDireito);
|
|
99
|
-
}
|
|
100
|
-
if (tipoEsquerdo === 'texto') {
|
|
101
|
-
return valorEsquerdo.repeat(Number(valorDireito));
|
|
102
|
-
}
|
|
103
|
-
return valorDireito.repeat(Number(valorEsquerdo));
|
|
104
|
-
}
|
|
105
|
-
return Number(valorEsquerdo) * Number(valorDireito);
|
|
106
|
-
case mapler_1.default.MODULO:
|
|
107
|
-
verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
108
|
-
return Number(valorEsquerdo) % Number(valorDireito);
|
|
109
|
-
case mapler_1.default.DIFERENTE:
|
|
110
|
-
return !eIgual(valorEsquerdo, valorDireito);
|
|
111
|
-
case mapler_1.default.IGUAL:
|
|
112
|
-
return eIgual(valorEsquerdo, valorDireito);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
catch (erro) {
|
|
116
|
-
return Promise.reject(erro);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
exports.visitarExpressaoBinaria = visitarExpressaoBinaria;
|
|
120
|
-
async function visitarExpressaoLogica(interpretador, expressao) {
|
|
121
|
-
const esquerda = await avaliar(interpretador, expressao.esquerda);
|
|
122
|
-
// se um estado for verdadeiro, retorna verdadeiro
|
|
123
|
-
// if (expressao.operador.tipo === tiposDeSimbolos.OU) {
|
|
124
|
-
// if (eVerdadeiro(esquerda)) return esquerda;
|
|
125
|
-
// }
|
|
126
|
-
// se a primeira variável é verdadeiro, retorna a segunda invertida
|
|
127
|
-
// if (expressao.operador.tipo === tiposDeSimbolos.XOU) {
|
|
128
|
-
// const valorDireito = await avaliar(interpretador, expressao.direita);
|
|
129
|
-
// return eVerdadeiro(esquerda) !== eVerdadeiro(valorDireito);
|
|
130
|
-
// }
|
|
131
|
-
// se um estado for falso, retorna falso
|
|
132
|
-
// if (expressao.operador.tipo === tiposDeSimbolos.E) {
|
|
133
|
-
// if (!eVerdadeiro(esquerda)) return esquerda;
|
|
134
|
-
// }
|
|
135
|
-
return await avaliar(interpretador, expressao.direita);
|
|
136
|
-
}
|
|
137
|
-
exports.visitarExpressaoLogica = visitarExpressaoLogica;
|
|
138
|
-
//# sourceMappingURL=comum.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/mapler/comum.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/mapler/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,sCAAsC,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-mapler"), exports);
|
|
18
|
-
__exportStar(require("./interpretador-mapler-com-depuracao"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/mapler/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,uEAAqD"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Binario, Construto, Logico } from '../../../construtos';
|
|
2
|
-
import { EscrevaMesmaLinha, Escreva, Fazer, Leia } from '../../../declaracoes';
|
|
3
|
-
import { InterpretadorComDepuracao } from '../../interpretador-com-depuracao';
|
|
4
|
-
/**
|
|
5
|
-
* Interpretador com depuração para o dialeto Mapler.
|
|
6
|
-
*/
|
|
7
|
-
export declare class InterpretadorMaplerComDepuracao extends InterpretadorComDepuracao {
|
|
8
|
-
mensagemPrompt: string;
|
|
9
|
-
constructor(diretorioBase: string, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
|
|
10
|
-
private avaliarArgumentosEscrevaMapler;
|
|
11
|
-
/**
|
|
12
|
-
* No Mapler, o bloco executa se a condição for falsa.
|
|
13
|
-
* Por isso a reimplementação aqui.
|
|
14
|
-
* @param declaracao A declaração `Fazer`
|
|
15
|
-
* @returns Só retorna em caso de erro na execução, e neste caso, o erro.
|
|
16
|
-
*/
|
|
17
|
-
visitarDeclaracaoFazer(declaracao: Fazer): Promise<any>;
|
|
18
|
-
/**
|
|
19
|
-
* Execução de uma escrita na saída padrão, sem quebras de linha.
|
|
20
|
-
* Implementada para alguns dialetos, como Mapler.
|
|
21
|
-
*
|
|
22
|
-
* Como `readline.question` sobrescreve o que foi escrito antes, aqui
|
|
23
|
-
* definimos `this.mensagemPrompt` para uso com `leia`.
|
|
24
|
-
* No Mapler é muito comum usar `escreva()` seguido de `leia()` para
|
|
25
|
-
* gerar um prompt na mesma linha.
|
|
26
|
-
* @param declaracao A declaração.
|
|
27
|
-
* @returns Sempre nulo, por convenção de visita.
|
|
28
|
-
*/
|
|
29
|
-
visitarDeclaracaoEscrevaMesmaLinha(declaracao: EscrevaMesmaLinha): Promise<any>;
|
|
30
|
-
/**
|
|
31
|
-
* Execução de uma escrita na saída configurada, que pode ser `console` (padrão) ou
|
|
32
|
-
* alguma função para escrever numa página Web.
|
|
33
|
-
* @param declaracao A declaração.
|
|
34
|
-
* @returns Sempre nulo, por convenção de visita.
|
|
35
|
-
*/
|
|
36
|
-
visitarDeclaracaoEscreva(declaracao: Escreva): Promise<any>;
|
|
37
|
-
atribuirVariavel(expressao: Construto, valor: any): Promise<any>;
|
|
38
|
-
/**
|
|
39
|
-
* Execução da leitura de valores da entrada configurada no
|
|
40
|
-
* início da aplicação.
|
|
41
|
-
* @param expressao Expressão do tipo Leia
|
|
42
|
-
* @returns Promise com o resultado da leitura.
|
|
43
|
-
*/
|
|
44
|
-
visitarExpressaoLeia(expressao: Leia): Promise<any>;
|
|
45
|
-
visitarExpressaoBinaria(expressao: Binario | any): Promise<any>;
|
|
46
|
-
visitarExpressaoLogica(expressao: Logico): Promise<any>;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=interpretador-mapler-com-depuracao.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-mapler-com-depuracao.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/mapler/interpretador-mapler-com-depuracao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAY,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAI9E;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,yBAAyB;IAC1E,cAAc,EAAE,MAAM,CAAC;gBAEX,aAAa,EAAE,MAAM,EAAE,eAAe,GAAE,QAAe,EAAE,yBAAyB,GAAE,QAAe;YAKjG,8BAA8B;IAa5C;;;;;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,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA0BtE;;;;;OAKG;IACG,oBAAoB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAenD,uBAAuB,CAAC,SAAS,EAAE,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAI/D,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAGhE"}
|
|
@@ -1,152 +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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.InterpretadorMaplerComDepuracao = void 0;
|
|
27
|
-
const construtos_1 = require("../../../construtos");
|
|
28
|
-
const quebras_1 = require("../../../quebras");
|
|
29
|
-
const interpretador_com_depuracao_1 = require("../../interpretador-com-depuracao");
|
|
30
|
-
const comum = __importStar(require("./comum"));
|
|
31
|
-
/**
|
|
32
|
-
* Interpretador com depuração para o dialeto Mapler.
|
|
33
|
-
*/
|
|
34
|
-
class InterpretadorMaplerComDepuracao extends interpretador_com_depuracao_1.InterpretadorComDepuracao {
|
|
35
|
-
constructor(diretorioBase, funcaoDeRetorno = null, funcaoDeRetornoMesmaLinha = null) {
|
|
36
|
-
super(diretorioBase, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
|
|
37
|
-
this.mensagemPrompt = '> ';
|
|
38
|
-
}
|
|
39
|
-
async avaliarArgumentosEscrevaMapler(argumentos) {
|
|
40
|
-
let formatoTexto = '';
|
|
41
|
-
for (const argumento of argumentos) {
|
|
42
|
-
const resultadoAvaliacao = await this.avaliar(argumento);
|
|
43
|
-
let valor = (resultadoAvaliacao === null || resultadoAvaliacao === void 0 ? void 0 : resultadoAvaliacao.hasOwnProperty('valor')) ? resultadoAvaliacao.valor : resultadoAvaliacao;
|
|
44
|
-
formatoTexto += `${this.paraTexto(valor)}`;
|
|
45
|
-
}
|
|
46
|
-
return formatoTexto;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* No Mapler, o bloco executa se a condição for falsa.
|
|
50
|
-
* Por isso a reimplementação aqui.
|
|
51
|
-
* @param declaracao A declaração `Fazer`
|
|
52
|
-
* @returns Só retorna em caso de erro na execução, e neste caso, o erro.
|
|
53
|
-
*/
|
|
54
|
-
async visitarDeclaracaoFazer(declaracao) {
|
|
55
|
-
let retornoExecucao;
|
|
56
|
-
do {
|
|
57
|
-
try {
|
|
58
|
-
retornoExecucao = await this.executar(declaracao.caminhoFazer);
|
|
59
|
-
if (retornoExecucao instanceof quebras_1.ContinuarQuebra) {
|
|
60
|
-
retornoExecucao = null;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
catch (erro) {
|
|
64
|
-
return Promise.reject(erro);
|
|
65
|
-
}
|
|
66
|
-
} while (!(retornoExecucao instanceof quebras_1.Quebra) &&
|
|
67
|
-
!this.eVerdadeiro(await this.avaliar(declaracao.condicaoEnquanto)));
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Execução de uma escrita na saída padrão, sem quebras de linha.
|
|
71
|
-
* Implementada para alguns dialetos, como Mapler.
|
|
72
|
-
*
|
|
73
|
-
* Como `readline.question` sobrescreve o que foi escrito antes, aqui
|
|
74
|
-
* definimos `this.mensagemPrompt` para uso com `leia`.
|
|
75
|
-
* No Mapler é muito comum usar `escreva()` seguido de `leia()` para
|
|
76
|
-
* gerar um prompt na mesma linha.
|
|
77
|
-
* @param declaracao A declaração.
|
|
78
|
-
* @returns Sempre nulo, por convenção de visita.
|
|
79
|
-
*/
|
|
80
|
-
async visitarDeclaracaoEscrevaMesmaLinha(declaracao) {
|
|
81
|
-
try {
|
|
82
|
-
const formatoTexto = await this.avaliarArgumentosEscrevaMapler(declaracao.argumentos);
|
|
83
|
-
this.mensagemPrompt = formatoTexto;
|
|
84
|
-
this.funcaoDeRetornoMesmaLinha(formatoTexto);
|
|
85
|
-
return null;
|
|
86
|
-
}
|
|
87
|
-
catch (erro) {
|
|
88
|
-
this.erros.push(erro);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Execução de uma escrita na saída configurada, que pode ser `console` (padrão) ou
|
|
93
|
-
* alguma função para escrever numa página Web.
|
|
94
|
-
* @param declaracao A declaração.
|
|
95
|
-
* @returns Sempre nulo, por convenção de visita.
|
|
96
|
-
*/
|
|
97
|
-
async visitarDeclaracaoEscreva(declaracao) {
|
|
98
|
-
try {
|
|
99
|
-
const formatoTexto = await this.avaliarArgumentosEscrevaMapler(declaracao.argumentos);
|
|
100
|
-
this.funcaoDeRetorno(formatoTexto);
|
|
101
|
-
return null;
|
|
102
|
-
}
|
|
103
|
-
catch (erro) {
|
|
104
|
-
this.erros.push(erro);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
async atribuirVariavel(expressao, valor) {
|
|
108
|
-
if (expressao instanceof construtos_1.Variavel) {
|
|
109
|
-
this.pilhaEscoposExecucao.atribuirVariavel(expressao.simbolo, valor);
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
if (expressao instanceof construtos_1.AcessoIndiceVariavel) {
|
|
113
|
-
const promises = await Promise.all([
|
|
114
|
-
this.avaliar(expressao.entidadeChamada),
|
|
115
|
-
this.avaliar(expressao.indice),
|
|
116
|
-
]);
|
|
117
|
-
let alvo = promises[0];
|
|
118
|
-
let indice = promises[1];
|
|
119
|
-
if (alvo.hasOwnProperty('valor')) {
|
|
120
|
-
alvo = alvo.valor;
|
|
121
|
-
}
|
|
122
|
-
if (indice.hasOwnProperty('valor')) {
|
|
123
|
-
indice = indice.valor;
|
|
124
|
-
}
|
|
125
|
-
alvo[indice] = valor;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Execução da leitura de valores da entrada configurada no
|
|
130
|
-
* início da aplicação.
|
|
131
|
-
* @param expressao Expressão do tipo Leia
|
|
132
|
-
* @returns Promise com o resultado da leitura.
|
|
133
|
-
*/
|
|
134
|
-
async visitarExpressaoLeia(expressao) {
|
|
135
|
-
for (let argumento of expressao.argumentos) {
|
|
136
|
-
const promessaLeitura = () => new Promise((resolucao) => this.interfaceEntradaSaida.question(this.mensagemPrompt, (resposta) => {
|
|
137
|
-
this.mensagemPrompt = '> ';
|
|
138
|
-
resolucao(resposta);
|
|
139
|
-
}));
|
|
140
|
-
const valorLido = await promessaLeitura();
|
|
141
|
-
await this.atribuirVariavel(argumento, valorLido);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
async visitarExpressaoBinaria(expressao) {
|
|
145
|
-
return comum.visitarExpressaoBinaria(this, expressao);
|
|
146
|
-
}
|
|
147
|
-
async visitarExpressaoLogica(expressao) {
|
|
148
|
-
return comum.visitarExpressaoLogica(this, expressao);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
exports.InterpretadorMaplerComDepuracao = InterpretadorMaplerComDepuracao;
|
|
152
|
-
//# sourceMappingURL=interpretador-mapler-com-depuracao.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-mapler-com-depuracao.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/mapler/interpretador-mapler-com-depuracao.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Binario, ExpressaoRegular, Logico } from '../../../construtos';
|
|
2
|
-
import { Aleatorio, Const, Escreva, EscrevaMesmaLinha, Fazer, Leia } from '../../../declaracoes';
|
|
3
|
-
import { InterpretadorBase } from '../..';
|
|
4
|
-
export declare class InterpretadorMapler extends InterpretadorBase {
|
|
5
|
-
mensagemPrompt: string;
|
|
6
|
-
constructor(diretorioBase: string, performance?: boolean, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
|
|
7
|
-
visitarExpressaoExpressaoRegular(expressao: ExpressaoRegular): Promise<any>;
|
|
8
|
-
visitarDeclaracaoAleatorio(declaracao: Aleatorio): Promise<any>;
|
|
9
|
-
visitarDeclaracaoConst(declaracao: Const): Promise<any>;
|
|
10
|
-
private avaliarArgumentosEscrevaMapler;
|
|
11
|
-
/**
|
|
12
|
-
* No Mapler, o bloco de condição executa se falso.
|
|
13
|
-
* Por isso a reimplementação aqui.
|
|
14
|
-
* @param declaracao A declaração `Fazer`
|
|
15
|
-
* @returns Só retorna em caso de erro na execução, e neste caso, o erro.
|
|
16
|
-
*/
|
|
17
|
-
visitarDeclaracaoFazer(declaracao: Fazer): Promise<any>;
|
|
18
|
-
/**
|
|
19
|
-
* Execução de uma escrita na saída padrão, sem quebras de linha.
|
|
20
|
-
* Implementada para alguns dialetos, como Mapler.
|
|
21
|
-
*
|
|
22
|
-
* Como `readline.question` sobrescreve o que foi escrito antes, aqui
|
|
23
|
-
* definimos `this.mensagemPrompt` para uso com `leia`.
|
|
24
|
-
* No Mapler é muito comum usar `escreva()` seguido de `leia()` para
|
|
25
|
-
* gerar um prompt na mesma linha.
|
|
26
|
-
* @param declaracao A declaração.
|
|
27
|
-
* @returns Sempre nulo, por convenção de visita.
|
|
28
|
-
*/
|
|
29
|
-
visitarDeclaracaoEscrevaMesmaLinha(declaracao: EscrevaMesmaLinha): Promise<any>;
|
|
30
|
-
/**
|
|
31
|
-
* Execução de uma escrita na saída configurada, que pode ser `console` (padrão) ou
|
|
32
|
-
* alguma função para escrever numa página Web.
|
|
33
|
-
* @param declaracao A declaração.
|
|
34
|
-
* @returns Sempre nulo, por convenção de visita.
|
|
35
|
-
*/
|
|
36
|
-
visitarDeclaracaoEscreva(declaracao: Escreva): Promise<any>;
|
|
37
|
-
/**
|
|
38
|
-
* Execução da leitura de valores da entrada configurada no
|
|
39
|
-
* início da aplicação.
|
|
40
|
-
* @param expressao Expressão do tipo Leia
|
|
41
|
-
* @returns Promise com o resultado da leitura.
|
|
42
|
-
*/
|
|
43
|
-
visitarExpressaoLeia(expressao: Leia): Promise<any>;
|
|
44
|
-
visitarExpressaoBinaria(expressao: Binario | any): Promise<any>;
|
|
45
|
-
visitarExpressaoLogica(expressao: Logico): Promise<any>;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=interpretador-mapler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-mapler.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/mapler/interpretador-mapler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAa,gBAAgB,EAAE,MAAM,EAAY,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAK1C,qBAAa,mBAAoB,SAAQ,iBAAiB;IACtD,cAAc,EAAE,MAAM,CAAC;gBAGnB,aAAa,EAAE,MAAM,EACrB,WAAW,UAAQ,EACnB,eAAe,GAAE,QAAe,EAChC,yBAAyB,GAAE,QAAe;IAM9C,gCAAgC,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAI3E,0BAA0B,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAI/D,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;YAIzC,8BAA8B;IAa5C;;;;;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;IASjE;;;;;OAKG;IACG,oBAAoB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAenD,uBAAuB,CAAC,SAAS,EAAE,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAI/D,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAGhE"}
|
|
@@ -1,136 +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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.InterpretadorMapler = void 0;
|
|
27
|
-
const __1 = require("../..");
|
|
28
|
-
const quebras_1 = require("../../../quebras");
|
|
29
|
-
const comum = __importStar(require("./comum"));
|
|
30
|
-
class InterpretadorMapler extends __1.InterpretadorBase {
|
|
31
|
-
constructor(diretorioBase, performance = false, funcaoDeRetorno = null, funcaoDeRetornoMesmaLinha = null) {
|
|
32
|
-
super(diretorioBase, performance, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
|
|
33
|
-
this.mensagemPrompt = '> ';
|
|
34
|
-
}
|
|
35
|
-
visitarExpressaoExpressaoRegular(expressao) {
|
|
36
|
-
throw new Error('Método não implementado.');
|
|
37
|
-
}
|
|
38
|
-
visitarDeclaracaoAleatorio(declaracao) {
|
|
39
|
-
throw new Error('Método não implementado.');
|
|
40
|
-
}
|
|
41
|
-
visitarDeclaracaoConst(declaracao) {
|
|
42
|
-
throw new Error('Método não implementado.');
|
|
43
|
-
}
|
|
44
|
-
async avaliarArgumentosEscrevaMapler(argumentos) {
|
|
45
|
-
let formatoTexto = '';
|
|
46
|
-
for (const argumento of argumentos) {
|
|
47
|
-
const resultadoAvaliacao = await this.avaliar(argumento);
|
|
48
|
-
let valor = (resultadoAvaliacao === null || resultadoAvaliacao === void 0 ? void 0 : resultadoAvaliacao.hasOwnProperty('valor')) ? resultadoAvaliacao.valor : resultadoAvaliacao;
|
|
49
|
-
formatoTexto += `${this.paraTexto(valor)}`;
|
|
50
|
-
}
|
|
51
|
-
return formatoTexto;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* No Mapler, o bloco de condição executa se falso.
|
|
55
|
-
* Por isso a reimplementação aqui.
|
|
56
|
-
* @param declaracao A declaração `Fazer`
|
|
57
|
-
* @returns Só retorna em caso de erro na execução, e neste caso, o erro.
|
|
58
|
-
*/
|
|
59
|
-
async visitarDeclaracaoFazer(declaracao) {
|
|
60
|
-
let retornoExecucao;
|
|
61
|
-
do {
|
|
62
|
-
try {
|
|
63
|
-
retornoExecucao = await this.executar(declaracao.caminhoFazer);
|
|
64
|
-
if (retornoExecucao instanceof quebras_1.ContinuarQuebra) {
|
|
65
|
-
retornoExecucao = null;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
catch (erro) {
|
|
69
|
-
return Promise.reject(erro);
|
|
70
|
-
}
|
|
71
|
-
} while (!(retornoExecucao instanceof quebras_1.Quebra) &&
|
|
72
|
-
!this.eVerdadeiro(await this.avaliar(declaracao.condicaoEnquanto)));
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Execução de uma escrita na saída padrão, sem quebras de linha.
|
|
76
|
-
* Implementada para alguns dialetos, como Mapler.
|
|
77
|
-
*
|
|
78
|
-
* Como `readline.question` sobrescreve o que foi escrito antes, aqui
|
|
79
|
-
* definimos `this.mensagemPrompt` para uso com `leia`.
|
|
80
|
-
* No Mapler é muito comum usar `escreva()` seguido de `leia()` para
|
|
81
|
-
* gerar um prompt na mesma linha.
|
|
82
|
-
* @param declaracao A declaração.
|
|
83
|
-
* @returns Sempre nulo, por convenção de visita.
|
|
84
|
-
*/
|
|
85
|
-
async visitarDeclaracaoEscrevaMesmaLinha(declaracao) {
|
|
86
|
-
try {
|
|
87
|
-
const formatoTexto = await this.avaliarArgumentosEscrevaMapler(declaracao.argumentos);
|
|
88
|
-
this.mensagemPrompt = formatoTexto;
|
|
89
|
-
this.funcaoDeRetornoMesmaLinha(formatoTexto);
|
|
90
|
-
return null;
|
|
91
|
-
}
|
|
92
|
-
catch (erro) {
|
|
93
|
-
this.erros.push(erro);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Execução de uma escrita na saída configurada, que pode ser `console` (padrão) ou
|
|
98
|
-
* alguma função para escrever numa página Web.
|
|
99
|
-
* @param declaracao A declaração.
|
|
100
|
-
* @returns Sempre nulo, por convenção de visita.
|
|
101
|
-
*/
|
|
102
|
-
async visitarDeclaracaoEscreva(declaracao) {
|
|
103
|
-
try {
|
|
104
|
-
const formatoTexto = await this.avaliarArgumentosEscrevaMapler(declaracao.argumentos);
|
|
105
|
-
this.funcaoDeRetorno(formatoTexto);
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
catch (erro) {
|
|
109
|
-
this.erros.push(erro);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Execução da leitura de valores da entrada configurada no
|
|
114
|
-
* início da aplicação.
|
|
115
|
-
* @param expressao Expressão do tipo Leia
|
|
116
|
-
* @returns Promise com o resultado da leitura.
|
|
117
|
-
*/
|
|
118
|
-
async visitarExpressaoLeia(expressao) {
|
|
119
|
-
for (let argumento of expressao.argumentos) {
|
|
120
|
-
const promessaLeitura = () => new Promise((resolucao) => this.interfaceEntradaSaida.question(this.mensagemPrompt, (resposta) => {
|
|
121
|
-
this.mensagemPrompt = '> ';
|
|
122
|
-
resolucao(resposta);
|
|
123
|
-
}));
|
|
124
|
-
const valorLido = await promessaLeitura();
|
|
125
|
-
this.pilhaEscoposExecucao.atribuirVariavel(argumento.simbolo, valorLido);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
async visitarExpressaoBinaria(expressao) {
|
|
129
|
-
return comum.visitarExpressaoBinaria(this, expressao);
|
|
130
|
-
}
|
|
131
|
-
async visitarExpressaoLogica(expressao) {
|
|
132
|
-
return comum.visitarExpressaoLogica(this, expressao);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
exports.InterpretadorMapler = InterpretadorMapler;
|
|
136
|
-
//# sourceMappingURL=interpretador-mapler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-mapler.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/mapler/interpretador-mapler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { RetornoLexador } from '../../interfaces/retornos';
|
|
2
|
-
import { LexadorBaseLinhaUnica } from '../lexador-base-linha-unica';
|
|
3
|
-
import { SimboloInterface } from '../../interfaces';
|
|
4
|
-
export declare class LexadorMapler extends LexadorBaseLinhaUnica {
|
|
5
|
-
analisarNumero(): void;
|
|
6
|
-
analisarTexto(delimitador: string): void;
|
|
7
|
-
identificarPalavraChave(): void;
|
|
8
|
-
analisarToken(): void;
|
|
9
|
-
mapear(codigo: string[], hashArquivo: number): RetornoLexador<SimboloInterface>;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=lexador-mapler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lexador-mapler.d.ts","sourceRoot":"","sources":["../../../fontes/lexador/dialetos/lexador-mapler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAKpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,qBAAa,aAAc,SAAQ,qBAAqB;IACpD,cAAc,IAAI,IAAI;IAiBtB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAkBxC,uBAAuB,IAAI,IAAI;IAa/B,aAAa,IAAI,IAAI;IAyIrB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC;CAoBlF"}
|