@designliquido/delegua 0.13.2 → 0.14.1

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 (82) hide show
  1. package/README.md +3 -54
  2. package/bin/package.json +2 -12
  3. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.d.ts +20 -0
  4. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js +150 -0
  5. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js.map +1 -0
  6. package/fontes/avaliador-sintatico/dialetos/index.d.ts +4 -0
  7. package/fontes/avaliador-sintatico/dialetos/index.js +4 -0
  8. package/fontes/avaliador-sintatico/dialetos/index.js.map +1 -1
  9. package/fontes/depuracao/index.d.ts +0 -1
  10. package/fontes/depuracao/index.js +0 -1
  11. package/fontes/depuracao/index.js.map +1 -1
  12. package/fontes/interfaces/index.d.ts +0 -2
  13. package/fontes/interfaces/index.js +0 -2
  14. package/fontes/interfaces/index.js.map +1 -1
  15. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +2 -4
  16. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +34 -43
  17. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  18. package/fontes/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.d.ts +1 -2
  19. package/fontes/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js +2 -2
  20. package/fontes/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js.map +1 -1
  21. package/fontes/interpretador/dialetos/visualg/interpretador-visualg.d.ts +3 -4
  22. package/fontes/interpretador/dialetos/visualg/interpretador-visualg.js +3 -3
  23. package/fontes/interpretador/dialetos/visualg/interpretador-visualg.js.map +1 -1
  24. package/fontes/interpretador/index.d.ts +0 -1
  25. package/fontes/interpretador/index.js +0 -1
  26. package/fontes/interpretador/index.js.map +1 -1
  27. package/fontes/interpretador/interpretador-base.d.ts +2 -4
  28. package/fontes/interpretador/interpretador-base.js +1 -2
  29. package/fontes/interpretador/interpretador-base.js.map +1 -1
  30. package/fontes/interpretador/interpretador-com-depuracao.d.ts +4 -4
  31. package/fontes/interpretador/interpretador-com-depuracao.js +4 -4
  32. package/fontes/interpretador/interpretador-com-depuracao.js.map +1 -1
  33. package/fontes/lexador/dialetos/index.d.ts +5 -0
  34. package/fontes/lexador/dialetos/index.js +5 -0
  35. package/fontes/lexador/dialetos/index.js.map +1 -1
  36. package/fontes/lexador/dialetos/lexador-guarani.d.ts +9 -0
  37. package/fontes/lexador/dialetos/lexador-guarani.js +114 -0
  38. package/fontes/lexador/dialetos/lexador-guarani.js.map +1 -0
  39. package/fontes/lexador/dialetos/palavras-reservadas/guarani.d.ts +4 -0
  40. package/fontes/lexador/dialetos/palavras-reservadas/guarani.js +10 -0
  41. package/fontes/lexador/dialetos/palavras-reservadas/guarani.js.map +1 -0
  42. package/fontes/lexador/dialetos/palavras-reservadas/rantiaquin.d.ts +2 -0
  43. package/fontes/{importador/retorno-importador.js → lexador/dialetos/palavras-reservadas/rantiaquin.js} +2 -1
  44. package/fontes/lexador/dialetos/palavras-reservadas/rantiaquin.js.map +1 -0
  45. package/fontes/tipos-de-simbolos/guarani.d.ts +14 -0
  46. package/fontes/tipos-de-simbolos/guarani.js +16 -0
  47. package/fontes/tipos-de-simbolos/guarani.js.map +1 -0
  48. package/fontes/tipos-de-simbolos/rantiaquin.d.ts +2 -0
  49. package/fontes/{interfaces/delegua-interface.js → tipos-de-simbolos/rantiaquin.js} +2 -1
  50. package/fontes/tipos-de-simbolos/rantiaquin.js.map +1 -0
  51. package/index.d.ts +0 -2
  52. package/index.js +0 -2
  53. package/index.js.map +1 -1
  54. package/package.json +2 -12
  55. package/execucao.d.ts +0 -1
  56. package/execucao.js +0 -43
  57. package/execucao.js.map +0 -1
  58. package/fontes/bibliotecas/importar-biblioteca.d.ts +0 -2
  59. package/fontes/bibliotecas/importar-biblioteca.js +0 -132
  60. package/fontes/bibliotecas/importar-biblioteca.js.map +0 -1
  61. package/fontes/delegua.d.ts +0 -86
  62. package/fontes/delegua.js +0 -372
  63. package/fontes/delegua.js.map +0 -1
  64. package/fontes/depuracao/remota/servidor-depuracao.d.ts +0 -41
  65. package/fontes/depuracao/remota/servidor-depuracao.js +0 -301
  66. package/fontes/depuracao/remota/servidor-depuracao.js.map +0 -1
  67. package/fontes/importador/importador.d.ts +0 -27
  68. package/fontes/importador/importador.js +0 -91
  69. package/fontes/importador/importador.js.map +0 -1
  70. package/fontes/importador/index.d.ts +0 -2
  71. package/fontes/importador/index.js +0 -19
  72. package/fontes/importador/index.js.map +0 -1
  73. package/fontes/importador/retorno-importador.d.ts +0 -9
  74. package/fontes/importador/retorno-importador.js.map +0 -1
  75. package/fontes/interfaces/delegua-interface.d.ts +0 -23
  76. package/fontes/interfaces/delegua-interface.js.map +0 -1
  77. package/fontes/interfaces/importador-interface.d.ts +0 -8
  78. package/fontes/interfaces/importador-interface.js +0 -3
  79. package/fontes/interfaces/importador-interface.js.map +0 -1
  80. package/fontes/interpretador/interpretador.d.ts +0 -17
  81. package/fontes/interpretador/interpretador.js +0 -80
  82. package/fontes/interpretador/interpretador.js.map +0 -1
