@designliquido/delegua-node 0.0.1 → 0.2.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.
Files changed (39) hide show
  1. package/README.md +9 -0
  2. package/bin/package.json +5 -3
  3. package/fontes/delegua.d.ts +4 -4
  4. package/fontes/delegua.js +10 -10
  5. package/fontes/delegua.js.map +1 -1
  6. package/fontes/depuracao/index.d.ts +1 -0
  7. package/fontes/depuracao/index.js +18 -0
  8. package/fontes/depuracao/index.js.map +1 -0
  9. package/fontes/depuracao/servidor-depuracao.d.ts +42 -0
  10. package/fontes/depuracao/servidor-depuracao.js +301 -0
  11. package/fontes/depuracao/servidor-depuracao.js.map +1 -0
  12. package/fontes/importador/importador.d.ts +27 -0
  13. package/fontes/importador/importador.js +91 -0
  14. package/fontes/importador/importador.js.map +1 -0
  15. package/fontes/importador/index.d.ts +2 -0
  16. package/fontes/importador/index.js +19 -0
  17. package/fontes/importador/index.js.map +1 -0
  18. package/fontes/importador/retorno-importador.d.ts +9 -0
  19. package/fontes/importador/retorno-importador.js +3 -0
  20. package/fontes/importador/retorno-importador.js.map +1 -0
  21. package/fontes/interfaces/delegua-interface.d.ts +24 -0
  22. package/fontes/interfaces/delegua-interface.js +3 -0
  23. package/fontes/interfaces/delegua-interface.js.map +1 -0
  24. package/fontes/interfaces/importador-interface.d.ts +8 -0
  25. package/fontes/interfaces/importador-interface.js +3 -0
  26. package/fontes/interfaces/importador-interface.js.map +1 -0
  27. package/fontes/interfaces/index.d.ts +2 -0
  28. package/fontes/interfaces/index.js +19 -0
  29. package/fontes/interfaces/index.js.map +1 -0
  30. package/fontes/interpretador/dialetos/interpretador-visualg-com-depuracao-importacao.d.ts +14 -0
  31. package/fontes/interpretador/dialetos/interpretador-visualg-com-depuracao-importacao.js +77 -0
  32. package/fontes/interpretador/dialetos/interpretador-visualg-com-depuracao-importacao.js.map +1 -0
  33. package/fontes/interpretador/interpretador-com-depuracao-importacao.d.ts +14 -0
  34. package/fontes/interpretador/interpretador-com-depuracao-importacao.js +77 -0
  35. package/fontes/interpretador/interpretador-com-depuracao-importacao.js.map +1 -0
  36. package/fontes/interpretador/interpretador.d.ts +2 -1
  37. package/fontes/interpretador/interpretador.js +2 -1
  38. package/fontes/interpretador/interpretador.js.map +1 -1
  39. package/package.json +5 -3
package/README.md CHANGED
@@ -8,6 +8,15 @@ Em versões anteriores, o suporte ao ecossistema Node vinha embutido no pacote d
8
8
 
9
9
  Como o Webpack tenta ler todas as referências de todos os módulos recursivamente, independente se estamos importando um módulo ou vários, há problemas quando tentamos importar `node:child_process` na parte de navegador de internet e as aplicações falham.
10
10
 
11
+ ### Implicações
12
+
13
+ Se sua aplicação:
14
+
15
+ - Precisa suportar importações, seja de outros fontes, seja de bibliotecas NPM
16
+ - Pode executar no ambiente Node.js
17
+
18
+ Ela pode, então, usar este pacote. Caso contrário, o uso apenas do núcleo da linguagem é uma escolha melhor.
19
+
11
20
  ## Instalação
12
21
 
13
22
  Se quiser instalar no seu computador,
package/bin/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/delegua-node",
3
- "version": "0.0.0",
3
+ "version": "0.1.0",
4
4
  "description": "Linguagem Delégua com capacidades para ecossistema Node.js.",
5
5
  "scripts": {
6
6
  "empacotar": "rimraf ./dist && tsc && copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && copyfiles -V ./package.json ./dist/bin && copyfiles -V ./README.md ./dist",
@@ -8,10 +8,11 @@
8
8
  "testes:egua": "./bin/delegua-ts 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
- "testes:egua-classico": "./bin/delegua-ts --dialeto egua exemplos/dialetos/egua-classico/testes.egua"
11
+ "testes:egua-classico": "./bin/delegua-ts --dialeto egua exemplos/dialetos/egua-classico/testes.egua",
12
+ "testes:servidor-depuracao": "ts-node ./fontes/depuracao/servidor-depuracao.ts"
12
13
  },
13
14
  "dependencies": {
14
- "@designliquido/delegua": "^0.13.2",
15
+ "@designliquido/delegua": "^0.14.2",
15
16
  "chalk": "4.1.2",
16
17
  "commander": "^9.4.1"
17
18
  },
@@ -21,6 +22,7 @@
21
22
  "@designliquido/delegua-json": "^0.0.0",
22
23
  "@designliquido/delegua-matematica": "^0.2.0",
23
24
  "@designliquido/delegua-tempo": "^0.0.1",
25
+ "@types/estree": "^1.0.0",
24
26
  "@types/jest": "^29.4.0",
25
27
  "@types/node": "^18.11.19",
26
28
  "copyfiles": "^2.4.1",
@@ -1,8 +1,8 @@
1
- import { AvaliadorSintaticoInterface, DeleguaInterface, InterpretadorInterface, LexadorInterface, RetornoExecucaoInterface, SimboloInterface } from '@designliquido/delegua/fontes/interfaces';
2
- import { ServidorDepuracao } from '@designliquido/delegua/fontes/depuracao';
3
- import { ImportadorInterface } from '@designliquido/delegua/fontes/interfaces/importador-interface';
4
- import { RetornoImportador } from '@designliquido/delegua/fontes/importador';
1
+ import { AvaliadorSintaticoInterface, InterpretadorInterface, LexadorInterface, RetornoExecucaoInterface, SimboloInterface } from '@designliquido/delegua/fontes/interfaces';
2
+ import { RetornoImportador } from './importador';
5
3
  import { TradutorJavaScript, TradutorReversoJavaScript } from '@designliquido/delegua/fontes/tradutores';
