@designliquido/delegua-node 1.9.1 → 1.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/package.json +8 -8
- package/delegua.js +1 -1
- package/interpretador/dialetos/interpretador-pitugues-com-depuracao-importacao.d.ts +29 -0
- package/interpretador/dialetos/interpretador-pitugues-com-depuracao-importacao.d.ts.map +1 -0
- package/interpretador/dialetos/interpretador-pitugues-com-depuracao-importacao.js +103 -0
- package/interpretador/dialetos/interpretador-pitugues-com-depuracao-importacao.js.map +1 -0
- package/interpretador/dialetos/interpretador-pitugues-com-importacao.d.ts +23 -0
- package/interpretador/dialetos/interpretador-pitugues-com-importacao.d.ts.map +1 -0
- package/interpretador/dialetos/interpretador-pitugues-com-importacao.js +80 -0
- package/interpretador/dialetos/interpretador-pitugues-com-importacao.js.map +1 -0
- package/package.json +8 -8
package/bin/package.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/delegua-node",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.2",
|
|
4
4
|
"description": "Linguagem Delégua com capacidades para ecossistema Node.js.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"empacotar": "yarn rimraf ./dist && tsc && yarn copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && yarn copyfiles -V ./package.json ./dist/bin && yarn copyfiles -V ./README.md ./dist && yarn copyfiles -V ./LICENSE ./dist",
|
|
7
7
|
"testes-unitarios": "yarn jest --coverage",
|
|
8
|
-
"testes:egua": "./bin/delegua-ts exemplos/dialetos/egua-classico/testes.egua",
|
|
8
|
+
"testes:egua": "./bin/delegua-ts --dialeto egua exemplos/dialetos/egua-classico/testes.egua",
|
|
9
9
|
"testes:delegua:bhaskara": "./bin/delegua-ts exemplos/dialetos/egua-classico/bhaskara.egua",
|
|
10
10
|
"testes:delegua:fibonacci": "./bin/delegua-ts exemplos/dialetos/egua-classico/fibonacci.egua",
|
|
11
11
|
"testes:egua-classico": "./bin/delegua-ts --dialeto egua exemplos/dialetos/egua-classico/testes.egua",
|
|
12
12
|
"testes:servidor-depuracao": "yarn ts-node ./fontes/depuracao/servidor-depuracao.ts"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@designliquido/birl": "^0.2.
|
|
16
|
-
"@designliquido/delegua": "^0.
|
|
17
|
-
"@designliquido/mapler": "^0.2.
|
|
18
|
-
"@designliquido/portugol-studio": "^0.5.
|
|
19
|
-
"@designliquido/potigol": "^0.4.
|
|
20
|
-
"@designliquido/visualg": "^0.4.
|
|
15
|
+
"@designliquido/birl": "^0.2.13",
|
|
16
|
+
"@designliquido/delegua": "^0.59.1",
|
|
17
|
+
"@designliquido/mapler": "^0.2.14",
|
|
18
|
+
"@designliquido/portugol-studio": "^0.5.13",
|
|
19
|
+
"@designliquido/potigol": "^0.4.14",
|
|
20
|
+
"@designliquido/visualg": "^0.4.14",
|
|
21
21
|
"chalk": "4.1.2",
|
|
22
22
|
"commander": "^14.0.0",
|
|
23
23
|
"json-colorizer": "^3.0.1"
|
package/delegua.js
CHANGED
|
@@ -54,7 +54,7 @@ class Delegua {
|
|
|
54
54
|
versao() {
|
|
55
55
|
try {
|
|
56
56
|
const manifesto = caminho.resolve(process.cwd(), 'package.json');
|
|
57
|
-
return JSON.parse(sistemaArquivos.readFileSync(manifesto, { encoding: 'utf8' })).version || '0.
|
|
57
|
+
return JSON.parse(sistemaArquivos.readFileSync(manifesto, { encoding: 'utf8' })).version || '0.57';
|
|
58
58
|
}
|
|
59
59
|
catch (error) {
|
|
60
60
|
return '0.54 (núcleo, desenvolvimento)';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { InterpretadorPituguesComDepuracao } from "@designliquido/delegua/interpretador/dialetos/pitugues";
|
|
2
|
+
import { ResultadoParcialInterpretadorInterface, SimboloInterface } from '@designliquido/delegua/interfaces';
|
|
3
|
+
import { Const, Declaracao, FuncaoDeclaracao } from "@designliquido/delegua/declaracoes";
|
|
4
|
+
import { AcessoMetodoOuPropriedade } from "@designliquido/delegua/construtos";
|
|
5
|
+
import { ImportadorInterface } from "../../interfaces";
|
|
6
|
+
import { ModuloDeclaracoes } from '../../declaracoes';
|
|
7
|
+
import { InterpretadorComImportacaoInterface } from '../../interfaces/interpretador-com-importacao-interface';
|
|
8
|
+
import { ImportarBiblioteca } from '../../construtos';
|
|
9
|
+
export declare class InterpretadorPituguesComDepuracaoImportacao extends InterpretadorPituguesComDepuracao implements InterpretadorComImportacaoInterface {
|
|
10
|
+
importador: ImportadorInterface<SimboloInterface>;
|
|
11
|
+
constructor(importador: ImportadorInterface<SimboloInterface>, diretorioBase: string, funcaoDeRetorno: Function, funcaoDeRetornoMesmaLinha: Function);
|
|
12
|
+
/**
|
|
13
|
+
* Efetivamente executa uma declaração.
|
|
14
|
+
* Reintroduzido aqui porque o método `executar()` não está obedecendo à herança como deveria.
|
|
15
|
+
*
|
|
16
|
+
* TODO: Remover após resolver o problema com a herança.
|
|
17
|
+
*
|
|
18
|
+
* @param declaracao A declaração a ser executada.
|
|
19
|
+
* @returns O resultado parcial da execução, normalmente usado por
|
|
20
|
+
* ferramentas externas.
|
|
21
|
+
*/
|
|
22
|
+
executar(declaracao: Declaracao): Promise<ResultadoParcialInterpretadorInterface>;
|
|
23
|
+
visitarConstrutoImportarBiblioteca(importarBiblioteca: ImportarBiblioteca): Promise<import("@designliquido/delegua/interpretador/estruturas").DeleguaModulo>;
|
|
24
|
+
visitarDeclaracaoConst(declaracao: Const): Promise<any>;
|
|
25
|
+
visitarDeclaracaoDefinicaoFuncao(funcaoDeclaracao: FuncaoDeclaracao): Promise<any>;
|
|
26
|
+
visitarDeclaracaoModuloDeclaracoes(declaracao: ModuloDeclaracoes): Promise<import("@designliquido/delegua/interpretador/estruturas").DeleguaModulo>;
|
|
27
|
+
visitarExpressaoAcessoMetodoOuPropriedade(expressao: AcessoMetodoOuPropriedade): Promise<any>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=interpretador-pitugues-com-depuracao-importacao.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interpretador-pitugues-com-depuracao-importacao.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/dialetos/interpretador-pitugues-com-depuracao-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,wDAAwD,CAAC;AAC3G,OAAO,EAAE,sCAAsC,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC7G,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAGzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AAC9G,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAItD,qBAAa,2CACT,SAAQ,iCACR,YAAW,mCAAmC;IAE9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;gBAG9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,EACjD,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,QAAQ,EACzB,yBAAyB,EAAE,QAAQ;IAMvC;;;;;;;;;OASG;IACY,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,sCAAsC,CAAC;IAkC1F,kCAAkC,CAAC,kBAAkB,EAAE,kBAAkB;IAItE,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvD,gCAAgC,CAAC,gBAAgB,EAAE,gBAAgB;IAItE,kCAAkC,CAAC,UAAU,EAAE,iBAAiB;IAKvD,yCAAyC,CAAC,SAAS,EAAE,yBAAyB;CAGhG"}
|
|
@@ -0,0 +1,103 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.InterpretadorPituguesComDepuracaoImportacao = void 0;
|
|
37
|
+
const pitugues_1 = require("@designliquido/delegua/interpretador/dialetos/pitugues");
|
|
38
|
+
const estruturas_1 = require("@designliquido/delegua/interpretador/estruturas");
|
|
39
|
+
const inferenciador_1 = require("@designliquido/delegua/inferenciador");
|
|
40
|
+
const comum = __importStar(require("../comum"));
|
|
41
|
+
class InterpretadorPituguesComDepuracaoImportacao extends pitugues_1.InterpretadorPituguesComDepuracao {
|
|
42
|
+
constructor(importador, diretorioBase, funcaoDeRetorno, funcaoDeRetornoMesmaLinha) {
|
|
43
|
+
super(diretorioBase, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
|
|
44
|
+
this.importador = importador;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Efetivamente executa uma declaração.
|
|
48
|
+
* Reintroduzido aqui porque o método `executar()` não está obedecendo à herança como deveria.
|
|
49
|
+
*
|
|
50
|
+
* TODO: Remover após resolver o problema com a herança.
|
|
51
|
+
*
|
|
52
|
+
* @param declaracao A declaração a ser executada.
|
|
53
|
+
* @returns O resultado parcial da execução, normalmente usado por
|
|
54
|
+
* ferramentas externas.
|
|
55
|
+
*/
|
|
56
|
+
async executar(declaracao) {
|
|
57
|
+
const resultado = await declaracao.aceitar(this);
|
|
58
|
+
// Alguns casos não possuem retorno, como declarações `se`, `enquanto`, etc.,
|
|
59
|
+
// que não satisfazem suas respectivas condições.
|
|
60
|
+
if (resultado === null || resultado === undefined) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
// Se o retorno já possui um `valorRetornado`, apenas retorna o resultado.
|
|
64
|
+
if (resultado.hasOwnProperty('valorRetornado')) {
|
|
65
|
+
return resultado;
|
|
66
|
+
}
|
|
67
|
+
let tipoResultado = resultado.tipo;
|
|
68
|
+
switch (resultado.constructor) {
|
|
69
|
+
case estruturas_1.DescritorTipoClasse:
|
|
70
|
+
tipoResultado = resultado.simboloOriginal.lexema;
|
|
71
|
+
break;
|
|
72
|
+
default:
|
|
73
|
+
if (!tipoResultado) {
|
|
74
|
+
tipoResultado = (0, inferenciador_1.inferirTipoVariavel)(resultado);
|
|
75
|
+
}
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
hashArquivo: declaracao.hashArquivo,
|
|
80
|
+
linha: declaracao.linha,
|
|
81
|
+
valorRetornado: resultado,
|
|
82
|
+
tipo: tipoResultado,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
async visitarConstrutoImportarBiblioteca(importarBiblioteca) {
|
|
86
|
+
return comum.visitarConstrutoImportarBiblioteca(this, importarBiblioteca);
|
|
87
|
+
}
|
|
88
|
+
visitarDeclaracaoConst(declaracao) {
|
|
89
|
+
return comum.visitarDeclaracaoConst(this, declaracao);
|
|
90
|
+
}
|
|
91
|
+
visitarDeclaracaoDefinicaoFuncao(funcaoDeclaracao) {
|
|
92
|
+
return comum.visitarDeclaracaoDefinicaoFuncao(this, funcaoDeclaracao);
|
|
93
|
+
}
|
|
94
|
+
async visitarDeclaracaoModuloDeclaracoes(declaracao) {
|
|
95
|
+
return comum.visitarDeclaracaoModuloDeclaracoes(this, declaracao);
|
|
96
|
+
}
|
|
97
|
+
// TODO: Passar lógica para o núcleo e apagar.
|
|
98
|
+
async visitarExpressaoAcessoMetodoOuPropriedade(expressao) {
|
|
99
|
+
return comum.visitarExpressaoAcessoMetodoOuPropriedade(this, expressao);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.InterpretadorPituguesComDepuracaoImportacao = InterpretadorPituguesComDepuracaoImportacao;
|
|
103
|
+
//# sourceMappingURL=interpretador-pitugues-com-depuracao-importacao.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interpretador-pitugues-com-depuracao-importacao.js","sourceRoot":"","sources":["../../../fontes/interpretador/dialetos/interpretador-pitugues-com-depuracao-importacao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qFAA2G;AAG3G,gFAAsF;AACtF,wEAA2E;AAQ3E,gDAAkC;AAElC,MAAa,2CACT,SAAQ,4CAAiC;IAKzC,YACI,UAAiD,EACjD,aAAqB,EACrB,eAAyB,EACzB,yBAAmC;QAEnC,KAAK,CAAC,aAAa,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACM,KAAK,CAAC,QAAQ,CAAC,UAAsB;QAC1C,MAAM,SAAS,GAAQ,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEtD,6EAA6E;QAC7E,iDAAiD;QACjD,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,0EAA0E;QAC1E,IAAI,SAAS,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;QACnC,QAAQ,SAAS,CAAC,WAAW,EAAE,CAAC;YAC5B,KAAK,gCAAmB;gBACpB,aAAa,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC;gBACjD,MAAM;YACV;gBACI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjB,aAAa,GAAG,IAAA,mCAAmB,EAAC,SAAS,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM;QACd,CAAC;QAED,OAAO;YACH,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,cAAc,EAAE,SAAS;YACzB,IAAI,EAAE,aAAa;SACoB,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,kBAAsC;QAC3E,OAAO,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC9E,CAAC;IAEQ,sBAAsB,CAAC,UAAiB;QAC7C,OAAO,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAEQ,gCAAgC,CAAC,gBAAkC;QACxE,OAAO,KAAK,CAAC,gCAAgC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,UAA6B;QAClE,OAAO,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;IAED,8CAA8C;IACrC,KAAK,CAAC,yCAAyC,CAAC,SAAoC;QACzF,OAAO,KAAK,CAAC,yCAAyC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;CACJ;AAhFD,kGAgFC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Const, Declaracao, FuncaoDeclaracao } from '@designliquido/delegua/declaracoes';
|
|
2
|
+
import { SimboloInterface } from '@designliquido/delegua/interfaces';
|
|
3
|
+
import { InterpretadorPitugues } from '@designliquido/delegua/interpretador/dialetos/pitugues';
|
|
4
|
+
import { AcessoMetodoOuPropriedade } from '@designliquido/delegua/construtos';
|
|
5
|
+
import { InterpretadorComImportacaoInterface } from '../../interfaces/interpretador-com-importacao-interface';
|
|
6
|
+
import { ImportadorInterface } from '../../interfaces/importador-interface';
|
|
7
|
+
import { ModuloDeclaracoes } from '../../declaracoes';
|
|
8
|
+
import { ImportarBiblioteca } from '../../construtos';
|
|
9
|
+
/**
|
|
10
|
+
* O Interpretador visita todos os elementos complexos gerados pelo avaliador sintático (_parser_),
|
|
11
|
+
* e de fato executa a lógica de programação descrita no código.
|
|
12
|
+
*/
|
|
13
|
+
export declare class InterpretadorPituguesComImportacao extends InterpretadorPitugues implements InterpretadorComImportacaoInterface {
|
|
14
|
+
importador: ImportadorInterface<SimboloInterface>;
|
|
15
|
+
constructor(importador: ImportadorInterface<SimboloInterface>, diretorioBase: string, performance?: boolean, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
|
|
16
|
+
executar(declaracao: Declaracao, mostrarResultado?: boolean): Promise<any>;
|
|
17
|
+
visitarConstrutoImportarBiblioteca(importarBiblioteca: ImportarBiblioteca): Promise<import("@designliquido/delegua/interpretador/estruturas").DeleguaModulo>;
|
|
18
|
+
visitarDeclaracaoConst(declaracao: Const): Promise<any>;
|
|
19
|
+
visitarDeclaracaoDefinicaoFuncao(funcaoDeclaracao: FuncaoDeclaracao): Promise<any>;
|
|
20
|
+
visitarDeclaracaoModuloDeclaracoes(declaracao: ModuloDeclaracoes): Promise<import("@designliquido/delegua/interpretador/estruturas").DeleguaModulo>;
|
|
21
|
+
visitarExpressaoAcessoMetodoOuPropriedade(expressao: AcessoMetodoOuPropriedade): Promise<any>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=interpretador-pitugues-com-importacao.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interpretador-pitugues-com-importacao.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/dialetos/interpretador-pitugues-com-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAI9E,OAAO,EAAE,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAItD;;;GAGG;AACH,qBAAa,kCACT,SAAQ,qBACR,YAAW,mCAAmC;IAE9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;gBAG9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,EACjD,aAAa,EAAE,MAAM,EACrB,WAAW,UAAQ,EACnB,eAAe,GAAE,QAAe,EAChC,yBAAyB,GAAE,QAAe;IAM/B,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,UAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAcjF,kCAAkC,CAAC,kBAAkB,EAAE,kBAAkB;IAItE,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvD,gCAAgC,CAAC,gBAAgB,EAAE,gBAAgB;IAItE,kCAAkC,CAAC,UAAU,EAAE,iBAAiB;IAKvD,yCAAyC,CAAC,SAAS,EAAE,yBAAyB;CAGhG"}
|
|
@@ -0,0 +1,80 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.InterpretadorPituguesComImportacao = void 0;
|
|
40
|
+
const pitugues_1 = require("@designliquido/delegua/interpretador/dialetos/pitugues");
|
|
41
|
+
const primitivos_1 = __importDefault(require("@designliquido/delegua/tipos-de-dados/primitivos"));
|
|
42
|
+
const comum = __importStar(require("../comum"));
|
|
43
|
+
/**
|
|
44
|
+
* O Interpretador visita todos os elementos complexos gerados pelo avaliador sintático (_parser_),
|
|
45
|
+
* e de fato executa a lógica de programação descrita no código.
|
|
46
|
+
*/
|
|
47
|
+
class InterpretadorPituguesComImportacao extends pitugues_1.InterpretadorPitugues {
|
|
48
|
+
constructor(importador, diretorioBase, performance = false, funcaoDeRetorno = null, funcaoDeRetornoMesmaLinha = null) {
|
|
49
|
+
super(diretorioBase, performance, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
|
|
50
|
+
this.importador = importador;
|
|
51
|
+
}
|
|
52
|
+
async executar(declaracao, mostrarResultado = false) {
|
|
53
|
+
const resultado = await super.executar(declaracao);
|
|
54
|
+
if (mostrarResultado) {
|
|
55
|
+
this.funcaoDeRetorno(this.paraTexto(resultado));
|
|
56
|
+
}
|
|
57
|
+
if (resultado || typeof resultado === primitivos_1.default.BOOLEANO) {
|
|
58
|
+
this.resultadoInterpretador.push(resultado);
|
|
59
|
+
}
|
|
60
|
+
return resultado;
|
|
61
|
+
}
|
|
62
|
+
async visitarConstrutoImportarBiblioteca(importarBiblioteca) {
|
|
63
|
+
return comum.visitarConstrutoImportarBiblioteca(this, importarBiblioteca);
|
|
64
|
+
}
|
|
65
|
+
visitarDeclaracaoConst(declaracao) {
|
|
66
|
+
return comum.visitarDeclaracaoConst(this, declaracao);
|
|
67
|
+
}
|
|
68
|
+
visitarDeclaracaoDefinicaoFuncao(funcaoDeclaracao) {
|
|
69
|
+
return comum.visitarDeclaracaoDefinicaoFuncao(this, funcaoDeclaracao);
|
|
70
|
+
}
|
|
71
|
+
async visitarDeclaracaoModuloDeclaracoes(declaracao) {
|
|
72
|
+
return comum.visitarDeclaracaoModuloDeclaracoes(this, declaracao);
|
|
73
|
+
}
|
|
74
|
+
// TODO: Passar lógica para o núcleo e apagar.
|
|
75
|
+
async visitarExpressaoAcessoMetodoOuPropriedade(expressao) {
|
|
76
|
+
return comum.visitarExpressaoAcessoMetodoOuPropriedade(this, expressao);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.InterpretadorPituguesComImportacao = InterpretadorPituguesComImportacao;
|
|
80
|
+
//# sourceMappingURL=interpretador-pitugues-com-importacao.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interpretador-pitugues-com-importacao.js","sourceRoot":"","sources":["../../../fontes/interpretador/dialetos/interpretador-pitugues-com-importacao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qFAA+F;AAG/F,kGAAqF;AAOrF,gDAAkC;AAElC;;;GAGG;AACH,MAAa,kCACT,SAAQ,gCAAqB;IAK7B,YACI,UAAiD,EACjD,aAAqB,EACrB,WAAW,GAAG,KAAK,EACnB,kBAA4B,IAAI,EAChC,4BAAsC,IAAI;QAE1C,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QAC9E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAEQ,KAAK,CAAC,QAAQ,CAAC,UAAsB,EAAE,gBAAgB,GAAG,KAAK;QACpE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEnD,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,oBAAqB,CAAC,QAAQ,EAAE,CAAC;YACnE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,kBAAsC;QAC3E,OAAO,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC9E,CAAC;IAEQ,sBAAsB,CAAC,UAAiB;QAC7C,OAAO,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAEQ,gCAAgC,CAAC,gBAAkC;QACxE,OAAO,KAAK,CAAC,gCAAgC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,UAA6B;QAClE,OAAO,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;IAED,8CAA8C;IACrC,KAAK,CAAC,yCAAyC,CAAC,SAAoC;QACzF,OAAO,KAAK,CAAC,yCAAyC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;CACJ;AAnDD,gFAmDC"}
|
package/package.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/delegua-node",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.3",
|
|
4
4
|
"description": "Linguagem Delégua com capacidades para ecossistema Node.js.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"empacotar": "yarn rimraf ./dist && tsc && yarn copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && yarn copyfiles -V ./package.json ./dist/bin && yarn copyfiles -V ./README.md ./dist && yarn copyfiles -V ./LICENSE ./dist",
|
|
7
7
|
"testes-unitarios": "yarn jest --coverage",
|
|
8
|
-
"testes:egua": "./bin/delegua-ts exemplos/dialetos/egua-classico/testes.egua",
|
|
8
|
+
"testes:egua": "./bin/delegua-ts --dialeto egua exemplos/dialetos/egua-classico/testes.egua",
|
|
9
9
|
"testes:delegua:bhaskara": "./bin/delegua-ts exemplos/dialetos/egua-classico/bhaskara.egua",
|
|
10
10
|
"testes:delegua:fibonacci": "./bin/delegua-ts exemplos/dialetos/egua-classico/fibonacci.egua",
|
|
11
11
|
"testes:egua-classico": "./bin/delegua-ts --dialeto egua exemplos/dialetos/egua-classico/testes.egua",
|
|
12
12
|
"testes:servidor-depuracao": "yarn ts-node ./fontes/depuracao/servidor-depuracao.ts"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@designliquido/birl": "^0.2.
|
|
16
|
-
"@designliquido/delegua": "^0.
|
|
17
|
-
"@designliquido/mapler": "^0.2.
|
|
18
|
-
"@designliquido/portugol-studio": "^0.5.
|
|
19
|
-
"@designliquido/potigol": "^0.4.
|
|
20
|
-
"@designliquido/visualg": "^0.4.
|
|
15
|
+
"@designliquido/birl": "^0.2.13",
|
|
16
|
+
"@designliquido/delegua": "^0.59.1",
|
|
17
|
+
"@designliquido/mapler": "^0.2.14",
|
|
18
|
+
"@designliquido/portugol-studio": "^0.5.13",
|
|
19
|
+
"@designliquido/potigol": "^0.4.14",
|
|
20
|
+
"@designliquido/visualg": "^0.4.14",
|
|
21
21
|
"chalk": "4.1.2",
|
|
22
22
|
"commander": "^14.0.0",
|
|
23
23
|
"json-colorizer": "^3.0.1"
|