@@ -0,0 +1,114 @@
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.LexadorGuarani = void 0;
7
+ const lexador_base_1 = require("../lexador-base");
8
+ const guarani_1 = __importDefault(require("../../tipos-de-simbolos/guarani"));
9
+ const guarani_2 = __importDefault(require("./palavras-reservadas/guarani"));
10
+ class LexadorGuarani extends lexador_base_1.LexadorBase {
11
+ analisarTexto(delimitador) {
12
+ while (this.simboloAtual() !== delimitador && !this.eFinalDoCodigo()) {
13
+ this.avancar();
14
+ }
15
+ if (this.eFinalDoCodigo()) {
16
+ this.erros.push({
17
+ linha: this.linha + 1,
18
+ caractere: this.simboloAnterior(),
19
+ mensagem: "Texto noñemohu'ãiva.",
20
+ });
21
+ return;
22
+ }
23
+ const valor = this.codigo[this.linha].substring(this.inicioSimbolo + 1, this.atual);
24
+ this.adicionarSimbolo(guarani_1.default.TEXTO, valor);
25
+ }
26
+ analisarNumero() {
27
+ while (this.eDigito(this.simboloAtual())) {
28
+ this.avancar();
29
+ }
30
+ if (this.simboloAtual() == '.' && this.eDigito(this.proximoSimbolo())) {
31
+ this.avancar();
32
+ while (this.eDigito(this.simboloAtual())) {
33
+ this.avancar();
34
+ }
35
+ }
36
+ const numeroCompleto = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
37
+ this.adicionarSimbolo(guarani_1.default.NUMERO, parseFloat(numeroCompleto));
38
+ }
39
+ identificarPalavraChave() {
40
+ while (this.eAlfabetoOuDigito(this.simboloAtual())) {
41
+ this.avancar();
42
+ }
43
+ const codigo = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual).toLowerCase();
44
+ const tipo = codigo in guarani_2.default ? guarani_2.default[codigo] : guarani_1.default.IDENTIFICADOR;
45
+ this.adicionarSimbolo(tipo);
46
+ }
47
+ analisarToken() {
48
+ const caractere = this.simboloAtual();
49
+ switch (caractere) {
50
+ case '(':
51
+ this.adicionarSimbolo(guarani_1.default.PARENTESE_ESQUERDO);
52
+ this.avancar();
53
+ break;
54
+ case ')':
55
+ this.adicionarSimbolo(guarani_1.default.PARENTESE_DIREITO);
56
+ this.avancar();
57
+ break;
58
+ case '"':
59
+ this.avancar();
60
+ this.analisarTexto('"');
61
+ this.avancar();
62
+ break;
63
+ case "'":
64
+ this.avancar();
65
+ this.analisarTexto("'");
66
+ this.avancar();
67
+ break;
68
+ // Esta sessão ignora espaços em branco na tokenização.
69
+ // Ponto-e-vírgula é opcional em Delégua, então pode apenas ser ignorado.
70
+ case ' ':
71
+ case '\0':
72
+ case '\r':
73
+ case '\t':
74
+ case ';':
75
+ this.avancar();
76
+ break;
77
+ default:
78
+ if (this.eDigito(caractere))
79
+ this.analisarNumero();
80
+ else if (this.eAlfabeto(caractere))
81
+ this.identificarPalavraChave();
82
+ else {
83
+ this.erros.push({
84
+ linha: this.linha + 1,
85
+ caractere: caractere,
86
+ mensagem: 'Caractere inesperado.',
87
+ });
88
+ this.avancar();
89
+ }
90
+ }
91
+ }
92
+ mapear(codigo, hashArquivo) {
93
+ this.erros = [];
94
+ this.simbolos = [];
95
+ this.inicioSimbolo = 0;
96
+ this.atual = 0;
97
+ this.linha = 0;
98
+ this.codigo = codigo || [''];
99
+ this.hashArquivo = hashArquivo;
100
+ for (let iterador = 0; iterador < this.codigo.length; iterador++) {
101
+ this.codigo[iterador] += '\0';
102
+ }
103
+ while (!this.eFinalDoCodigo()) {
104
+ this.inicioSimbolo = this.atual;
105
+ this.analisarToken();
106
+ }
107
+ return {
108
+ simbolos: this.simbolos,
109
+ erros: this.erros,
110
+ };
111
+ }
112
+ }
113
+ exports.LexadorGuarani = LexadorGuarani;
114
+ //# sourceMappingURL=lexador-guarani.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lexador-guarani.js","sourceRoot":"","sources":["../../../../fontes/lexador/dialetos/lexador-guarani.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ hai: string;
3
+ };
4
+ export default _default;
@@ -0,0 +1,10 @@
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
+ const guarani_1 = __importDefault(require("../../../tipos-de-simbolos/guarani"));
7
+ exports.default = {
8
+ hai: guarani_1.default.HAI
9
+ };
10
+ //# sourceMappingURL=guarani.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guarani.js","sourceRoot":"","sources":["../../../../../fontes/lexador/dialetos/palavras-reservadas/guarani.ts"],"names":[],"mappings":";;;;;AAAA,iFAAiE;AAEjE,kBAAe;IACX,GAAG,EAAE,iBAAe,CAAC,GAAG;CAC3B,CAAA"}
@@ -0,0 +1,2 @@
1
+ declare const _default: {};
2
+ export default _default;
@@ -1,3 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=retorno-importador.js.map
3
+ exports.default = {};
4
+ //# sourceMappingURL=rantiaquin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rantiaquin.js","sourceRoot":"","sources":["../../../../../fontes/lexador/dialetos/palavras-reservadas/rantiaquin.ts"],"names":[],"mappings":";;AAAA,kBAAe,EAEd,CAAA"}
@@ -0,0 +1,14 @@
1
+ declare const _default: {
2
+ OI: string;
3
+ PE: string;
4
+ HAI: string;
5
+ CHAVE_ESQUERDA: string;
6
+ CHAVE_DIREITA: string;
7
+ IDENTIFICADOR: string;
8
+ NUMERO: string;
9
+ PARENTESE_DIREITO: string;
10
+ PARENTESE_ESQUERDO: string;
11
+ TEXTO: string;
12
+ VIRGULA: string;
13
+ };
14
+ export default _default;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ OI: 'OI',
5
+ PE: 'PE',
6
+ HAI: 'HAI',
7
+ CHAVE_ESQUERDA: 'CHAVE_ESQUERDA',
8
+ CHAVE_DIREITA: 'CHAVE_DIREITA',
9
+ IDENTIFICADOR: 'IDENTIFICADOR',
10
+ NUMERO: 'NUMERO',
11
+ PARENTESE_DIREITO: 'PARENTESE_DIREITO',
12
+ PARENTESE_ESQUERDO: 'PARENTESE_ESQUERDO',
13
+ TEXTO: 'TEXTO',
14
+ VIRGULA: 'VIRGULA'
15
+ };
16
+ //# sourceMappingURL=guarani.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guarani.js","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/guarani.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,KAAK;IAEV,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;IAChB,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;CACrB,CAAA"}
@@ -0,0 +1,2 @@
1
+ declare const _default: {};
2
+ export default _default;
@@ -1,3 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=delegua-interface.js.map
3
+ exports.default = {};
4
+ //# sourceMappingURL=rantiaquin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rantiaquin.js","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/rantiaquin.ts"],"names":[],"mappings":";;AAAA,kBAAe,EAEd,CAAA"}
package/index.d.ts CHANGED
@@ -1,7 +1,5 @@
1
- export * from './fontes/delegua';
2
1
  export * from './fontes/avaliador-sintatico';