4
+ import { ServidorDepuracao } from './depuracao';
5
+ import { DeleguaInterface, ImportadorInterface } from './interfaces';
6
6
  /**
7
7
  * O núcleo da linguagem.
8
8
  *
package/fontes/delegua.js CHANGED
@@ -40,18 +40,18 @@ const lexador_egua_classico_1 = require("@designliquido/delegua/fontes/lexador/d
40
40
  const lexador_eguap_1 = require("@designliquido/delegua/fontes/lexador/dialetos/lexador-eguap");
41
41
  const avaliador_sintatico_eguap_1 = require("@designliquido/delegua/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap");
42
42
  const dialetos_1 = require("@designliquido/delegua/fontes/avaliador-sintatico/dialetos");
43
- const depuracao_1 = require("@designliquido/delegua/fontes/depuracao");
44
- const importador_1 = require("@designliquido/delegua/fontes/importador");
45
- const interpretador_com_depuracao_1 = require("@designliquido/delegua/fontes/interpretador/interpretador-com-depuracao");
43
+ const importador_1 = require("./importador");
46
44
  const lexador_visualg_1 = require("@designliquido/delegua/fontes/lexador/dialetos/lexador-visualg");
47
45
  const avaliador_sintatico_visualg_1 = require("@designliquido/delegua/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg");
48
46
  const lexador_birl_1 = require("@designliquido/delegua/fontes/lexador/dialetos/lexador-birl");
49
47
  const avaliador_sintatico_birl_1 = require("@designliquido/delegua/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl");
50
48
  const tradutores_1 = require("@designliquido/delegua/fontes/tradutores");
51
49
  const interpretador_visualg_1 = require("@designliquido/delegua/fontes/interpretador/dialetos/visualg/interpretador-visualg");
52
- const dialetos_2 = require("@designliquido/delegua/fontes/interpretador/dialetos");
53
50
  const lexador_portugol_studio_1 = require("@designliquido/delegua/fontes/lexador/dialetos/lexador-portugol-studio");
54
51
  const avaliador_sintatico_portugol_studio_1 = require("@designliquido/delegua/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio");
52
+ const depuracao_1 = require("./depuracao");
53
+ const interpretador_com_depuracao_importacao_1 = require("./interpretador/interpretador-com-depuracao-importacao");
54
+ const interpretador_visualg_com_depuracao_importacao_1 = require("./interpretador/dialetos/interpretador-visualg-com-depuracao-importacao");
55
55
  /**
56
56
  * O núcleo da linguagem.
57
57
  *
@@ -86,14 +86,14 @@ class Delegua {
86
86
  this.lexador = new lexador_egua_classico_1.LexadorEguaClassico();
87
87
  this.avaliadorSintatico = new dialetos_1.AvaliadorSintaticoEguaClassico();
88
88
  this.importador = new importador_1.Importador(this.lexador, this.avaliadorSintatico, this.arquivosAbertos, this.conteudoArquivosAbertos, depurador);
89
- this.interpretador = new interpretador_egua_classico_1.InterpretadorEguaClassico(this, process.cwd());
89
+ this.interpretador = new interpretador_egua_classico_1.InterpretadorEguaClassico(process.cwd());
90
90
  break;
91
91
  case 'eguap':
92
92
  this.lexador = new lexador_eguap_1.LexadorEguaP();
93
93
  this.avaliadorSintatico = new avaliador_sintatico_eguap_1.AvaliadorSintaticoEguaP();
94
94
  this.importador = new importador_1.Importador(this.lexador, this.avaliadorSintatico, this.arquivosAbertos, this.conteudoArquivosAbertos, depurador);
95
95
  this.interpretador = depurador
96
- ? new interpretador_com_depuracao_1.InterpretadorComDepuracao(this.importador, process.cwd(), funcaoDeRetorno)
96
+ ? new interpretador_com_depuracao_importacao_1.InterpretadorComDepuracaoImportacao(this.importador, process.cwd(), funcaoDeRetorno)
97
97
  : new interpretador_1.Interpretador(this.importador, process.cwd(), performance, funcaoDeRetorno);
98
98
  break;
99
99
  case 'portugol-studio':
@@ -101,7 +101,7 @@ class Delegua {
101
101
  this.avaliadorSintatico = new avaliador_sintatico_portugol_studio_1.AvaliadorSintaticoPortugolStudio();
102
102
  this.importador = new importador_1.Importador(this.lexador, this.avaliadorSintatico, this.arquivosAbertos, this.conteudoArquivosAbertos, depurador);
103
103
  this.interpretador = depurador
104
- ? new interpretador_com_depuracao_1.InterpretadorComDepuracao(this.importador, process.cwd(), funcaoDeRetorno)
104
+ ? new interpretador_com_depuracao_importacao_1.InterpretadorComDepuracaoImportacao(this.importador, process.cwd(), funcaoDeRetorno)
105
105
  : new interpretador_1.Interpretador(this.importador, process.cwd(), performance, funcaoDeRetorno);
106
106
  break;
107
107
  case 'visualg':
@@ -109,15 +109,15 @@ class Delegua {
109
109
  this.avaliadorSintatico = new avaliador_sintatico_visualg_1.AvaliadorSintaticoVisuAlg();
110
110
  this.importador = new importador_1.Importador(this.lexador, this.avaliadorSintatico, this.arquivosAbertos, this.conteudoArquivosAbertos, depurador);
111
111
  this.interpretador = depurador
112
- ? new dialetos_2.InterpretadorVisuAlgComDepuracao(this.importador, process.cwd(), funcaoDeRetorno)
113
- : new interpretador_visualg_1.InterpretadorVisuAlg(this.importador, process.cwd(), false, console.log);
112
+ ? new interpretador_visualg_com_depuracao_importacao_1.InterpretadorVisuAlgComDepuracaoImportacao(this.importador, process.cwd(), funcaoDeRetorno)
113
+ : new interpretador_visualg_1.InterpretadorVisuAlg(process.cwd(), false, console.log);
114
114
  break;
115
115
  default:
116
116
  this.lexador = new lexador_1.Lexador(performance);
117
117
  this.avaliadorSintatico = new avaliador_sintatico_1.AvaliadorSintatico(performance);
118
118
  this.importador = new importador_1.Importador(this.lexador, this.avaliadorSintatico, this.arquivosAbertos, this.conteudoArquivosAbertos, depurador);
119
119
  this.interpretador = depurador
120
- ? new interpretador_com_depuracao_1.InterpretadorComDepuracao(this.importador, process.cwd(), funcaoDeRetorno)
120
+ ? new interpretador_com_depuracao_importacao_1.InterpretadorComDepuracaoImportacao(this.importador, process.cwd(), funcaoDeRetorno)
121
121
  : new interpretador_1.Interpretador(this.importador, process.cwd(), performance, funcaoDeRetorno);
122
122
  break;
123
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delegua.js","sourceRoot":"","sources":["../../fontes/delegua.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegua.js","sourceRoot":"","sources":["../../fontes/delegua.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './servidor-depuracao';
@@ -0,0 +1,18 @@
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("./servidor-depuracao"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/depuracao/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC"}
@@ -0,0 +1,42 @@
1
+ /// <reference types="node" />
2
+ import * as net from 'net';
3
+ import { InterpretadorComDepuracaoInterface } from '@designliquido/delegua/fontes/interfaces';
4
+ import { DeleguaInterface } from '../interfaces';
5
+ /**
6
+ * Esta foi a primeira implementacão do mecanismo de depuração, usando comunicação por _sockets_.
7
+ * Inicialmente uma integração foi implementada na extensão do VSCode, mas o protocolo de
8
+ * comunicação nunca foi exatamente maturado, em favor de uma implementação na extensão
9
+ * usando a linguagem diretamente.
10
+ *
11
+ * Mecanismo poderá ser maturado num futuro próximo. Para mais detalhes, ler `README.md`.
12
+ */
13
+ export declare class ServidorDepuracao {
14
+ instanciaDelegua: DeleguaInterface;
15
+ servidor: net.Server;
16
+ conexoes: {
17
+ [chave: number]: any;
18
+ };
19
+ contadorConexoes: number;
20
+ interpretador: InterpretadorComDepuracaoInterface;
21
+ constructor(_instanciaDelegua: DeleguaInterface);
22
+ validarPontoParada: (caminhoArquivo: string, linha: number, conexao: net.Socket) => any;
23
+ comandoAdentrarEscopo: (conexao: net.Socket) => Promise<any>;
24
+ comandoAdicionarPontoParada: (comando: string[], conexao: net.Socket) => any;
25
+ comandoAvaliar: (comando: string[], conexao: net.Socket) => Promise<any>;
26
+ comandoAvaliarVariavel: (comando: string[], conexao: net.Socket) => Promise<any>;
27
+ comandoContinuar: (conexao: net.Socket) => Promise<any>;
28
+ comandoPilhaExecucao: (conexao: net.Socket) => any;
29
+ comandoPontosParada: (conexao: net.Socket) => any;
30
+ comandoProximo: (conexao: net.Socket) => Promise<any>;
31
+ comandoRemoverPontoParada: (comando: string[], conexao: net.Socket) => any;
32
+ comandoSairEscopo: (conexao: net.Socket) => Promise<any>;
33
+ comandoVariaveis: (conexao: net.Socket) => any;
34
+ /**
35
+ * Função que descreve como conexão com clientes de depuração deve ser operada.
36
+ * @param conexao Instância de conexão, tipo net.Socket.
37
+ */
38
+ operarConexao: (conexao: net.Socket) => void;
39
+ iniciarServidorDepuracao(): net.AddressInfo;
40
+ escreverSaidaParaTodosClientes(mensagem: string): void;
41
+ finalizarServidorDepuracao(): void;
42
+ }
@@ -0,0 +1,301 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.ServidorDepuracao = void 0;
30
+ const net = __importStar(require("net"));
31
+ const cyrb53_1 = __importDefault(require("@designliquido/delegua/fontes/depuracao/cyrb53"));
32
+ /**
33
+ * Esta foi a primeira implementacão do mecanismo de depuração, usando comunicação por _sockets_.
34
+ * Inicialmente uma integração foi implementada na extensão do VSCode, mas o protocolo de
35
+ * comunicação nunca foi exatamente maturado, em favor de uma implementação na extensão
36
+ * usando a linguagem diretamente.
37
+ *
38
+ * Mecanismo poderá ser maturado num futuro próximo. Para mais detalhes, ler `README.md`.
39
+ */
40
+ class ServidorDepuracao {
41
+ constructor(_instanciaDelegua) {
42
+ this.validarPontoParada = (caminhoArquivo, linha, conexao) => {
43
+ const hashArquivo = (0, cyrb53_1.default)(caminhoArquivo.toLowerCase());
44
+ if (!this.instanciaDelegua.arquivosAbertos.hasOwnProperty(hashArquivo)) {
45
+ conexao.write(`[adicionar-ponto-parada]: Arquivo '${caminhoArquivo}' não encontrado\n`);
46
+ return { sucesso: false };
47
+ }
48
+ if (this.instanciaDelegua.conteudoArquivosAbertos[hashArquivo].length < linha) {
49
+ conexao.write(`[adicionar-ponto-parada]: Linha ${linha} não existente em arquivo '${caminhoArquivo}'\n`);
50
+ return { sucesso: false };
51
+ }
52
+ return { sucesso: true, hashArquivo, linha };
53
+ };
54
+ this.comandoAdentrarEscopo = async (conexao) => {
55
+ let linhasResposta = '';
56
+ linhasResposta += "Recebido comando 'adentrar-escopo'\n";
57
+ linhasResposta += '--- adentrar-escopo-resposta ---\n';
58
+ this.interpretador.comando = 'adentrarEscopo';
59
+ this.interpretador.pontoDeParadaAtivo = false;
60
+ await this.interpretador.instrucaoPasso();
61
+ conexao.write(linhasResposta);
62
+ };
63
+ this.comandoAdicionarPontoParada = (comando, conexao) => {
64
+ conexao.write("Recebido comando 'adicionar-ponto-parada'\n");
65
+ if (comando.length < 3) {
66
+ conexao.write(`[adicionar-ponto-parada]: Formato: adicionar-ponto-parada /caminho/do/arquivo.egua 1\n`);
67
+ return;
68
+ }
69
+ const validacaoPontoParada = this.validarPontoParada(comando[1], parseInt(comando[2]), conexao);
70
+ if (validacaoPontoParada.sucesso) {
71
+ this.interpretador.pontosParada.push({
72
+ hashArquivo: validacaoPontoParada.hashArquivo,
73
+ linha: validacaoPontoParada.linha,
74
+ });
75
+ }
76
+ };
77
+ this.comandoAvaliar = async (comando, conexao) => {
78
+ let linhasResposta = '';
79
+ comando.shift();
80
+ const expressaoAvaliar = comando.join(' ');
81
+ let retornoInterpretacao;
82
+ let resultadoInterpretacao;
83
+ try {
84
+ retornoInterpretacao = await this.instanciaDelegua.executarUmaLinha(expressaoAvaliar);
85
+ resultadoInterpretacao = retornoInterpretacao.resultado;
86
+ }
87
+ catch (erro) {
88
+ resultadoInterpretacao = [String(erro)];
89
+ }
90
+ linhasResposta += "Recebido comando 'avaliar'\n";
91
+ linhasResposta += '--- avaliar-resposta ---\n';
92
+ linhasResposta += JSON.stringify(resultadoInterpretacao[0]) + '\n';
93
+ linhasResposta += '--- fim-avaliar-resposta ---\n';
94
+ conexao.write(linhasResposta);
95
+ };
96
+ this.comandoAvaliarVariavel = async (comando, conexao) => {
97
+ let linhasResposta = '';
98
+ comando.shift();
99
+ const nomeVariavel = comando.join(' ');
100
+ linhasResposta += "Recebido comando 'avaliar-variavel'\n";
101
+ linhasResposta += '--- avaliar-variavel-resposta ---\n';
102
+ try {
103
+ linhasResposta += JSON.stringify(this.interpretador.obterVariavel(nomeVariavel)) + '\n';
104
+ }
105
+ catch (erro) {
106
+ linhasResposta += String(erro) + '\n';
107
+ }
108
+ linhasResposta += '--- fim-avaliar-variavel-resposta ---\n';
109
+ conexao.write(linhasResposta);
110
+ };
111
+ this.comandoContinuar = async (conexao) => {
112
+ let linhasResposta = '';
113
+ linhasResposta += "Recebido comando 'continuar'\n";
114
+ this.interpretador.pontoDeParadaAtivo = false;
115
+ await this.interpretador.instrucaoContinuarInterpretacao();
116
+ linhasResposta += '--- continuar-resposta ---\n';
117
+ conexao.write(linhasResposta);
118
+ };
119
+ this.comandoPilhaExecucao = (conexao) => {
120
+ let linhasResposta = '';
121
+ linhasResposta += "Recebido comando 'pilha-execucao'\n";
122
+ const pilhaEscoposExecucao = this.interpretador.pilhaEscoposExecucao;
123
+ linhasResposta += '--- pilha-execucao-resposta ---\n';
124
+ try {
125
+ for (let i = pilhaEscoposExecucao.pilha.length - 1; i > 0; i--) {
126
+ const elementoPilha = pilhaEscoposExecucao.pilha[i];
127
+ const posicaoDeclaracaoAtual = elementoPilha.declaracaoAtual >= elementoPilha.declaracoes.length
128
+ ? elementoPilha.declaracoes.length - 1
129
+ : elementoPilha.declaracaoAtual;
130
+ const declaracaoAtual = elementoPilha.declaracoes[posicaoDeclaracaoAtual];
131
+ linhasResposta +=
132
+ this.instanciaDelegua.conteudoArquivosAbertos[declaracaoAtual.hashArquivo][declaracaoAtual.linha - 1].trim() +
133
+ ' --- ' +
134
+ this.instanciaDelegua.arquivosAbertos[declaracaoAtual.hashArquivo] +
135
+ '::' +
136
+ declaracaoAtual.assinaturaMetodo +
137
+ '::' +
138
+ declaracaoAtual.linha +
139
+ '\n';
140
+ }
141
+ linhasResposta += '--- fim-pilha-execucao-resposta ---\n';
142
+ conexao.write(linhasResposta);
143
+ }
144
+ catch (erro) {
145
+ conexao.write(erro + '\n');
146
+ }
147
+ };
148
+ this.comandoPontosParada = (conexao) => {
149
+ let linhasResposta = '';
150
+ linhasResposta += "Recebido comando 'pontos-parada'\n";
151
+ for (const pontoParada of this.interpretador.pontosParada) {
152
+ linhasResposta +=
153
+ this.instanciaDelegua.arquivosAbertos[pontoParada.hashArquivo] + ': ' + pontoParada.linha + '\n';
154
+ }
155
+ conexao.write(linhasResposta);
156
+ };
157
+ this.comandoProximo = async (conexao) => {
158
+ let linhasResposta = '';
159
+ linhasResposta += "Recebido comando 'proximo'\n";
160
+ linhasResposta += '--- proximo-resposta ---\n';
161
+ this.interpretador.comando = 'proximo';
162
+ this.interpretador.pontoDeParadaAtivo = false;
163
+ try {
164
+ await this.interpretador.instrucaoPasso();
165
+ }
166
+ catch (erro) {
167
+ console.error(erro);
168
+ }
169
+ conexao.write(linhasResposta);
170
+ };
171
+ this.comandoRemoverPontoParada = (comando, conexao) => {
172
+ let linhasResposta = '';
173
+ linhasResposta += "Recebido comando 'remover-ponto-parada'\n";
174
+ if (comando.length < 3) {
175
+ linhasResposta += `[adicionar-ponto-parada]: Formato: adicionar-ponto-parada /caminho/do/arquivo.egua 1\n`;
176
+ conexao.write(linhasResposta);
177
+ return;
178
+ }
179
+ const validacaoPontoParada = this.validarPontoParada(comando[1], parseInt(comando[2]), conexao);
180
+ if (validacaoPontoParada.sucesso) {
181
+ this.interpretador.pontosParada = this.interpretador.pontosParada.filter((p) => p.hashArquivo !== validacaoPontoParada.hashArquivo && p.linha !== validacaoPontoParada.linha);
182
+ }
183
+ };
184
+ this.comandoSairEscopo = async (conexao) => {
185
+ let linhasResposta = '';
186
+ linhasResposta += "Recebido comando 'sair-escopo'\n";
187
+ this.interpretador.pontoDeParadaAtivo = false;
188
+ await this.interpretador.instrucaoProximoESair();
189
+ linhasResposta += '--- sair-escopo-resposta ---\n';
190
+ conexao.write(linhasResposta);
191
+ };
192
+ this.comandoVariaveis = (conexao) => {
193
+ let linhasResposta = '';
194
+ linhasResposta += "Recebido comando 'variaveis'. Enviando variáveis do escopo atual\n";
195
+ const todasVariaveis = this.interpretador.pilhaEscoposExecucao.obterTodasVariaveis([]);
196
+ linhasResposta += '--- variaveis-resposta ---\n';
197
+ for (const variavel of todasVariaveis) {
198
+ linhasResposta += variavel.nome + ' :: ' + variavel.tipo + ' :: ' + variavel.valor + '\n';
199
+ }
200
+ linhasResposta += '--- fim-variaveis-resposta ---\n';
201
+ conexao.write(linhasResposta);
202
+ };
203
+ /**
204
+ * Função que descreve como conexão com clientes de depuração deve ser operada.
205
+ * @param conexao Instância de conexão, tipo net.Socket.
206
+ */
207
+ this.operarConexao = (conexao) => {
208
+ const enderecoRemoto = conexao.remoteAddress + ':' + conexao.remotePort;
209
+ process.stdout.write('\n[Depurador] Nova conexão de cliente de ' + enderecoRemoto + '\ndelegua> ');
210
+ conexao.setEncoding('utf8');
211
+ this.conexoes[this.contadorConexoes++] = conexao;
212
+ // Aqui, dados pode ter uma série de comandos, sendo um por linha.
213
+ const aoReceberDados = (dados) => {
214
+ const comandos = String(dados).split('\n');
215
+ process.stdout.write('\n[Depurador] Dados da conexão vindos de ' + enderecoRemoto + ': ' + comandos + '\ndelegua> ');
216
+ for (const comando of comandos) {
217
+ const partesComando = comando.split(' ');
218
+ switch (partesComando[0]) {
219
+ case 'adentrar-escopo':
220
+ this.comandoAdentrarEscopo(conexao);
221
+ break;
222
+ case 'adicionar-ponto-parada':
223
+ this.comandoAdicionarPontoParada(partesComando, conexao);
224
+ break;
225
+ case 'avaliar':
226
+ this.comandoAvaliar(partesComando, conexao);
227
+ break;
228
+ case 'avaliar-variavel':
229
+ this.comandoAvaliarVariavel(partesComando, conexao);
230
+ break;
231
+ case 'continuar':
232
+ this.comandoContinuar(conexao);
233
+ break;
234
+ case 'pilha-execucao':
235
+ this.comandoPilhaExecucao(conexao);
236
+ break;
237
+ case 'pontos-parada':
238
+ this.comandoPontosParada(conexao);
239
+ break;
240
+ case 'proximo':
241
+ this.comandoProximo(conexao);
242
+ break;
243
+ case 'remover-ponto-parada':
244
+ this.comandoRemoverPontoParada(partesComando, conexao);
245
+ break;
246
+ case 'sair-escopo':
247
+ this.comandoSairEscopo(conexao);
248
+ break;
249
+ case 'tchau':
250
+ conexao.write("Recebido comando 'tchau'. Conexão será encerrada\n");
251
+ this.finalizarServidorDepuracao();
252
+ return;
253
+ case 'variaveis':
254
+ this.comandoVariaveis(conexao);
255
+ break;
256
+ }
257
+ }
258
+ };
259
+ const aoFecharConexao = () => {
260
+ process.stdout.write('\n[Depurador] Conexão de ' + enderecoRemoto + ' fechada\ndelegua> ');
261
+ };
262
+ const aoObterErro = (erro) => {
263
+ process.stdout.write('\n[Depurador] Conexão ' + enderecoRemoto + ' com erro: ' + erro.message + '\ndelegua> ');
264
+ };
265
+ // `.bind()` é necessário aqui para que os eventos não usem net.Socket ou net.Server como o `this`,
266
+ // como acontece normalmente se o `.bind()` não é chamado.
267
+ conexao.on('data', aoReceberDados.bind(this));
268
+ conexao.once('close', aoFecharConexao.bind(this));
269
+ conexao.on('error', aoObterErro.bind(this));
270
+ };
271
+ this.instanciaDelegua = _instanciaDelegua;
272
+ this.instanciaDelegua.funcaoDeRetorno = this.escreverSaidaParaTodosClientes.bind(this);
273
+ this.interpretador = this.instanciaDelegua.interpretador;
274
+ this.interpretador.funcaoDeRetorno = this.escreverSaidaParaTodosClientes.bind(this);
275
+ this.servidor = net.createServer();
276
+ this.conexoes = {};
277
+ this.contadorConexoes = 0;
278
+ this.operarConexao.bind(this);
279
+ }
280
+ iniciarServidorDepuracao() {
281
+ // É necessário mudar o `this` aqui por `.bind()`, senão `this` será net.Server dentro dos métodos.
282
+ this.servidor.on('connection', this.operarConexao.bind(this));
283
+ this.servidor.listen(7777);
284
+ process.stdout.write('\n[Depurador] Servidor de depuração iniciado na porta 7777');
285
+ return this.servidor.address();
286
+ }
287
+ escreverSaidaParaTodosClientes(mensagem) {
288
+ Object.keys(this.conexoes).forEach((chave) => {
289
+ this.conexoes[chave].write('Enviando mensagem de saída\n--- mensagem-saida ---\n' + mensagem + '\n');
290
+ });
291
+ }
292
+ finalizarServidorDepuracao() {
293
+ Object.keys(this.conexoes).forEach((chave) => {
294
+ this.conexoes[chave].write('--- finalizando ---\n');
295
+ this.conexoes[chave].end();
296
+ });
297
+ this.servidor.close();
298
+ }
299
+ }
300
+ exports.ServidorDepuracao = ServidorDepuracao;
301
+ //# sourceMappingURL=servidor-depuracao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"servidor-depuracao.js","sourceRoot":"","sources":["../../../fontes/depuracao/servidor-depuracao.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { AvaliadorSintaticoInterface, LexadorInterface } from '@designliquido/delegua/fontes/interfaces';
2
+ import { RetornoImportador } from './retorno-importador';
3
+ import { ImportadorInterface } from '../interfaces';
4
+ /**
5
+ * O Importador é responsável por manusear arquivos. Coordena as fases de lexação, avaliação sintática,
6
+ * cataloga informações do arquivo no núcleo da linguagem (através das referências `arquivosAbertos` e
7
+ * `conteudoArquivosAbertos`) e aponta erros caso ocorram.
8
+ *
9
+ */
10
+ export declare class Importador implements ImportadorInterface {
11
+ diretorioBase: string;
12
+ lexador: LexadorInterface;
13
+ avaliadorSintatico: AvaliadorSintaticoInterface;
14
+ arquivosAbertos: {
15
+ [identificador: string]: string;
16
+ };
17
+ conteudoArquivosAbertos: {
18
+ [identificador: string]: string[];
19
+ };
20
+ depuracao: boolean;
21
+ constructor(lexador: LexadorInterface, avaliadorSintatico: AvaliadorSintaticoInterface, arquivosAbertos: {
22
+ [identificador: string]: string;
23
+ }, conteudoArquivosAbertos: {
24
+ [identificador: string]: string[];
25
+ }, depuracao: boolean);
26
+ importar(caminhoRelativoArquivo: string, importacaoInicial?: boolean, traduzirJavaScriptParaDelegua?: boolean): RetornoImportador;
27
+ }
@@ -0,0 +1,91 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Importador = void 0;
30
+ const sistemaArquivos = __importStar(require("fs"));
31
+ const caminho = __importStar(require("path"));
32
+ const sistemaOperacional = __importStar(require("os"));
33
+ const cyrb53_1 = __importDefault(require("@designliquido/delegua/fontes/depuracao/cyrb53"));
34
+ /**
35
+ * O Importador é responsável por manusear arquivos. Coordena as fases de lexação, avaliação sintática,
36
+ * cataloga informações do arquivo no núcleo da linguagem (através das referências `arquivosAbertos` e
37
+ * `conteudoArquivosAbertos`) e aponta erros caso ocorram.
38
+ *
39
+ */
40
+ class Importador {
41
+ constructor(lexador, avaliadorSintatico, arquivosAbertos, conteudoArquivosAbertos, depuracao) {
42
+ this.diretorioBase = process.cwd();
43
+ this.lexador = lexador;
44
+ this.avaliadorSintatico = avaliadorSintatico;
45
+ this.arquivosAbertos = arquivosAbertos;
46
+ this.conteudoArquivosAbertos = conteudoArquivosAbertos;
47
+ this.depuracao = depuracao;
48
+ }
49
+ importar(caminhoRelativoArquivo, importacaoInicial = false, traduzirJavaScriptParaDelegua = false) {
50
+ const nomeArquivo = caminho.basename(caminhoRelativoArquivo);
51
+ let caminhoAbsolutoArquivo = caminho.resolve(this.diretorioBase, caminhoRelativoArquivo);
52
+ if (importacaoInicial) {
53
+ caminhoAbsolutoArquivo = caminho.resolve(caminhoRelativoArquivo);
54
+ }
55
+ const hashArquivo = (0, cyrb53_1.default)(caminhoAbsolutoArquivo.toLowerCase());
56
+ if (!sistemaArquivos.existsSync(nomeArquivo)) {
57
+ // TODO: Terminar.
58
+ /* throw new ErroEmTempoDeExecucao(
59
+ declaracao.simboloFechamento,
60
+ 'Não foi possível encontrar arquivo importado.',
61
+ declaracao.linha
62
+ ); */
63
+ }
64
+ const dadosDoArquivo = sistemaArquivos.readFileSync(caminhoAbsolutoArquivo);
65
+ const conteudoDoArquivo = dadosDoArquivo.toString().replace(sistemaOperacional.EOL, '\n').split('\n');
66
+ if (traduzirJavaScriptParaDelegua) {
67
+ return {
68
+ conteudoArquivo: conteudoDoArquivo,
69
+ nomeArquivo,
70
+ hashArquivo,
71
+ };
72
+ }
73
+ for (let linha = 0; linha < conteudoDoArquivo.length; linha++) {
74
+ conteudoDoArquivo[linha] += '\0';
75
+ }
76
+ const retornoLexador = this.lexador.mapear(conteudoDoArquivo, hashArquivo);
77
+ const retornoAvaliadorSintatico = this.avaliadorSintatico.analisar(retornoLexador, hashArquivo);
78
+ this.arquivosAbertos[hashArquivo] = caminho.resolve(caminhoRelativoArquivo);
79
+ if (this.depuracao) {
80
+ this.conteudoArquivosAbertos[hashArquivo] = conteudoDoArquivo;
81
+ }
82
+ return {
83
+ nomeArquivo,
84
+ hashArquivo,
85
+ retornoLexador,
86
+ retornoAvaliadorSintatico,
87
+ };
88
+ }
89
+ }
90
+ exports.Importador = Importador;
91
+ //# sourceMappingURL=importador.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importador.js","sourceRoot":"","sources":["../../../fontes/importador/importador.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AACtC,8CAAgC;AAChC,uDAAyC;AAEzC,4FAAoE;AAOpE;;;;;GAKG;AACH,MAAa,UAAU;IAQnB,YACI,OAAyB,EACzB,kBAA+C,EAC/C,eAAoD,EACpD,uBAA8D,EAC9D,SAAkB;QAZtB,kBAAa,GAAW,OAAO,CAAC,GAAG,EAAE,CAAC;QAclC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,QAAQ,CACJ,sBAA8B,EAC9B,oBAA6B,KAAK,EAClC,gCAAyC,KAAK;QAE9C,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAC7D,IAAI,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;QACzF,IAAI,iBAAiB,EAAE;YACnB,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;SACpE;QAED,MAAM,WAAW,GAAG,IAAA,gBAAM,EAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,CAAC;QAEjE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;YAC1C,kBAAkB;YAClB;;;;iBAIK;SACR;QAED,MAAM,cAAc,GAAW,eAAe,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;QACpF,MAAM,iBAAiB,GAAa,cAAc,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhH,IAAI,6BAA6B,EAAE;YAC/B,OAAO;gBACH,eAAe,EAAE,iBAAiB;gBAClC,WAAW;gBACX,WAAW;aACO,CAAC;SAC1B;QAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC3D,iBAAiB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;SACpC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;QAC3E,MAAM,yBAAyB,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAChG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE5E,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,GAAG,iBAAiB,CAAC;SACjE;QAED,OAAO;YACH,WAAW;YACX,WAAW;YACX,cAAc;YACd,yBAAyB;SACP,CAAC;IAC3B,CAAC;CACJ;AA1ED,gCA0EC"}
@@ -0,0 +1,2 @@
1
+ export * from './importador';
2
+ export * from './retorno-importador';
@@ -0,0 +1,19 @@
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("./importador"), exports);
18
+ __exportStar(require("./retorno-importador"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/importador/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,uDAAqC"}
@@ -0,0 +1,9 @@
1
+ import { RetornoAvaliadorSintatico } from '@designliquido/delegua/fontes/interfaces/retornos/retorno-avaliador-sintatico';
2
+ import { RetornoLexador } from '@designliquido/delegua/fontes/interfaces/retornos/retorno-lexador';
3
+ export interface RetornoImportador {
4
+ conteudoArquivo: string[];
5
+ nomeArquivo: string;
6
+ hashArquivo: number;
7
+ retornoLexador: RetornoLexador;
8
+ retornoAvaliadorSintatico: RetornoAvaliadorSintatico;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=retorno-importador.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retorno-importador.js","sourceRoot":"","sources":["../../../fontes/importador/retorno-importador.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import { RetornoImportador } from '../importador';
2
+ import { AvaliadorSintaticoInterface, InterpretadorComDepuracaoInterface, InterpretadorInterface, LexadorInterface, RetornoExecucaoInterface, SimboloInterface } from '@designliquido/delegua/fontes/interfaces';
3
+ import { ImportadorInterface } from './importador-interface';
4
+ export interface DeleguaInterface {
5
+ dialeto: string;
6
+ arquivosAbertos: {
7
+ [identificador: string]: string;
8
+ };
9
+ conteudoArquivosAbertos: {
10
+ [identificador: string]: string[];
11
+ };
12
+ funcaoDeRetorno: Function;
13
+ interpretador: InterpretadorInterface | InterpretadorComDepuracaoInterface;
14
+ lexador: LexadorInterface;
15
+ avaliadorSintatico: AvaliadorSintaticoInterface;
16
+ importador: ImportadorInterface;
17
+ versao(): string;
18
+ carregarArquivo(caminhoRelativoArquivo: string): void;
19
+ executar(retornoImportador: RetornoImportador): Promise<RetornoExecucaoInterface>;
20
+ executarUmaLinha(linha: string): Promise<RetornoExecucaoInterface>;
21
+ reportar(linha: number, onde: any, mensagem: string): void;
22
+ erro(simbolo: SimboloInterface, mensagemDeErro: string): void;
23
+ erroEmTempoDeExecucao(erro: any): void;
24
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=delegua-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegua-interface.js","sourceRoot":"","sources":["../../../fontes/interfaces/delegua-interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { RetornoImportador } from '../importador';
2
+ export interface ImportadorInterface {
3
+ diretorioBase: string;
4
+ conteudoArquivosAbertos: {
5
+ [identificador: string]: string[];
6
+ };
7
+ importar(caminhoRelativoArquivo: string, importacaoInicial: boolean, traduzirJavaScriptParaDelegua: boolean): RetornoImportador;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=importador-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importador-interface.js","sourceRoot":"","sources":["../../../fontes/interfaces/importador-interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './delegua-interface';
2
+ export * from './importador-interface';
@@ -0,0 +1,19 @@
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("./delegua-interface"), exports);
18
+ __exportStar(require("./importador-interface"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,yDAAuC"}
@@ -0,0 +1,14 @@
1
+ import { Importar } from "@designliquido/delegua/fontes/declaracoes";
2
+ import { DeleguaModulo } from "@designliquido/delegua/fontes/estruturas";
3
+ import { InterpretadorVisuAlgComDepuracao } from "@designliquido/delegua/fontes/interpretador/dialetos";
4
+ import { ImportadorInterface } from "../../interfaces";
5
+ export declare class InterpretadorVisuAlgComDepuracaoImportacao extends InterpretadorVisuAlgComDepuracao {
6
+ importador: ImportadorInterface;
7
+ constructor(importador: ImportadorInterface, diretorioBase: string, funcaoDeRetorno: Function);
8
+ /**
9
+ * Importa um arquivo como módulo.
10
+ * @param declaracao A declaração de importação.
11
+ * @returns Ou um `DeleguaModulo`, ou um dicionário de funções.
12
+ */
13
+ visitarDeclaracaoImportar(declaracao: Importar): Promise<DeleguaModulo>;
14
+ }
@@ -0,0 +1,77 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.InterpretadorVisuAlgComDepuracaoImportacao = void 0;
30
+ const caminho = __importStar(require("node:path"));
31
+ const estruturas_1 = require("@designliquido/delegua/fontes/estruturas");
32
+ const dialetos_1 = require("@designliquido/delegua/fontes/interpretador/dialetos");
33
+ const mecanismo_importacao_bibliotecas_1 = __importDefault(require("../mecanismo-importacao-bibliotecas"));
34
+ class InterpretadorVisuAlgComDepuracaoImportacao extends dialetos_1.InterpretadorVisuAlgComDepuracao {
35
+ constructor(importador, diretorioBase, funcaoDeRetorno) {
36
+ super(diretorioBase, funcaoDeRetorno);
37
+ this.importador = importador;
38
+ }
39
+ /**
40
+ * Importa um arquivo como módulo.
41
+ * @param declaracao A declaração de importação.
42
+ * @returns Ou um `DeleguaModulo`, ou um dicionário de funções.
43
+ */
44
+ async visitarDeclaracaoImportar(declaracao) {
45
+ const caminhoRelativo = await this.avaliar(declaracao.caminho);
46
+ const caminhoTotal = caminho.join(this.diretorioBase, caminhoRelativo);
47
+ const nomeArquivo = caminho.basename(caminhoTotal);
48
+ if (!caminhoTotal.endsWith('.delegua')) {
49
+ try {
50
+ return await (0, mecanismo_importacao_bibliotecas_1.default)(caminhoRelativo);
51
+ }
52
+ catch (erro) {
53
+ this.erros.push(erro);
54
+ return null;
55
+ }
56
+ }
57
+ const conteudoImportacao = this.importador.importar(caminhoRelativo, false, false);
58
+ const retornoInterpretador = await this.interpretar(conteudoImportacao.retornoAvaliadorSintatico.declaracoes, true);
59
+ const funcoesChamaveis = this.pilhaEscoposExecucao.obterTodasDeleguaFuncao();
60
+ const declaracoesClasse = this.pilhaEscoposExecucao.obterTodasDeclaracaoClasse();
61
+ if (declaracoesClasse.hasOwnProperty('super')) {
62
+ delete declaracoesClasse['super'];
63
+ }
64
+ const novoModulo = new estruturas_1.DeleguaModulo();
65
+ const chavesFuncoesChamaveis = Object.keys(funcoesChamaveis);
66
+ for (let i = 0; i < chavesFuncoesChamaveis.length; i++) {
67
+ novoModulo.componentes[chavesFuncoesChamaveis[i]] = funcoesChamaveis[chavesFuncoesChamaveis[i]];
68
+ }
69
+ const chavesDeclaracoesClasse = Object.keys(declaracoesClasse);
70
+ for (let i = 0; i < chavesDeclaracoesClasse.length; i++) {
71
+ novoModulo.componentes[chavesDeclaracoesClasse[i]] = declaracoesClasse[chavesDeclaracoesClasse[i]];
72
+ }
73
+ return novoModulo;
74
+ }
75
+ }
76
+ exports.InterpretadorVisuAlgComDepuracaoImportacao = InterpretadorVisuAlgComDepuracaoImportacao;
77
+ //# sourceMappingURL=interpretador-visualg-com-depuracao-importacao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpretador-visualg-com-depuracao-importacao.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/interpretador-visualg-com-depuracao-importacao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAqC;AAGrC,yEAAyE;AACzE,mFAAwG;AAGxG,2GAAyE;AAEzE,MAAa,0CAA2C,SAAQ,2CAAgC;IAG5F,YACI,UAA+B,EAC/B,aAAqB,EACrB,eAAyB;QAEzB,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,yBAAyB,CAAC,UAAoB;QAChD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACpC,IAAI;gBACA,OAAO,MAAM,IAAA,0CAAsB,EAAC,eAAe,CAAC,CAAC;aACxD;YAAC,OAAO,IAAS,EAAE;gBAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;aACf;SACJ;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACnF,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,WAAW,CAC/C,kBAAkB,CAAC,yBAAyB,CAAC,WAAW,EACxD,IAAI,CACP,CAAC;QAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,CAAC;QAE7E,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,0BAA0B,EAAE,CAAC;QAEjF,IAAI,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YAC3C,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACrC;QAED,MAAM,UAAU,GAAG,IAAI,0BAAa,EAAE,CAAC;QAEvC,MAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,UAAU,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;SACnG;QAED,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrD,UAAU,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;SACtG;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AA3DD,gGA2DC"}
@@ -0,0 +1,14 @@
1
+ import { Importar } from "@designliquido/delegua/fontes/declaracoes";
2
+ import { DeleguaModulo } from "@designliquido/delegua/fontes/estruturas";
3
+ import { InterpretadorComDepuracao } from "@designliquido/delegua/fontes/interpretador";
4
+ import { ImportadorInterface } from "../interfaces";
5
+ export declare class InterpretadorComDepuracaoImportacao extends InterpretadorComDepuracao {
6
+ importador: ImportadorInterface;
7
+ constructor(importador: ImportadorInterface, diretorioBase: string, funcaoDeRetorno: Function);
8
+ /**
9
+ * Importa um arquivo como módulo.
10
+ * @param declaracao A declaração de importação.
11
+ * @returns Ou um `DeleguaModulo`, ou um dicionário de funções.
12
+ */
13
+ visitarDeclaracaoImportar(declaracao: Importar): Promise<DeleguaModulo>;
14
+ }
@@ -0,0 +1,77 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.InterpretadorComDepuracaoImportacao = void 0;
30
+ const caminho = __importStar(require("node:path"));
31
+ const estruturas_1 = require("@designliquido/delegua/fontes/estruturas");
32
+ const interpretador_1 = require("@designliquido/delegua/fontes/interpretador");
33
+ const mecanismo_importacao_bibliotecas_1 = __importDefault(require("./mecanismo-importacao-bibliotecas"));
34
+ class InterpretadorComDepuracaoImportacao extends interpretador_1.InterpretadorComDepuracao {
35
+ constructor(importador, diretorioBase, funcaoDeRetorno) {
36
+ super(diretorioBase, funcaoDeRetorno);
37
+ this.importador = importador;
38
+ }
39
+ /**
40
+ * Importa um arquivo como módulo.
41
+ * @param declaracao A declaração de importação.
42
+ * @returns Ou um `DeleguaModulo`, ou um dicionário de funções.
43
+ */
44
+ async visitarDeclaracaoImportar(declaracao) {
45
+ const caminhoRelativo = await this.avaliar(declaracao.caminho);
46
+ const caminhoTotal = caminho.join(this.diretorioBase, caminhoRelativo);
47
+ const nomeArquivo = caminho.basename(caminhoTotal);
48
+ if (!caminhoTotal.endsWith('.delegua')) {
49
+ try {
50
+ return await (0, mecanismo_importacao_bibliotecas_1.default)(caminhoRelativo);
51
+ }
52
+ catch (erro) {
53
+ this.erros.push(erro);
54
+ return null;
55
+ }
56
+ }
57
+ const conteudoImportacao = this.importador.importar(caminhoRelativo, false, false);
58
+ const retornoInterpretador = await this.interpretar(conteudoImportacao.retornoAvaliadorSintatico.declaracoes, true);
59
+ const funcoesChamaveis = this.pilhaEscoposExecucao.obterTodasDeleguaFuncao();
60
+ const declaracoesClasse = this.pilhaEscoposExecucao.obterTodasDeclaracaoClasse();
61
+ if (declaracoesClasse.hasOwnProperty('super')) {
62
+ delete declaracoesClasse['super'];
63
+ }
64
+ const novoModulo = new estruturas_1.DeleguaModulo();
65
+ const chavesFuncoesChamaveis = Object.keys(funcoesChamaveis);
66
+ for (let i = 0; i < chavesFuncoesChamaveis.length; i++) {
67
+ novoModulo.componentes[chavesFuncoesChamaveis[i]] = funcoesChamaveis[chavesFuncoesChamaveis[i]];
68
+ }
69
+ const chavesDeclaracoesClasse = Object.keys(declaracoesClasse);
70
+ for (let i = 0; i < chavesDeclaracoesClasse.length; i++) {
71
+ novoModulo.componentes[chavesDeclaracoesClasse[i]] = declaracoesClasse[chavesDeclaracoesClasse[i]];
72
+ }
73
+ return novoModulo;
74
+ }
75
+ }
76
+ exports.InterpretadorComDepuracaoImportacao = InterpretadorComDepuracaoImportacao;
77
+ //# sourceMappingURL=interpretador-com-depuracao-importacao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpretador-com-depuracao-importacao.js","sourceRoot":"","sources":["../../../fontes/interpretador/interpretador-com-depuracao-importacao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAqC;AAGrC,yEAAyE;AACzE,+EAAwF;AAGxF,0GAAwE;AAExE,MAAa,mCAAoC,SAAQ,yCAAyB;IAG9E,YACI,UAA+B,EAC/B,aAAqB,EACrB,eAAyB;QAEzB,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,yBAAyB,CAAC,UAAoB;QAChD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACpC,IAAI;gBACA,OAAO,MAAM,IAAA,0CAAsB,EAAC,eAAe,CAAC,CAAC;aACxD;YAAC,OAAO,IAAS,EAAE;gBAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;aACf;SACJ;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACnF,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,WAAW,CAC/C,kBAAkB,CAAC,yBAAyB,CAAC,WAAW,EACxD,IAAI,CACP,CAAC;QAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,CAAC;QAE7E,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,0BAA0B,EAAE,CAAC;QAEjF,IAAI,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YAC3C,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACrC;QAED,MAAM,UAAU,GAAG,IAAI,0BAAa,EAAE,CAAC;QAEvC,MAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,UAAU,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;SACnG;QAED,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrD,UAAU,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;SACtG;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AA3DD,kFA2DC"}
@@ -1,12 +1,13 @@
1
1
  import { Importar } from '@designliquido/delegua/fontes/declaracoes';
2
2
  import { DeleguaModulo } from '@designliquido/delegua/fontes/estruturas';
3
- import { ImportadorInterface } from '@designliquido/delegua/fontes/interfaces/importador-interface';
3
+ import { ImportadorInterface } from '../interfaces/importador-interface';
4
4
  import { InterpretadorBase } from '@designliquido/delegua/fontes/interpretador/interpretador-base';
5
5
  /**
6
6
  * O Interpretador visita todos os elementos complexos gerados pelo avaliador sintático (_parser_),
7
7
  * e de fato executa a lógica de programação descrita no código.
8
8
  */
9
9
  export declare class Interpretador extends InterpretadorBase {
10
+ importador: ImportadorInterface;
10
11
  constructor(importador: ImportadorInterface, diretorioBase: string, performance?: boolean, funcaoDeRetorno?: Function);
11
12
  /**
12
13
  * Importa um arquivo como módulo.
@@ -37,7 +37,8 @@ const mecanismo_importacao_bibliotecas_1 = __importDefault(require("./mecanismo-
37
37
  */
38
38
  class Interpretador extends interpretador_base_1.InterpretadorBase {
39
39
  constructor(importador, diretorioBase, performance = false, funcaoDeRetorno = null) {
40
- super(importador, diretorioBase, performance, funcaoDeRetorno);
40
+ super(diretorioBase, performance, funcaoDeRetorno);
41
+ this.importador = importador;
41
42
  }
42
43
  /**
43
44
  * Importa um arquivo como módulo.
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador.js","sourceRoot":"","sources":["../../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAqC;AAGrC,yEAAyE;AAGzE,uGAAmG;AAEnG,0GAAwE;AAGxE;;;GAGG;AACH,MAAa,aAAc,SAAQ,sCAAiB;IAChD,YACI,UAA+B,EAC/B,aAAqB,EACrB,WAAW,GAAG,KAAK,EACnB,kBAA4B,IAAI;QAEhC,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,yBAAyB,CAAC,UAAoB;QAChD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACpC,IAAI;gBACA,OAAO,MAAM,IAAA,0CAAsB,EAAC,eAAe,CAAC,CAAC;aACxD;YAAC,OAAO,IAAS,EAAE;gBAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;aACf;SACJ;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACnF,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,WAAW,CAC/C,kBAAkB,CAAC,yBAAyB,CAAC,WAAW,EACxD,IAAI,CACP,CAAC;QAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,CAAC;QAE7E,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,0BAA0B,EAAE,CAAC;QAEjF,IAAI,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YAC3C,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACrC;QAED,MAAM,UAAU,GAAG,IAAI,0BAAa,EAAE,CAAC;QAEvC,MAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,UAAU,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;SACnG;QAED,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrD,UAAU,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;SACtG;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AAzDD,sCAyDC"}
1
+ {"version":3,"file":"interpretador.js","sourceRoot":"","sources":["../../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAqC;AAGrC,yEAAyE;AAGzE,uGAAmG;AAEnG,0GAAwE;AAGxE;;;GAGG;AACH,MAAa,aAAc,SAAQ,sCAAiB;IAGhD,YACI,UAA+B,EAC/B,aAAqB,EACrB,WAAW,GAAG,KAAK,EACnB,kBAA4B,IAAI;QAEhC,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,yBAAyB,CAAC,UAAoB;QAChD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACpC,IAAI;gBACA,OAAO,MAAM,IAAA,0CAAsB,EAAC,eAAe,CAAC,CAAC;aACxD;YAAC,OAAO,IAAS,EAAE;gBAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;aACf;SACJ;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACnF,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,WAAW,CAC/C,kBAAkB,CAAC,yBAAyB,CAAC,WAAW,EACxD,IAAI,CACP,CAAC;QAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,CAAC;QAE7E,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,0BAA0B,EAAE,CAAC;QAEjF,IAAI,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YAC3C,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACrC;QAED,MAAM,UAAU,GAAG,IAAI,0BAAa,EAAE,CAAC;QAEvC,MAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,UAAU,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;SACnG;QAED,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrD,UAAU,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;SACtG;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AA5DD,sCA4DC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/delegua-node",
3
- "version": "0.0.1",
3
+ "version": "0.2.0",
4
4
  "description": "Linguagem Delégua com capacidades para ecossistema Node.js.",
5
5
  "scripts": {
6
6
  "empacotar": "rimraf ./dist && tsc && copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && copyfiles -V ./package.json ./dist/bin && copyfiles -V ./README.md ./dist",
@@ -8,10 +8,11 @@
8
8
  "testes:egua": "./bin/delegua-ts 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
- "testes:egua-classico": "./bin/delegua-ts --dialeto egua exemplos/dialetos/egua-classico/testes.egua"
11
+ "testes:egua-classico": "./bin/delegua-ts --dialeto egua exemplos/dialetos/egua-classico/testes.egua",
12
+ "testes:servidor-depuracao": "ts-node ./fontes/depuracao/servidor-depuracao.ts"
12
13
  },
13
14
  "dependencies": {
14
- "@designliquido/delegua": "^0.13.2",
15
+ "@designliquido/delegua": "^0.14.2",
15
16
  "chalk": "4.1.2",
16
17
  "commander": "^9.4.1"
17
18
  },
@@ -21,6 +22,7 @@
21
22
  "@designliquido/delegua-json": "^0.0.0",
22
23
  "@designliquido/delegua-matematica": "^0.2.0",
23
24
  "@designliquido/delegua-tempo": "^0.0.1",
25
+ "@types/estree": "^1.0.0",
24
26
  "@types/jest": "^29.4.0",
25
27
  "@types/node": "^18.11.19",
26
28
  "copyfiles": "^2.4.1",