@designliquido/delegua 0.10.6 → 0.11.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 (111) hide show
  1. package/bin/package.json +4 -2
  2. package/fontes/bibliotecas/importar-biblioteca.d.ts +1 -1
  3. package/fontes/bibliotecas/importar-biblioteca.js +33 -13
  4. package/fontes/bibliotecas/importar-biblioteca.js.map +1 -1
  5. package/fontes/delegua.d.ts +4 -1
  6. package/fontes/delegua.js +19 -23
  7. package/fontes/delegua.js.map +1 -1
  8. package/fontes/estruturas/classe-padrao.d.ts +4 -9
  9. package/fontes/estruturas/classe-padrao.js +3 -14
  10. package/fontes/estruturas/classe-padrao.js.map +1 -1
  11. package/fontes/estruturas/objeto-padrao.d.ts +1 -0
  12. package/fontes/estruturas/objeto-padrao.js +1 -0
  13. package/fontes/estruturas/objeto-padrao.js.map +1 -1
  14. package/fontes/interfaces/variavel-interface.d.ts +1 -1
  15. package/fontes/interpretador/inferenciador.d.ts +1 -1
  16. package/fontes/interpretador/inferenciador.js +2 -0
  17. package/fontes/interpretador/inferenciador.js.map +1 -1
  18. package/fontes/interpretador/interpretador.js +32 -6
  19. package/fontes/interpretador/interpretador.js.map +1 -1
  20. package/fontes/tradutores/{index.d.ts → tradutor-javascript.d.ts} +0 -0
  21. package/fontes/tradutores/{index.js → tradutor-javascript.js} +18 -3
  22. package/fontes/tradutores/tradutor-javascript.js.map +1 -0
  23. package/fontes/tradutores/tradutor-reverso-javascript.d.ts +9 -0
  24. package/fontes/tradutores/tradutor-reverso-javascript.js +43 -0
  25. package/fontes/tradutores/tradutor-reverso-javascript.js.map +1 -0
  26. package/package.json +4 -2
  27. package/coverage/lcov-report/block-navigation.d.ts +0 -1
  28. package/coverage/lcov-report/block-navigation.js +0 -70
  29. package/coverage/lcov-report/block-navigation.js.map +0 -1
  30. package/coverage/lcov-report/prettify.d.ts +0 -0
  31. package/coverage/lcov-report/prettify.js +0 -477
  32. package/coverage/lcov-report/prettify.js.map +0 -1
  33. package/coverage/lcov-report/sorter.d.ts +0 -1
  34. package/coverage/lcov-report/sorter.js +0 -163
  35. package/coverage/lcov-report/sorter.js.map +0 -1
  36. package/docs/assets/main.d.ts +0 -0
  37. package/docs/assets/main.js +0 -604
  38. package/docs/assets/main.js.map +0 -1
  39. package/docs/assets/search.d.ts +0 -0
  40. package/docs/assets/search.js +0 -2
  41. package/docs/assets/search.js.map +0 -1
  42. package/fontes/tradutores/index.js.map +0 -1
  43. package/jest.config.d.ts +0 -3
  44. package/jest.config.js +0 -12
  45. package/jest.config.js.map +0 -1
  46. package/testes/__mocks__/estatistica.d.ts +0 -2
  47. package/testes/__mocks__/estatistica.js +0 -4
  48. package/testes/__mocks__/estatistica.js.map +0 -1
  49. package/testes/__mocks__/fisica.d.ts +0 -2
  50. package/testes/__mocks__/fisica.js +0 -4
  51. package/testes/__mocks__/fisica.js.map +0 -1
  52. package/testes/__mocks__/matematica.d.ts +0 -2
  53. package/testes/__mocks__/matematica.js +0 -4
  54. package/testes/__mocks__/matematica.js.map +0 -1
  55. package/testes/avaliador-sintatico.test.d.ts +0 -1
  56. package/testes/avaliador-sintatico.test.js +0 -63
  57. package/testes/avaliador-sintatico.test.js.map +0 -1
  58. package/testes/biblioteca-global.test.d.ts +0 -1
  59. package/testes/biblioteca-global.test.js +0 -215
  60. package/testes/biblioteca-global.test.js.map +0 -1
  61. package/testes/birl/avaliador-sintatico.test.d.ts +0 -1
  62. package/testes/birl/avaliador-sintatico.test.js +0 -18
  63. package/testes/birl/avaliador-sintatico.test.js.map +0 -1
  64. package/testes/birl/lexador.test.d.ts +0 -1
  65. package/testes/birl/lexador.test.js +0 -31
  66. package/testes/birl/lexador.test.js.map +0 -1
  67. package/testes/delegua.test.d.ts +0 -1
  68. package/testes/delegua.test.js +0 -16
  69. package/testes/delegua.test.js.map +0 -1
  70. package/testes/egua-classico/avaliador-sintatico.test.d.ts +0 -1
  71. package/testes/egua-classico/avaliador-sintatico.test.js +0 -27
  72. package/testes/egua-classico/avaliador-sintatico.test.js.map +0 -1
  73. package/testes/egua-classico/delegua.test.d.ts +0 -1
  74. package/testes/egua-classico/delegua.test.js +0 -11
  75. package/testes/egua-classico/delegua.test.js.map +0 -1
  76. package/testes/egua-classico/interpretador.test.d.ts +0 -1
  77. package/testes/egua-classico/interpretador.test.js +0 -199
  78. package/testes/egua-classico/interpretador.test.js.map +0 -1
  79. package/testes/egua-classico/lexador.test.d.ts +0 -1
  80. package/testes/egua-classico/lexador.test.js +0 -80
  81. package/testes/egua-classico/lexador.test.js.map +0 -1
  82. package/testes/egua-classico/resolvedor.test.d.ts +0 -1
  83. package/testes/egua-classico/resolvedor.test.js +0 -37
  84. package/testes/egua-classico/resolvedor.test.js.map +0 -1
  85. package/testes/eguap/avaliador-sintatico.test.d.ts +0 -1
  86. package/testes/eguap/avaliador-sintatico.test.js +0 -30
  87. package/testes/eguap/avaliador-sintatico.test.js.map +0 -1
  88. package/testes/eguap/interpretador.test.d.ts +0 -1
  89. package/testes/eguap/interpretador.test.js +0 -208
  90. package/testes/eguap/interpretador.test.js.map +0 -1
  91. package/testes/eguap/lexador.test.d.ts +0 -1
  92. package/testes/eguap/lexador.test.js +0 -53
  93. package/testes/eguap/lexador.test.js.map +0 -1
  94. package/testes/interpretador.test.d.ts +0 -1
  95. package/testes/interpretador.test.js +0 -478
  96. package/testes/interpretador.test.js.map +0 -1
  97. package/testes/lexador.test.d.ts +0 -1
  98. package/testes/lexador.test.js +0 -166
  99. package/testes/lexador.test.js.map +0 -1
  100. package/testes/tradutores/tradutor-javascript.test.d.ts +0 -1
  101. package/testes/tradutores/tradutor-javascript.test.js +0 -413
  102. package/testes/tradutores/tradutor-javascript.test.js.map +0 -1
  103. package/testes/visualg/avaliador-sintatico.test.d.ts +0 -1
  104. package/testes/visualg/avaliador-sintatico.test.js +0 -113
  105. package/testes/visualg/avaliador-sintatico.test.js.map +0 -1
  106. package/testes/visualg/interpretador.test.d.ts +0 -1
  107. package/testes/visualg/interpretador.test.js +0 -24
  108. package/testes/visualg/interpretador.test.js.map +0 -1
  109. package/testes/visualg/lexador.test.d.ts +0 -1
  110. package/testes/visualg/lexador.test.js +0 -67
  111. package/testes/visualg/lexador.test.js.map +0 -1