3
2
  export { PontoParada, cyrb53 } from './fontes/depuracao';
4
3
  export * from './fontes/formatadores';
5
- export * from './fontes/importador';
6
4
  export * from './fontes/interpretador';
7
5
  export * from './fontes/lexador';
package/index.js CHANGED
@@ -15,12 +15,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.cyrb53 = void 0;
18
- __exportStar(require("./fontes/delegua"), exports);
19
18
  __exportStar(require("./fontes/avaliador-sintatico"), exports);
20
19
  var depuracao_1 = require("./fontes/depuracao");
21
20
  Object.defineProperty(exports, "cyrb53", { enumerable: true, get: function () { return depuracao_1.cyrb53; } });
22
21
  __exportStar(require("./fontes/formatadores"), exports);
23
- __exportStar(require("./fontes/importador"), exports);
24
22
  __exportStar(require("./fontes/interpretador"), exports);
25
23
  __exportStar(require("./fontes/lexador"), exports);
26
24
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mDAAiC;AAEjC,+DAA6C;AAC7C,gDAAyD;AAAnC,mGAAA,MAAM,OAAA;AAC5B,wDAAsC;AACtC,sDAAoC;AACpC,yDAAuC;AACvC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,gDAAyD;AAAnC,mGAAA,MAAM,OAAA;AAC5B,wDAAsC;AACtC,yDAAuC;AACvC,mDAAiC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/delegua",
3
- "version": "0.13.2",
3
+ "version": "0.14.1",
4
4
  "description": "Linguagem de programação simples e moderna usando português estruturado, com suporte a múltiplos dialetos",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -9,11 +9,6 @@
9
9
  "lair": "ts-node execucao.ts",
10
10
  "publicar-docs": "yarn gerar-documentacao-tecnica && copyfiles -V ./recursos/**/* ./docs && gh-pages -d docs",
11
11
  "publicar-npm": "npm publish ./dist --access public",
12
- "testes:egua": "./bin/delegua-ts exemplos/dialetos/egua-classico/testes.egua",
13
- "testes:delegua:bhaskara": "./bin/delegua-ts exemplos/dialetos/egua-classico/bhaskara.egua",
14
- "testes:delegua:fibonacci": "./bin/delegua-ts exemplos/dialetos/egua-classico/fibonacci.egua",
15
- "testes:egua-classico": "./bin/delegua-ts --dialeto egua exemplos/dialetos/egua-classico/testes.egua",
16
- "testes:servidor-depuracao": "ts-node ./fontes/depuracao/servidor-depuracao.ts",
17
12
  "testes-unitarios": "jest --coverage",
18
13
  "testes-unitarios:insignias": "jest-coverage-badges --output './recursos/imagens'",
19
14
  "observar-testes-unitarios": "jest --watchAll",
@@ -25,9 +20,6 @@
25
20
  "type": "git",
26
21
  "url": "git+https://github.com/DesignLiquido/delegua.git"
27
22
  },