package/bin/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/delegua",
3
- "version": "0.10.5",
3
+ "version": "0.10.7",
4
4
  "description": "Linguagem de programação simples e moderna usando português estruturado",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -65,6 +65,7 @@
65
65
  "@designliquido/delegua-json": "^0.0.0",
66
66
  "@designliquido/delegua-matematica": "^0.2.0",
67
67
  "@designliquido/delegua-tempo": "^0.0.1",
68
+ "@types/esprima": "^4.0.3",
68
69
  "@types/jest": "^29.2.4",
69
70
  "@types/node": "^18.11.13",
70
71
  "@typescript-eslint/eslint-plugin": "^5.46.1",
@@ -86,6 +87,7 @@
86
87
  "dependencies": {
87
88
  "browser-process-hrtime": "^1.0.0",
88
89
  "chalk": "4.1.2",
89
- "commander": "^9.4.1"
90
+ "commander": "^9.4.1",
91
+ "esprima": "^4.0.1"
90
92
  }
91
93
  }
@@ -1,2 +1,2 @@
1
1
  import { DeleguaModulo } from '../estruturas/modulo';
2
- export default function (nome: string): DeleguaModulo;
2
+ export default function (nome: string): Promise<DeleguaModulo>;
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const processoFilho = __importStar(require("child_process"));
27
30
  const caminho = __importStar(require("path"));
31
+ const fs_1 = __importDefault(require("fs"));
28
32
  const excecoes_1 = require("../excecoes");
29
33
  const funcao_padrao_1 = require("../estruturas/funcao-padrao");
30
34
  const modulo_1 = require("../estruturas/modulo");
@@ -45,13 +49,18 @@ const carregarBibliotecaDelegua = (nome) => {
45
49
  }
46
50
  return modularizarBiblioteca(dadosDoModulo, nome);
47
51
  };