28
- "bin": {
29
- "delegua": "./bin/delegua"
30
- },
31
23
  "keywords": [
32
24
  "egua",
33
25
  "eguap",
@@ -67,8 +59,8 @@
67
59
  "@designliquido/delegua-matematica": "^0.2.0",
68
60
  "@designliquido/delegua-tempo": "^0.0.1",
69
61
  "@types/esprima": "^4.0.3",
62
+ "@types/estree": "^1.0.0",
70
63
  "@types/jest": "^29.4.0",
71
- "@types/node": "^18.11.13",
72
64
  "@typescript-eslint/eslint-plugin": "^5.46.1",
73
65
  "@typescript-eslint/parser": "^5.46.1",
74
66
  "copyfiles": "^2.4.1",
@@ -88,8 +80,6 @@
88
80
  },
89
81
  "dependencies": {
90
82
  "browser-process-hrtime": "^1.0.0",
91
- "chalk": "4.1.2",
92
- "commander": "^9.4.1",
93
83
  "esprima": "^4.0.1"
94
84
  }
95
85
  }
package/execucao.d.ts DELETED
@@ -1 +0,0 @@
1
- export {};
package/execucao.js DELETED
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const delegua_1 = require("./fontes/delegua");
4
- const commander_1 = require("commander");
5
- const principal = () => {
6
- const analisadorArgumentos = new commander_1.Command();
7
- let codigoOuNomeArquivo;
8
- analisadorArgumentos
9
- .option('-c, --codigo <codigo>', 'Código a ser avaliado.', '')
10
- .option('-d, --dialeto <dialeto>', 'Dialeto a ser usado. Padrão: delegua.', 'delegua')
11
- .option('-D, --depurador', 'Habilita o depurador, permitindo depuração em um ambiente como o VSCode. Sempre desabilitada em modo LAIR.', false)
12
- .option('-p, --performance', 'Visualizar indicadores de performance. Desabilitado por padrão.', false)
13
- .option('-s, --saida', 'Gera arquivo de saida ao traduzir arquivo.', false)
14
- .option('-t, --traduzir <linguagem>', 'Traduz o código do arquivo passado como parâmetro.')
15
- .argument('[arquivos...]', 'Nomes dos arquivos (opcional)')
16
- .action((argumentos) => {
17
- if (argumentos.length > 0) {
18
- codigoOuNomeArquivo = argumentos[0];
19
- }
20
- });
21
- analisadorArgumentos.parse();
22
- const opcoes = analisadorArgumentos.opts();
23
- const delegua = new delegua_1.Delegua(opcoes.dialeto, opcoes.performance, codigoOuNomeArquivo ? opcoes.depurador : false, opcoes.traduzir);
24
- if (opcoes.codigo) {
25
- delegua.executarCodigoComoArgumento(opcoes.codigo || codigoOuNomeArquivo);
26
- }
27
- else {
28
- if (codigoOuNomeArquivo) {
29
- if (opcoes.traduzir) {
30
- const extensaoSaida = opcoes.traduzir;
31
- delegua.traduzirArquivo(codigoOuNomeArquivo, opcoes.saida, extensaoSaida);
32
- }
33
- else {
34
- delegua.carregarArquivo(codigoOuNomeArquivo);
35
- }
36
- }
37
- else {
38
- delegua.iniciarLairDelegua();
39
- }
40
- }
41
- };
42
- principal();
43
- //# sourceMappingURL=execucao.js.map
package/execucao.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"execucao.js","sourceRoot":"","sources":["../execucao.ts"],"names":[],"mappings":";;AAAA,8CAA2C;AAC3C,yCAAoC;AAEpC,MAAM,SAAS,GAAG,GAAG,EAAE;IACnB,MAAM,oBAAoB,GAAG,IAAI,mBAAO,EAAE,CAAC;IAC3C,IAAI,mBAA2B,CAAC;IAEhC,oBAAoB;SACf,MAAM,CACH,uBAAuB,EACvB,wBAAwB,EACxB,EAAE,CACL;SACA,MAAM,CACH,yBAAyB,EACzB,uCAAuC,EACvC,SAAS,CACZ;SACA,MAAM,CACH,iBAAiB,EACjB,4GAA4G,EAC5G,KAAK,CACR;SACA,MAAM,CACH,mBAAmB,EACnB,iEAAiE,EACjE,KAAK,CACR;SACA,MAAM,CACH,aAAa,EACb,4CAA4C,EAC5C,KAAK,CACR;SACA,MAAM,CACH,4BAA4B,EAC5B,oDAAoD,CACvD;SACA,QAAQ,CAAC,eAAe,EAAE,+BAA+B,CAAC;SAC1D,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;QACnB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,mBAAmB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;SACvC;IACL,CAAC,CAAC,CAAC;IAEP,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAE3C,MAAM,OAAO,GAAG,IAAI,iBAAO,CACvB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,WAAW,EAClB,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAC9C,MAAM,CAAC,QAAQ,CAClB,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,EAAE;QACf,OAAO,CAAC,2BAA2B,CAAC,MAAM,CAAC,MAAM,IAAI,mBAAmB,CAAC,CAAC;KAC7E;SAAM;QACH,IAAI,mBAAmB,EAAE;YACrB,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACjB,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACtC,OAAO,CAAC,eAAe,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;aAC7E;iBAAM;gBACH,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;aAChD;SACJ;aAAM;YACH,OAAO,CAAC,kBAAkB,EAAE,CAAC;SAChC;KACJ;AACL,CAAC,CAAC;AAEF,SAAS,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- import { DeleguaModulo } from '../estruturas/modulo';
2
- export default function (nome: string): Promise<DeleguaModulo>;
@@ -1,132 +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
- const processoFilho = __importStar(require("child_process"));
27
- const caminho = __importStar(require("path"));
28
- const sistemaArquivos = __importStar(require("fs"));
29
- const excecoes_1 = require("../excecoes");
30
- const funcao_padrao_1 = require("../estruturas/funcao-padrao");
31
- const modulo_1 = require("../estruturas/modulo");
32
- const classe_padrao_1 = require("../estruturas/classe-padrao");
33
- const carregarBibliotecaDelegua = (nome) => {
34
- let dadosDoModulo;
35
- try {
36
- dadosDoModulo = require(nome);
37
- }
38
- catch (erro) {
39
- // Biblioteca não existe localmente. Tentar importação global
40
- try {
41
- dadosDoModulo = importarPacoteDeleguaCompleto(nome);
42
- }
43
- catch (erro2) {
44
- throw new excecoes_1.ErroEmTempoDeExecucao(null, `Biblioteca ${nome} não encontrada para importação.`);
45
- }
46
- }
47
- return modularizarBiblioteca(dadosDoModulo, nome);
48
- };
49
- const carregarBiblioteca = async (nomeDaBiblioteca, caminhoDaBiblioteca) => {
50
- let dadosDoModulo;
51
- try {
52
- dadosDoModulo = require(caminhoDaBiblioteca);
53
- }
54
- catch (erro) {
55
- try {
56
- dadosDoModulo = await importarPacoteExternoCompleto(nomeDaBiblioteca);
57
- }
58
- catch (erro2) {
59
- throw new excecoes_1.ErroEmTempoDeExecucao(null, `Biblioteca ${nomeDaBiblioteca} não encontrada para importação. Informações adicionais: ${(erro2 === null || erro2 === void 0 ? void 0 : erro2.message) || '(nenhuma)'}`);
60
- }
61
- }
62
- return modularizarBiblioteca(dadosDoModulo, nomeDaBiblioteca);
63
- };
64
- const modularizarBiblioteca = (dadosDoModulo, nome) => {
65
- const novoModulo = new modulo_1.DeleguaModulo(nome);
66
- const chaves = Object.keys(dadosDoModulo);
67
- for (let i = 0; i < chaves.length; i++) {
68
- const moduloAtual = dadosDoModulo[chaves[i]];
69
- if (typeof moduloAtual === 'function') {
70
- // Por definição, funções tradicionais e classes são identificadas em JavaScript como "functions".
71
- // A primeira heurística era verificando a propriedade `prototype`, mas isso não funciona bem
72
- // porque classes e funções avulsas todas possuem prototype.
73
- // Uma heurística nova é converter `moduloAtual` para `string` e verificar se a declaração começa com `class`.
74
- // Se sim, podemos dizer que a "function" é uma classe padrão.
75
- // Caso contrário, é uma função (`FuncaoPadrao`).
76
- if (String(moduloAtual).startsWith('class')) {
77
- const classePadrao = new classe_padrao_1.ClassePadrao(chaves[i], moduloAtual);
78
- novoModulo.componentes[chaves[i]] = classePadrao;
79
- }
80
- else {
81
- novoModulo.componentes[chaves[i]] = new funcao_padrao_1.FuncaoPadrao(moduloAtual.length, moduloAtual);
82
- }
83
- }
84
- else {
85
- novoModulo.componentes[chaves[i]] = moduloAtual;
86
- }
87
- }
88
- return novoModulo;
89
- };
90
- const importarPacoteCaminhoBase = async (caminhoRelativo) => {
91
- var _a;
92
- let resultado = null;
93
- const npm = process.platform === 'win32' ? 'npm.cmd' : 'npm';
94
- const global = processoFilho.spawnSync(npm, ['root', '--location=global']);
95
- const caminhoAbsoluto = caminho.join(global.output[1].toString().trim()) + `\\${caminhoRelativo}\\package.json`;
96
- let arquivoInicio = JSON.parse(sistemaArquivos.readFileSync(caminhoAbsoluto, 'utf-8')).main || 'index.js';
97
- await (_a = caminho.join('file:///' + global.output[1].toString().trim()) +
98
- `\\${caminhoRelativo}\\${arquivoInicio.replace('./', '')}`, Promise.resolve().then(() => __importStar(require(_a)))).then((resposta) => {
99
- resultado = resposta;
100
- });
101
- return resultado;
102
- };
103
- const importarPacoteDeleguaCompleto = async (nome) => {
104
- return await importarPacoteCaminhoBase(`delegua\\node_modules\\${nome}`);
105
- };
106
- const importarPacoteExternoCompleto = async (nome) => {
107
- return await importarPacoteCaminhoBase(nome);
108
- };
109
- const verificarModulosDelegua = (nome) => {
110
- const modulos = {
111
- estatistica: '@designliquido/delegua-estatistica',
112
- estatística: '@designliquido/delegua-estatistica',
113
- fisica: '@designliquido/delegua-fisica',
114
- física: '@designliquido/delegua-fisica',
115
- json: '@designliquido/delegua-json',
116
- matematica: '@designliquido/delegua-matematica',
117
- matemática: '@designliquido/delegua-matematica',
118
- tempo: '@designliquido/delegua-tempo',
119
- };
120
- if (Object.keys(modulos).includes(nome)) {
121
- return modulos[nome].toString();
122
- }
123
- return false;
124
- };
125
- async function default_1(nome) {
126
- const nomeBibliotecaResolvido = verificarModulosDelegua(nome);
127
- return nomeBibliotecaResolvido
128
- ? carregarBibliotecaDelegua(String(nomeBibliotecaResolvido))
129
- : await carregarBiblioteca(nome, nome);
130
- }
131
- exports.default = default_1;
132
- //# sourceMappingURL=importar-biblioteca.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"importar-biblioteca.js","sourceRoot":"","sources":["../../../fontes/bibliotecas/importar-biblioteca.ts"],"names":[],"mappings":"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"}
@@ -1,86 +0,0 @@
1
- import { AvaliadorSintaticoInterface, DeleguaInterface, InterpretadorInterface, LexadorInterface, RetornoExecucaoInterface, SimboloInterface } from './interfaces';
2
- import { ServidorDepuracao } from './depuracao';
3
- import { ImportadorInterface } from './interfaces/importador-interface';
4
- import { RetornoImportador } from './importador';
5
- import { TradutorJavaScript, TradutorReversoJavaScript } from './tradutores';
6
- /**
7
- * O núcleo da linguagem.
8
- *
9
- * Responsável por avaliar a entrada fornecida, entender o código e executá-lo.
10
- */
11
- export declare class Delegua implements DeleguaInterface {
12
- dialeto: string;
13
- dialetos: {
14
- [identificador: string]: string;
15
- };
16
- arquivosAbertos: {
17
- [identificador: string]: string;
18
- };
19
- conteudoArquivosAbertos: {
20
- [identificador: string]: string[];
21
- };
22
- interpretador: InterpretadorInterface;
23
- lexador: LexadorInterface;
24
- avaliadorSintatico: AvaliadorSintaticoInterface;
25
- importador: ImportadorInterface;
26
- tradutorJavaScript: TradutorJavaScript;
27
- tradutorReversoJavascript: TradutorReversoJavaScript;
28
- funcaoDeRetorno: Function;
29
- modoDepuracao: boolean;
30
- servidorDepuracao: ServidorDepuracao;
31
- constructor(dialeto?: string, performance?: boolean, depurador?: boolean, traduzir?: any, funcaoDeRetorno?: Function);
32
- versao(): string;
33
- /**
34
- * LAIR (Leia-Avalie-Imprima-Repita) é o modo em que Delégua executa em modo console,
35
- * ou seja, esperando como entrada linhas de código fornecidas pelo usuário.
36
- */
37
- iniciarLairDelegua(): void;
38
- /**
39
- * Executa uma linha. Usado pelo modo LAIR e pelo servidor de depuração, quando recebe um comando 'avaliar'.
40
- * @param linha A linha a ser avaliada.
41
- * @returns O resultado da execução, com os retornos e respectivos erros, se houverem.
42
- */
43
- executarUmaLinha(linha: string): Promise<RetornoExecucaoInterface>;
44
- /**
45
- * Instancia um servidor de depuração, normalmente recebendo requisições na porta 7777.
46
- */
47
- iniciarDepuracao(): void;
48
- /**
49
- * Pede ao servidor de depuração que finalize a execução.
50
- * Se não for feito, o servidor de depuração mantém um _stream_ aberto e nunca finaliza.
51
- * Mais informações: https://stackoverflow.com/a/47456805/1314276
52
- */
53
- finalizarDepuracao(): void;
54
- /**
55
- * Verifica erros nas etapas de lexação e avaliação sintática.
56
- * @param retornoImportador Um objeto que implementa a interface RetornoImportador.
57
- * @returns Verdadeiro se há erros. Falso caso contrário.
58
- */
59
- afericaoErros(retornoImportador: RetornoImportador): boolean;
60
- /**
61
- * Realiza a tradução do arquivo passado como parâmetro no comando de execução.
62
- * @param caminhoRelativoArquivo O caminho do arquivo.
63
- * @param gerarArquivoSaida Se o resultado da tradução deve ser escrito em arquivo.
64
- * Se verdadeiro, os arquivos de saída são escritos no mesmo diretório
65
- * do arquivo passado no primeiro parâmetro.
66
- */
67
- traduzirArquivo(caminhoRelativoArquivo: string, gerarArquivoSaida: boolean, extensaoArquivoSaida: string): any;
68
- executarCodigoComoArgumento(codigo: string): Promise<void>;
69
- /**
70
- * Execução por arquivo.
71
- * @param caminhoRelativoArquivo O caminho no sistema operacional do arquivo a ser aberto.
72
- */
73
- carregarArquivo(caminhoRelativoArquivo: string): Promise<any>;
74
- /**
75
- * A execução do código de fato.
76
- * @param retornoImportador Dados retornados do Importador, como o retorno do Lexador, do Avaliador
77
- * Sintático e respectivos erros.
78
- * @param manterAmbiente Indicação se ambiente deve ser mantido ou não. Normalmente verdadeiro
79
- * para LAIR, falso para execução por arquivo.
80
- * @returns Um objeto com o resultado da execução.
81
- */
82
- executar(retornoImportador: RetornoImportador, manterAmbiente?: boolean): Promise<RetornoExecucaoInterface>;
83
- reportar(linha: number, onde: any, mensagem: string): void;
84
- erro(simbolo: SimboloInterface, mensagemDeErro: string): void;
85
- erroEmTempoDeExecucao(erro: any): void;
86
- }