48
- const carregarBiblioteca = (nomeDaBiblioteca, caminhoDaBiblioteca) => {
52
+ const carregarBiblioteca = async (nomeDaBiblioteca, caminhoDaBiblioteca) => {
49
53
  let dadosDoModulo;
50
54
  try {
51
55
  dadosDoModulo = require(caminhoDaBiblioteca);
52
56
  }
53
57
  catch (erro) {
54
- throw new excecoes_1.ErroEmTempoDeExecucao(null, `Biblioteca ${nomeDaBiblioteca} não encontrada para importação. Informações adicionais: ${(erro === null || erro === void 0 ? void 0 : erro.message) || "(nenhuma)"}`);
58
+ try {
59
+ dadosDoModulo = await importarPacoteExternoCompleto(nomeDaBiblioteca);
60
+ }
61
+ catch (erro2) {
62
+ 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)"}`);
63
+ }
55
64
  }
56
65
  return modularizarBiblioteca(dadosDoModulo, nomeDaBiblioteca);
57
66
  };
@@ -62,15 +71,13 @@ const modularizarBiblioteca = (dadosDoModulo, nome) => {
62
71
  const moduloAtual = dadosDoModulo[chaves[i]];
63
72
  if (typeof moduloAtual === 'function') {
64
73
  // Por definição, funções tradicionais e classes são identificadas em JavaScript como "functions".
65
- // A forma de diferenciar é verificando a propriedade `prototype`.
66
- // Se dentro dessa propriedade temos outras propriedades cujo tipo também seja `function`,
67
- // podemos dizer que a "function" é uma classe.
74
+ // A primeira heurística era verificando a propriedade `prototype`, mas isso não funciona bem
75
+ // porque classes e funções avulsas todas possuem prototype.
76
+ // Uma heurística nova é converter `moduloAtual` para `string` e verificar se a declaração começa com `class`.
77
+ // Se sim, podemos dizer que a "function" é uma classe padrão.
68
78
  // Caso contrário, é uma função (`FuncaoPadrao`).
69
- if ((moduloAtual === null || moduloAtual === void 0 ? void 0 : moduloAtual.prototype) && Object.entries(moduloAtual.prototype).some((f) => typeof f[1] === 'function')) {
79
+ if (String(moduloAtual).startsWith('class')) {
70
80
  const classePadrao = new classe_padrao_1.ClassePadrao(chaves[i], moduloAtual);
71
- for (const [nome, corpoMetodo] of Object.entries(moduloAtual.prototype)) {
72
- classePadrao.metodos[nome] = corpoMetodo;
73
- }
74
81
  novoModulo.componentes[chaves[i]] = classePadrao;
75
82
  }
76
83
  else {
@@ -83,10 +90,23 @@ const modularizarBiblioteca = (dadosDoModulo, nome) => {
83
90
  }
84
91
  return novoModulo;
85
92
  };
86
- const importarPacoteDeleguaCompleto = (nome) => {
93
+ const importarPacoteCaminhoBase = async (caminhoRelativo) => {
94
+ var _a;
95
+ let resultado = null;
87
96
  const npm = process.platform === 'win32' ? 'npm.cmd' : 'npm';
88
97
  const global = processoFilho.spawnSync(npm, ['root', '--location=global']);
89
- return require(caminho.join(global.output[1].toString().trim(), `/delegua/node_modules/${nome}`));
98
+ const caminhoAbsoluto = caminho.join((global.output[1]).toString().trim()) + `\\${caminhoRelativo}\\package.json`;
99
+ let arquivoInicio = JSON.parse(fs_1.default.readFileSync(caminhoAbsoluto, 'utf-8')).main || 'index.js';
100
+ await (_a = caminho.join('file:///' + (global.output[1]).toString().trim()) + `\\${caminhoRelativo}\\${arquivoInicio.replace('./', '')}`, Promise.resolve().then(() => __importStar(require(_a)))).then(resposta => {
101
+ resultado = resposta;
102
+ });
103
+ return resultado;
104
+ };
105
+ const importarPacoteDeleguaCompleto = async (nome) => {
106
+ return await importarPacoteCaminhoBase(`delegua\\node_modules\\${nome}`);
107
+ };
108
+ const importarPacoteExternoCompleto = async (nome) => {
109
+ return await importarPacoteCaminhoBase(nome);
90
110
  };
91
111
  const verificaModulosDelegua = (nome) => {
92
112
  const modulos = {
@@ -104,11 +124,11 @@ const verificaModulosDelegua = (nome) => {
104
124
  }
105
125
  return false;
106
126
  };
107
- function default_1(nome) {
127
+ async function default_1(nome) {
108
128
  const nomeBibliotecaResolvido = verificaModulosDelegua(nome);
109
129
  return nomeBibliotecaResolvido
110
130
  ? carregarBibliotecaDelegua(String(nomeBibliotecaResolvido))
111
- : carregarBiblioteca(nome, nome);
131
+ : await carregarBiblioteca(nome, nome);
112
132
  }
113
133
  exports.default = default_1;
114
134
  //# sourceMappingURL=importar-biblioteca.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"importar-biblioteca.js","sourceRoot":"","sources":["../../../fontes/bibliotecas/importar-biblioteca.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importar-biblioteca.js","sourceRoot":"","sources":["../../../fontes/bibliotecas/importar-biblioteca.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA+C;AAC/C,8CAAgC;AAChC,4CAAmB;AAEnB,0CAAoD;AACpD,+DAA2D;AAC3D,iDAAqD;AACrD,+DAA2D;AAE3D,MAAM,yBAAyB,GAAG,CAAC,IAAY,EAAE,EAAE;IAC/C,IAAI,aAAkB,CAAC;IAEvB,IAAI;QACA,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACjC;IAAC,OAAO,IAAS,EAAE;QAChB,6DAA6D;QAC7D,IAAI;YACA,aAAa,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;SACvD;QAAC,OAAO,KAAU,EAAE;YACjB,MAAM,IAAI,gCAAqB,CAC3B,IAAI,EACJ,cAAc,IAAI,kCAAkC,CACvD,CAAC;SACL;KACJ;IAED,OAAO,qBAAqB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAC5B,gBAAwB,EACxB,mBAAwB,EAC1B,EAAE;IACA,IAAI,aAAkB,CAAC;IAEvB,IAAI;QACA,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;KAChD;IAAC,OAAO,IAAS,EAAE;QAChB,IAAI;YACA,aAAa,GAAG,MAAM,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;SACzE;QAAC,OAAO,KAAU,EAAE;YACjB,MAAM,IAAI,gCAAqB,CAC3B,IAAI,EACJ,cAAc,gBAAgB,4DAA4D,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,WAAW,EAAE,CAC5H,CAAC;SACL;KACJ;IAED,OAAO,qBAAqB,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,aAAkB,EAAE,IAAY,EAAE,EAAE;IAC/D,MAAM,UAAU,GAAG,IAAI,sBAAa,CAAC,IAAI,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YACnC,kGAAkG;YAClG,6FAA6F;YAC7F,4DAA4D;YAC5D,8GAA8G;YAC9G,8DAA8D;YAC9D,iDAAiD;YACjD,IACI,MAAM,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EACzC;gBACE,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC9D,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;aACpD;iBAAM;gBACH,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,4BAAY,CAChD,WAAW,CAAC,MAAM,EAClB,WAAW,CACd,CAAC;aACL;SACJ;aAAM;YACH,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;SACnD;KACJ;IAED,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,KAAK,EAAE,eAAe,EAAE,EAAE;;IACxD,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE3E,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAChC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,eAAe,gBAAgB,CAAC;IAEjF,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC;IAE7F,MAAM,MAAO,OAAO,CAAC,IAAI,CACrB,UAAU,GAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,eAAe,KAAK,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,2DAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC5H,SAAS,GAAG,QAAQ,CAAC;IACzB,CAAC,CAAC,CAAC;IAEP,OAAO,SAAS,CAAC;AACrB,CAAC,CAAA;AAED,MAAM,6BAA6B,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IACzD,OAAO,MAAM,yBAAyB,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IACzD,OAAO,MAAM,yBAAyB,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAoB,EAAE;IAC9D,MAAM,OAAO,GAAG;QACZ,WAAW,EAAE,oCAAoC;QACjD,WAAW,EAAE,oCAAoC;QACjD,MAAM,EAAE,+BAA+B;QACvC,MAAM,EAAE,+BAA+B;QACvC,IAAI,EAAE,6BAA6B;QACnC,UAAU,EAAE,mCAAmC;QAC/C,UAAU,EAAE,mCAAmC;QAC/C,KAAK,EAAE,8BAA8B;KACxC,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACrC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;KACnC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEa,KAAK,oBAAW,IAAY;IACvC,MAAM,uBAAuB,GACzB,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,uBAAuB;QAC1B,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC5D,CAAC,CAAC,MAAM,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAND,4BAMC"}
@@ -2,7 +2,7 @@ import { AvaliadorSintaticoInterface, DeleguaInterface, InterpretadorInterface,
2
2
  import { ServidorDepuracao } from './depuracao';
3
3
  import { ImportadorInterface } from './interfaces/importador-interface';
4
4
  import { RetornoImportador } from './importador';
5
- import { TradutorJavaScript } from './tradutores';
5
+ import { TradutorJavaScript } from './tradutores/tradutor-javascript';
6
6
  /**
7
7
  * O núcleo da linguagem.
8
8
  *
@@ -10,6 +10,9 @@ import { TradutorJavaScript } from './tradutores';
10
10
  */
11
11
  export declare class Delegua implements DeleguaInterface {
12
12
  dialeto: string;
13
+ dialetos: {
14
+ [identificador: string]: string;
15
+ };
13
16
  arquivosAbertos: {
14
17
  [identificador: string]: string;
15
18
  };
package/fontes/delegua.js CHANGED
@@ -48,7 +48,7 @@ const lexador_visualg_1 = require("./lexador/dialetos/lexador-visualg");
48
48
  const avaliador_sintatico_visualg_1 = require("./avaliador-sintatico/dialetos/avaliador-sintatico-visualg");
49
49
  const lexador_birl_1 = require("./lexador/dialetos/lexador-birl");
50
50
  const avaliador_sintatico_birl_1 = require("./avaliador-sintatico/dialetos/avaliador-sintatico-birl");
51
- const tradutores_1 = require("./tradutores");
51
+ const tradutor_javascript_1 = require("./tradutores/tradutor-javascript");
52
52
  /**
53
53
  * O núcleo da linguagem.
54
54
  *
@@ -56,6 +56,13 @@ const tradutores_1 = require("./tradutores");
56
56
  */
57
57
  class Delegua {
58
58
  constructor(dialeto = 'delegua', performance = false, depurador = false, traduzir = null, funcaoDeRetorno = null) {
59
+ this.dialetos = {
60
+ 'birl': 'BIRL',
61
+ 'delegua': 'padrão',
62
+ 'egua': 'Égua',
63
+ 'eguap': 'ÉguaP',
64
+ 'visualg': 'VisuAlg'
65
+ };
59
66
  this.arquivosAbertos = {};
60
67
  this.conteudoArquivosAbertos = {};
61
68
  this.dialeto = dialeto;
@@ -70,7 +77,6 @@ class Delegua {
70
77
  this.avaliadorSintatico = new dialetos_1.AvaliadorSintaticoEguaClassico();
71
78
  this.importador = new importador_1.Importador(this.lexador, this.avaliadorSintatico, this.arquivosAbertos, this.conteudoArquivosAbertos, depurador);
72
79
  this.interpretador = new egua_classico_1.InterpretadorEguaClassico(this, new dialetos_2.ResolvedorEguaClassico(), process.cwd());
73
- this.funcaoDeRetorno('Usando dialeto: Égua');
74
80
  break;
75
81
  case 'eguap':
76
82
  this.lexador = new lexador_eguap_1.LexadorEguaP();
@@ -79,7 +85,6 @@ class Delegua {
79
85
  this.interpretador = depurador
80
86
  ? new interpretador_com_depuracao_1.InterpretadorComDepuracao(this.importador, process.cwd(), funcaoDeRetorno)
81
87
  : new interpretador_1.Interpretador(this.importador, process.cwd(), performance, funcaoDeRetorno);
82
- this.funcaoDeRetorno('Usando dialeto: ÉguaP');
83
88
  break;
84
89
  case 'visualg':
85
90
  this.lexador = new lexador_visualg_1.LexadorVisuAlg();
@@ -92,7 +97,6 @@ class Delegua {
92
97
  this.avaliadorSintatico = new avaliador_sintatico_birl_1.AvaliadorSintaticoBirl();
93
98
  this.importador = new importador_1.Importador(this.lexador, this.avaliadorSintatico, this.arquivosAbertos, this.conteudoArquivosAbertos, depurador);
94
99
  this.interpretador = new interpretador_1.Interpretador(this.importador, process.cwd(), false, console.log);
95
- this.funcaoDeRetorno('Usando dialeto: birl');
96
100
  break;
97
101
  default:
98
102
  this.lexador = new lexador_1.Lexador(performance);
@@ -101,11 +105,10 @@ class Delegua {
101
105
  this.interpretador = depurador
102
106
  ? new interpretador_com_depuracao_1.InterpretadorComDepuracao(this.importador, process.cwd(), funcaoDeRetorno)
103
107
  : new interpretador_1.Interpretador(this.importador, process.cwd(), performance, funcaoDeRetorno);
104
- this.funcaoDeRetorno('Usando dialeto: padrão');
105
108
  break;
106
109
  }
107
110
  if (traduzir !== null && traduzir !== undefined) {
108
- this.tradutor = new tradutores_1.TradutorJavaScript();
111
+ this.tradutor = new tradutor_javascript_1.TradutorJavaScript();
109
112
  }
110
113
  if (depurador) {
111
114
  this.iniciarDepuracao();
@@ -113,11 +116,11 @@ class Delegua {
113
116
  }
114
117
  versao() {
115
118
  try {
116
- const manifesto = caminho.resolve('package.json');
117
- return JSON.parse(fs.readFileSync(manifesto, { encoding: 'utf8' })).version || '0.10';
119
+ const manifesto = caminho.resolve(__dirname, 'package.json');
120
+ return JSON.parse(fs.readFileSync(manifesto, { encoding: 'utf8' })).version || '0.11';
118
121
  }
119
122
  catch (error) {
120
- return '0.10 (desenvolvimento)';
123
+ return '0.11 (desenvolvimento)';
121
124
  }
122
125
  }
123
126
  /**
@@ -125,8 +128,9 @@ class Delegua {
125
128
  * ou seja, esperando como entrada linhas de código fornecidas pelo usuário.
126
129
  */
127
130
  iniciarLairDelegua() {
128
- console.log(`Console da Linguagem Delégua v${this.versao()}`);
129
- console.log('Pressione Ctrl + C para sair');
131
+ this.funcaoDeRetorno(`Usando dialeto: ${this.dialetos[this.dialeto]}`);
132
+ this.funcaoDeRetorno(`Console da Linguagem Delégua v${this.versao()}`);
133
+ this.funcaoDeRetorno('Pressione Ctrl + C para sair');
130
134
  const interfaceLeitura = readline.createInterface({
131
135
  input: process.stdin,
132
136
  output: process.stdout,
@@ -300,18 +304,10 @@ class Delegua {
300
304
  }
301
305
  }
302
306
  erroEmTempoDeExecucao(erro) {
303
- if (erro && erro.simbolo && erro.simbolo.linha) {
304
- // TODO: Voltar isso após revisar pragmas de Interpretador.
305
- /* if (this.nomeArquivo)
306
- console.error(
307
- chalk.red(`Erro: [Arquivo: ${this.nomeArquivo}] [Linha: ${erro.simbolo.linha}]`) + ` ${erro.mensagem}`
308
- );
309
- else */
310
- console.error(chalk_1.default.red(`Erro: [Linha: ${erro.simbolo.linha}]`) + ` ${erro.mensagem}`);
311
- }
312
- else {
313
- console.error(chalk_1.default.red(`Erro: [Linha: ${erro.linha || 0}]`) + ` ${erro.mensagem}`);
314
- }
307
+ var _a;
308
+ const linha = ((_a = erro === null || erro === void 0 ? void 0 : erro.simbolo) === null || _a === void 0 ? void 0 : _a.linha) || (erro === null || erro === void 0 ? void 0 : erro.linha);
309
+ const mensagem = (erro === null || erro === void 0 ? void 0 : erro.mensagem) || (erro === null || erro === void 0 ? void 0 : erro.message);
310
+ console.error(chalk_1.default.red(`Erro: [Linha: ${linha}]`) + ` ${mensagem}`);
315
311
  }
316
312
  }
317
313
  exports.Delegua = Delegua;
@@ -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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"}
@@ -4,17 +4,12 @@ import { Chamavel } from './chamavel';
4
4
  */
5
5
  export declare class ClassePadrao extends Chamavel {
6
6
  nome: string;
7
- funcaoDeClasse: Function;
8
- metodos: {
9
- [nome: string]: any;
10
- };
11
- constructor(nome: string, funcaoDeClasse: Function);
12
- encontrarMetodo(nome: string): Function;
7
+ funcaoDeClasse: any;
8
+ constructor(nome: string, funcaoDeClasse: any);
13
9
  paraTexto(): string;
14
10
  /**
15
- * Para o caso de uma classe padrão, chamá-la na verdade é
16
- * invocar o construtor e adicionar no corpo de propriedades
17
- * os métodos implementados para a classe original.
11
+ * Para o caso de uma classe padrão, instanciá-la é chamá-la
12
+ * como função tendo a palavra 'new' na frente.
18
13
  * @param argumentos
19
14
  * @param simbolo
20
15
  */
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClassePadrao = void 0;
4
4
  const chamavel_1 = require("./chamavel");
5
- const objeto_padrao_1 = require("./objeto-padrao");
6
5
  /**
7
6
  * Classe de importação de classes de bibliotecas do JavaScript.
8
7
  */
@@ -11,28 +10,18 @@ class ClassePadrao extends chamavel_1.Chamavel {
11
10
  super();
12
11
  this.nome = nome;
13
12
  this.funcaoDeClasse = funcaoDeClasse;
14
- this.metodos = {};
15
- }
16
- encontrarMetodo(nome) {
17
- if (this.metodos.hasOwnProperty(nome)) {
18
- return this.metodos[nome];
19
- }
20
- return undefined;
21
13
  }
22
14
  paraTexto() {
23
15
  return `<classe-padrão ${this.nome}>`;
24
16
  }
25
17
  /**
26
- * Para o caso de uma classe padrão, chamá-la na verdade é
27
- * invocar o construtor e adicionar no corpo de propriedades
28
- * os métodos implementados para a classe original.
18
+ * Para o caso de uma classe padrão, instanciá-la é chamá-la
19
+ * como função tendo a palavra 'new' na frente.
29
20
  * @param argumentos
30
21
  * @param simbolo
31
22
  */
32
23
  chamar(argumentos, simbolo) {
33
- const novoObjeto = new objeto_padrao_1.ObjetoPadrao(this.nome);
34
- this.funcaoDeClasse.apply(novoObjeto, argumentos);
35
- Object.assign(novoObjeto, this.metodos);
24
+ const novoObjeto = new this.funcaoDeClasse();
36
25
  return novoObjeto;
37
26
  }
38
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"classe-padrao.js","sourceRoot":"","sources":["../../../fontes/estruturas/classe-padrao.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,mDAA+C;AAE/C;;GAEG;AACH,MAAa,YAAa,SAAQ,mBAAQ;IAKtC,YAAY,IAAY,EAAE,cAAwB;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,eAAe,CAAC,IAAY;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YACnC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC7B;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,SAAS;QACL,OAAO,kBAAkB,IAAI,CAAC,IAAI,GAAG,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAiB,EAAE,OAAY;QAClC,MAAM,UAAU,GAAiB,IAAI,4BAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AArCD,oCAqCC"}
1
+ {"version":3,"file":"classe-padrao.js","sourceRoot":"","sources":["../../../fontes/estruturas/classe-padrao.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAGtC;;GAEG;AACH,MAAa,YAAa,SAAQ,mBAAQ;IAItC,YAAY,IAAY,EAAE,cAAmB;QACzC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED,SAAS;QACL,OAAO,kBAAkB,IAAI,CAAC,IAAI,GAAG,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,UAAiB,EAAE,OAAY;QAClC,MAAM,UAAU,GAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAClD,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AAxBD,oCAwBC"}
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * Um objeto padrão é uma instância de uma Classe Padrão (JavaScript).
3
+ * TODO: Marcado para depreciação na próxima versão.
3
4
  */
4
5
  export declare class ObjetoPadrao {
5
6
  classePadrao: string;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ObjetoPadrao = void 0;
4
4
  /**
5
5
  * Um objeto padrão é uma instância de uma Classe Padrão (JavaScript).
6
+ * TODO: Marcado para depreciação na próxima versão.
6
7
  */
7
8
  class ObjetoPadrao {
8
9
  constructor(classePadrao) {
@@ -1 +1 @@
1
- {"version":3,"file":"objeto-padrao.js","sourceRoot":"","sources":["../../../fontes/estruturas/objeto-padrao.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,YAAY;IAGrB,YAAY,YAAoB;QAC5B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAED,SAAS;QACL,IAAI,YAAY,GAAG,4BAA4B,IAAI,CAAC,YAAY,KAAK,CAAC;QACtE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9C,YAAY,IAAI,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;SAC/C;QACD,YAAY,IAAI,kBAAkB,CAAC;QACnC,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ;AAfD,oCAeC"}
1
+ {"version":3,"file":"objeto-padrao.js","sourceRoot":"","sources":["../../../fontes/estruturas/objeto-padrao.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,YAAY;IAGrB,YAAY,YAAoB;QAC5B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAED,SAAS;QACL,IAAI,YAAY,GAAG,4BAA4B,IAAI,CAAC,YAAY,KAAK,CAAC;QACtE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9C,YAAY,IAAI,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;SAC/C;QACD,YAAY,IAAI,kBAAkB,CAAC;QACnC,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ;AAfD,oCAeC"}
@@ -1,4 +1,4 @@
1
1
  export interface VariavelInterface {
2
2
  valor: any;
3
- tipo: 'texto' | 'número' | 'longo' | 'vetor' | 'dicionário' | 'nulo' | 'lógico' | 'função' | 'símbolo' | 'objeto';
3
+ tipo: 'texto' | 'número' | 'longo' | 'vetor' | 'dicionário' | 'nulo' | 'lógico' | 'função' | 'símbolo' | 'objeto' | 'módulo';
4
4
  }
@@ -1 +1 @@
1
- export declare function inferirTipoVariavel(variavel: string | number | Array<any> | boolean | null | undefined): "texto" | "número" | "longo" | "vetor" | "dicionário" | "nulo" | "lógico" | "função" | "símbolo";
1
+ export declare function inferirTipoVariavel(variavel: string | number | Array<any> | boolean | null | undefined): "texto" | "número" | "longo" | "vetor" | "dicionário" | "nulo" | "lógico" | "função" | "símbolo" | "módulo";
@@ -19,6 +19,8 @@ function inferirTipoVariavel(variavel) {
19
19
  return 'vetor';
20
20
  if (variavel === null)
21
21
  return 'nulo';
22
+ if (variavel.constructor.name === 'DeleguaModulo')
23
+ return 'módulo';
22
24
  return 'dicionário';
23
25
  case 'function':
24
26
  return 'função';
@@ -1 +1 @@
1
- {"version":3,"file":"inferenciador.js","sourceRoot":"","sources":["../../../fontes/interpretador/inferenciador.ts"],"names":[],"mappings":";;;AAAA,SAAgB,mBAAmB,CAC/B,QAAmE;IAEnE,MAAM,IAAI,GAAG,OAAO,QAAQ,CAAC;IAC7B,QAAQ,IAAI,EAAE;QACV,KAAK,QAAQ;YACT,OAAO,OAAO,CAAC;QACnB,KAAK,QAAQ;YACT,OAAO,QAAQ,CAAC;QACpB,KAAK,QAAQ;YACT,OAAO,OAAO,CAAC;QACnB,KAAK,SAAS;YACV,OAAO,QAAQ,CAAC;QACpB,KAAK,WAAW;YACZ,OAAO,MAAM,CAAC;QAClB,KAAK,QAAQ;YACT,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,OAAO,CAAC;YAC5C,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAC;YACrC,OAAO,YAAY,CAAC;QACxB,KAAK,UAAU;YACX,OAAO,QAAQ,CAAC;QACpB,KAAK,QAAQ;YACT,OAAO,SAAS,CAAC;KACxB;AACL,CAAC;AAxBD,kDAwBC"}
1
+ {"version":3,"file":"inferenciador.js","sourceRoot":"","sources":["../../../fontes/interpretador/inferenciador.ts"],"names":[],"mappings":";;;AAEA,SAAgB,mBAAmB,CAC/B,QAAmE;IAEnE,MAAM,IAAI,GAAG,OAAO,QAAQ,CAAC;IAC7B,QAAQ,IAAI,EAAE;QACV,KAAK,QAAQ;YACT,OAAO,OAAO,CAAC;QACnB,KAAK,QAAQ;YACT,OAAO,QAAQ,CAAC;QACpB,KAAK,QAAQ;YACT,OAAO,OAAO,CAAC;QACnB,KAAK,SAAS;YACV,OAAO,QAAQ,CAAC;QACpB,KAAK,WAAW;YACZ,OAAO,MAAM,CAAC;QAClB,KAAK,QAAQ;YACT,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,OAAO,CAAC;YAC5C,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAC;YACrC,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe;gBAAE,OAAO,QAAQ,CAAC;YACnE,OAAO,YAAY,CAAC;QACxB,KAAK,UAAU;YACX,OAAO,QAAQ,CAAC;QACpB,KAAK,QAAQ;YACT,OAAO,SAAS,CAAC;KACxB;AACL,CAAC;AAzBD,kDAyBC"}
@@ -307,8 +307,8 @@ class Interpretador {
307
307
  for (let i = 0; i < expressao.argumentos.length; i++) {
308
308
  argumentos.push(await this.avaliar(expressao.argumentos[i]));
309
309
  }
310
- if (!(entidadeChamada instanceof estruturas_1.Chamavel)) {
311
- return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, ' pode chamar função ou classe.', expressao.linha));
310
+ if (entidadeChamada instanceof estruturas_1.DeleguaModulo) {
311
+ return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, 'Entidade chamada é um módulo de Delégua. Provavelmente você quer chamar um de seus componentes?', expressao.linha));
312
312
  }
313
313
  if (entidadeChamada instanceof metodo_primitiva_1.MetodoPrimitiva) {
314
314
  const argumentosResolvidos = [];
@@ -332,9 +332,11 @@ class Interpretador {
332
332
  else {
333
333
  parametros = [];
334
334
  }
335
+ const aridade = entidadeChamada.aridade ?
336
+ entidadeChamada.aridade() : entidadeChamada.length;
335
337
  // Completar os parâmetros não preenchidos com nulos.
336
- if (argumentos.length < entidadeChamada.aridade()) {
337
- const diferenca = entidadeChamada.aridade() - argumentos.length;
338
+ if (argumentos.length < aridade) {
339
+ const diferenca = aridade - argumentos.length;
338
340
  for (let i = 0; i < diferenca; i++) {
339
341
  argumentos.push(null);
340
342
  }
@@ -356,7 +358,19 @@ class Interpretador {
356
358
  this.erros.push(erro);
357
359
  }
358
360
  }
359
- return entidadeChamada.chamar(this, argumentos);
361
+ if ((entidadeChamada instanceof estruturas_1.Chamavel)) {
362
+ return entidadeChamada.chamar(this, argumentos);
363
+ }
364
+ // A função chamada pode ser de uma biblioteca JavaScript.
365
+ // Neste caso apenas testamos se o tipo é uma função.
366
+ if (typeof entidadeChamada === 'function') {
367
+ let objeto = null;
368
+ if (expressao.entidadeChamada.objeto) {
369
+ objeto = await this.avaliar(expressao.entidadeChamada.objeto);
370
+ }
371
+ return entidadeChamada.apply(objeto.hasOwnProperty('valor') ? objeto.valor : objeto, argumentos);
372
+ }
373
+ return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, 'Só pode chamar função ou classe.', expressao.linha));
360
374
  }
361
375
  catch (erro) {
362
376
  console.log(erro);
@@ -540,7 +554,7 @@ class Interpretador {
540
554
  if (!caminhoTotal.endsWith('.egua') &&
541
555
  !caminhoTotal.endsWith('.delegua')) {
542
556
  try {
543
- return (0, importar_biblioteca_1.default)(caminhoRelativo);
557
+ return await (0, importar_biblioteca_1.default)(caminhoRelativo);
544
558
  }
545
559
  catch (erro) {
546
560
  this.erros.push(erro);
@@ -793,9 +807,21 @@ class Interpretador {
793
807
  if (objeto instanceof estruturas_1.ObjetoDeleguaClasse) {
794
808
  return objeto.obter(expressao.simbolo) || null;
795
809
  }
810
+ // TODO: Possivelmente depreciar esta forma.
811
+ // Não parece funcionar em momento algum.
796
812
  if (objeto.constructor === Object) {
797
813
  return objeto[expressao.simbolo.lexema] || null;
798
814
  }
815
+ // Função tradicional do JavaScript.
816
+ // Normalmente executa quando uma biblioteca é importada.
817
+ if (typeof objeto[expressao.simbolo.lexema] === 'function') {
818
+ return objeto[expressao.simbolo.lexema];
819
+ }
820
+ // Objeto tradicional do JavaScript.
821
+ // Normalmente executa quando uma biblioteca é importada.
822
+ if (typeof objeto[expressao.simbolo.lexema] === 'object') {
823
+ return objeto[expressao.simbolo.lexema];
824
+ }
799
825
  if (objeto instanceof estruturas_1.DeleguaModulo) {
800
826
  return objeto.componentes[expressao.simbolo.lexema] || null;
801
827
  }