@designliquido/delegua 0.33.10 → 0.33.12

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 (129) hide show
  1. package/analisador-semantico/dialetos/index.d.ts +0 -1
  2. package/analisador-semantico/dialetos/index.d.ts.map +1 -1
  3. package/analisador-semantico/dialetos/index.js +0 -1
  4. package/analisador-semantico/dialetos/index.js.map +1 -1
  5. package/avaliador-sintatico/dialetos/index.d.ts +0 -2
  6. package/avaliador-sintatico/dialetos/index.d.ts.map +1 -1
  7. package/avaliador-sintatico/dialetos/index.js +0 -2
  8. package/avaliador-sintatico/dialetos/index.js.map +1 -1
  9. package/bin/package.json +3 -5
  10. package/construtos/qual-tipo.d.ts.map +1 -1
  11. package/construtos/qual-tipo.js +1 -0
  12. package/construtos/qual-tipo.js.map +1 -1
  13. package/interfaces/index.d.ts +0 -1
  14. package/interfaces/index.d.ts.map +1 -1
  15. package/interfaces/index.js +0 -1
  16. package/interfaces/index.js.map +1 -1
  17. package/interfaces/interpretador-interface-potigol.d.ts.map +1 -1
  18. package/interpretador/dialetos/index.d.ts +0 -2
  19. package/interpretador/dialetos/index.d.ts.map +1 -1
  20. package/interpretador/dialetos/index.js +0 -2
  21. package/interpretador/dialetos/index.js.map +1 -1
  22. package/interpretador/interpretador-base.d.ts.map +1 -1
  23. package/interpretador/interpretador-base.js +5 -1
  24. package/interpretador/interpretador-base.js.map +1 -1
  25. package/lexador/dialetos/index.d.ts +0 -1
  26. package/lexador/dialetos/index.d.ts.map +1 -1
  27. package/lexador/dialetos/index.js +0 -1
  28. package/lexador/dialetos/index.js.map +1 -1
  29. package/package.json +3 -5
  30. package/analisador-semantico/dialetos/analisador-semantico-birl.d.ts +0 -29
  31. package/analisador-semantico/dialetos/analisador-semantico-birl.d.ts.map +0 -1
  32. package/analisador-semantico/dialetos/analisador-semantico-birl.js +0 -88
  33. package/analisador-semantico/dialetos/analisador-semantico-birl.js.map +0 -1
  34. package/avaliador-sintatico/dialetos/avaliador-sintatico-birl.d.ts +0 -54
  35. package/avaliador-sintatico/dialetos/avaliador-sintatico-birl.d.ts.map +0 -1
  36. package/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js +0 -674
  37. package/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js.map +0 -1
  38. package/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.d.ts +0 -125
  39. package/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.d.ts.map +0 -1
  40. package/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.js +0 -709
  41. package/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.js.map +0 -1
  42. package/avaliador-sintatico/dialetos/potigol/index.d.ts +0 -2
  43. package/avaliador-sintatico/dialetos/potigol/index.d.ts.map +0 -1
  44. package/avaliador-sintatico/dialetos/potigol/index.js +0 -18
  45. package/avaliador-sintatico/dialetos/potigol/index.js.map +0 -1
  46. package/avaliador-sintatico/dialetos/potigol/micro-avaliador-sintatico-potigol.d.ts +0 -13
  47. package/avaliador-sintatico/dialetos/potigol/micro-avaliador-sintatico-potigol.d.ts.map +0 -1
  48. package/avaliador-sintatico/dialetos/potigol/micro-avaliador-sintatico-potigol.js +0 -73
  49. package/avaliador-sintatico/dialetos/potigol/micro-avaliador-sintatico-potigol.js.map +0 -1
  50. package/bibliotecas/dialetos/potigol/biblioteca-global.d.ts +0 -4
  51. package/bibliotecas/dialetos/potigol/biblioteca-global.d.ts.map +0 -1
  52. package/bibliotecas/dialetos/potigol/biblioteca-global.js +0 -44
  53. package/bibliotecas/dialetos/potigol/biblioteca-global.js.map +0 -1
  54. package/bibliotecas/dialetos/potigol/primitivas-numero.d.ts +0 -13
  55. package/bibliotecas/dialetos/potigol/primitivas-numero.d.ts.map +0 -1
  56. package/bibliotecas/dialetos/potigol/primitivas-numero.js +0 -13
  57. package/bibliotecas/dialetos/potigol/primitivas-numero.js.map +0 -1
  58. package/bibliotecas/dialetos/potigol/primitivas-texto.d.ts +0 -29
  59. package/bibliotecas/dialetos/potigol/primitivas-texto.d.ts.map +0 -1
  60. package/bibliotecas/dialetos/potigol/primitivas-texto.js +0 -37
  61. package/bibliotecas/dialetos/potigol/primitivas-texto.js.map +0 -1
  62. package/bibliotecas/dialetos/potigol/primitivas-vetor.d.ts +0 -27
  63. package/bibliotecas/dialetos/potigol/primitivas-vetor.d.ts.map +0 -1
  64. package/bibliotecas/dialetos/potigol/primitivas-vetor.js +0 -49
  65. package/bibliotecas/dialetos/potigol/primitivas-vetor.js.map +0 -1
  66. package/interfaces/dialetos/index.d.ts +0 -2
  67. package/interfaces/dialetos/index.d.ts.map +0 -1
  68. package/interfaces/dialetos/index.js +0 -18
  69. package/interfaces/dialetos/index.js.map +0 -1
  70. package/interfaces/dialetos/interpretador-birl-interface.d.ts +0 -12
  71. package/interfaces/dialetos/interpretador-birl-interface.d.ts.map +0 -1
  72. package/interfaces/dialetos/interpretador-birl-interface.js +0 -3
  73. package/interfaces/dialetos/interpretador-birl-interface.js.map +0 -1
  74. package/interfaces/interpretador-interface-birl.d.ts +0 -23
  75. package/interfaces/interpretador-interface-birl.d.ts.map +0 -1
  76. package/interfaces/interpretador-interface-birl.js +0 -3
  77. package/interfaces/interpretador-interface-birl.js.map +0 -1
  78. package/interpretador/dialetos/birl/comum.d.ts +0 -17
  79. package/interpretador/dialetos/birl/comum.d.ts.map +0 -1
  80. package/interpretador/dialetos/birl/comum.js +0 -271
  81. package/interpretador/dialetos/birl/comum.js.map +0 -1
  82. package/interpretador/dialetos/birl/index.d.ts +0 -3
  83. package/interpretador/dialetos/birl/index.d.ts.map +0 -1
  84. package/interpretador/dialetos/birl/index.js +0 -19
  85. package/interpretador/dialetos/birl/index.js.map +0 -1
  86. package/interpretador/dialetos/birl/interpretador-birl-com-depuracao.d.ts +0 -27
  87. package/interpretador/dialetos/birl/interpretador-birl-com-depuracao.d.ts.map +0 -1
  88. package/interpretador/dialetos/birl/interpretador-birl-com-depuracao.js +0 -68
  89. package/interpretador/dialetos/birl/interpretador-birl-com-depuracao.js.map +0 -1
  90. package/interpretador/dialetos/birl/interpretador-birl.d.ts +0 -158
  91. package/interpretador/dialetos/birl/interpretador-birl.d.ts.map +0 -1
  92. package/interpretador/dialetos/birl/interpretador-birl.js +0 -702
  93. package/interpretador/dialetos/birl/interpretador-birl.js.map +0 -1
  94. package/interpretador/dialetos/potigol/comum.d.ts +0 -22
  95. package/interpretador/dialetos/potigol/comum.d.ts.map +0 -1
  96. package/interpretador/dialetos/potigol/comum.js +0 -116
  97. package/interpretador/dialetos/potigol/comum.js.map +0 -1
  98. package/interpretador/dialetos/potigol/index.d.ts +0 -3
  99. package/interpretador/dialetos/potigol/index.d.ts.map +0 -1
  100. package/interpretador/dialetos/potigol/index.js +0 -19
  101. package/interpretador/dialetos/potigol/index.js.map +0 -1
  102. package/interpretador/dialetos/potigol/inferenciador.d.ts +0 -2
  103. package/interpretador/dialetos/potigol/inferenciador.d.ts.map +0 -1
  104. package/interpretador/dialetos/potigol/inferenciador.js +0 -34
  105. package/interpretador/dialetos/potigol/inferenciador.js.map +0 -1
  106. package/interpretador/dialetos/potigol/interpretador-potigol-com-depuracao.d.ts +0 -9
  107. package/interpretador/dialetos/potigol/interpretador-potigol-com-depuracao.d.ts.map +0 -1
  108. package/interpretador/dialetos/potigol/interpretador-potigol-com-depuracao.js +0 -48
  109. package/interpretador/dialetos/potigol/interpretador-potigol-com-depuracao.js.map +0 -1
  110. package/interpretador/dialetos/potigol/interpretador-potigol.d.ts +0 -16
  111. package/interpretador/dialetos/potigol/interpretador-potigol.d.ts.map +0 -1
  112. package/interpretador/dialetos/potigol/interpretador-potigol.js +0 -104
  113. package/interpretador/dialetos/potigol/interpretador-potigol.js.map +0 -1
  114. package/lexador/dialetos/lexador-birl.d.ts +0 -14
  115. package/lexador/dialetos/lexador-birl.d.ts.map +0 -1
  116. package/lexador/dialetos/lexador-birl.js +0 -240
  117. package/lexador/dialetos/lexador-birl.js.map +0 -1
  118. package/lexador/dialetos/palavras-reservadas/birl.d.ts +0 -46
  119. package/lexador/dialetos/palavras-reservadas/birl.d.ts.map +0 -1
  120. package/lexador/dialetos/palavras-reservadas/birl.js +0 -65
  121. package/lexador/dialetos/palavras-reservadas/birl.js.map +0 -1
  122. package/lexador/dialetos/palavras-reservadas/index.d.ts +0 -2
  123. package/lexador/dialetos/palavras-reservadas/index.d.ts.map +0 -1
  124. package/lexador/dialetos/palavras-reservadas/index.js +0 -6
  125. package/lexador/dialetos/palavras-reservadas/index.js.map +0 -1
  126. package/tipos-de-simbolos/birl.d.ts +0 -91
  127. package/tipos-de-simbolos/birl.d.ts.map +0 -1
  128. package/tipos-de-simbolos/birl.js +0 -98
  129. package/tipos-de-simbolos/birl.js.map +0 -1
@@ -1,271 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.interpretar = exports.visitarDeclaracaoPara = exports.visitarExpressaoLiteral = exports.visitarExpressaoLeia = exports.substituirValor = exports.verificaTipoDaInterpolação = exports.resolveQuantidadeDeInterpolacoes = exports.avaliarArgumentosEscreva = exports.atribuirVariavel = void 0;
4
- const construtos_1 = require("../../../construtos");
5
- const espaco_variaveis_1 = require("../../../espaco-variaveis");
6
- const excecoes_1 = require("../../../excecoes");
7
- const quebras_1 = require("../../../quebras");
8
- function converteTipoOuEstouraError(valor, tipo) {
9
- try {
10
- switch (tipo) {
11
- case 'texto':
12
- return String(valor);
13
- case 'número':
14
- if (valor.includes('.')) {
15
- return parseFloat(valor);
16
- }
17
- var numero = Number(valor);
18
- if (isNaN(numero)) {
19
- throw new Error(`Não foi possível converter o valor "${valor}" para o tipo ${tipo}.`);
20
- }
21
- return numero;
22
- default:
23
- return valor;
24
- }
25
- }
26
- catch (err) {
27
- throw new Error(`Não foi possível converter o valor "${valor}" para o tipo ${tipo}.`);
28
- }
29
- }
30
- async function atribuirVariavel(interpretador, expressao, valor, tipo) {
31
- valor = converteTipoOuEstouraError(valor, tipo);
32
- if (expressao instanceof construtos_1.Variavel) {
33
- interpretador.pilhaEscoposExecucao.atribuirVariavel(expressao.simbolo, valor);
34
- return;
35
- }
36
- if (expressao instanceof construtos_1.AcessoIndiceVariavel) {
37
- const promises = await Promise.all([
38
- interpretador.avaliar(expressao.entidadeChamada),
39
- interpretador.avaliar(expressao.indice),
40
- ]);
41
- let alvo = promises[0];
42
- let indice = promises[1];
43
- const subtipo = alvo.hasOwnProperty('subtipo') ? alvo.subtipo : undefined;
44
- if (alvo.hasOwnProperty('valor')) {
45
- alvo = alvo.valor;
46
- }
47
- if (indice.hasOwnProperty('valor')) {
48
- indice = indice.valor;
49
- }
50
- let valorResolvido;
51
- switch (subtipo) {
52
- case 'texto':
53
- valorResolvido = String(valor);
54
- break;
55
- case 'número':
56
- valorResolvido = Number(valor);
57
- break;
58
- case 'lógico':
59
- valorResolvido = Boolean(valor);
60
- break;
61
- default:
62
- valorResolvido = valor;
63
- break;
64
- }
65
- alvo[indice] = valorResolvido;
66
- }
67
- }
68
- exports.atribuirVariavel = atribuirVariavel;
69
- async function avaliarArgumentosEscreva(interpretador, argumentos) {
70
- let formatoTexto = '';
71
- let quantidadeInterpolacoes;
72
- if (argumentos.length < 1) {
73
- throw new Error('Escreva precisa de pelo menos um argumento.');
74
- }
75
- if (typeof argumentos[0].valor !== 'string') {
76
- throw new Error('O primeiro argumento de Escreva precisa ser uma string.');
77
- }
78
- quantidadeInterpolacoes = await interpretador.resolveQuantidadeDeInterpolacoes(argumentos[0]);
79
- const resultadoAvaliacaoLiteral = await interpretador.avaliar(argumentos[0]);
80
- if (quantidadeInterpolacoes === null) {
81
- formatoTexto = (resultadoAvaliacaoLiteral === null || resultadoAvaliacaoLiteral === void 0 ? void 0 : resultadoAvaliacaoLiteral.hasOwnProperty('valor'))
82
- ? resultadoAvaliacaoLiteral.valor
83
- : resultadoAvaliacaoLiteral;
84
- return formatoTexto;
85
- }
86
- if (!(argumentos.length - 1 === quantidadeInterpolacoes.length)) {
87
- throw new Error('Quantidade de argumentos não bate com quantidade de interpolacoes.');
88
- }
89
- formatoTexto = resultadoAvaliacaoLiteral;
90
- for (let i = 0; i < quantidadeInterpolacoes.length; i++) {
91
- const dados = {
92
- tipo: quantidadeInterpolacoes[i].replace('%', ''),
93
- valor: await interpretador.avaliar(argumentos[i + 1]),
94
- };
95
- if (interpretador.verificaTipoDaInterpolação(dados)) {
96
- formatoTexto = await interpretador.substituirValor(formatoTexto, dados.valor, dados.tipo);
97
- }
98
- }
99
- return formatoTexto.trimEnd();
100
- }
101
- exports.avaliarArgumentosEscreva = avaliarArgumentosEscreva;
102
- async function resolveQuantidadeDeInterpolacoes(texto) {
103
- const stringOriginal = texto.valor;
104
- const regex = /%[a-zA-Z]/g;
105
- const matches = stringOriginal.match(regex);
106
- return matches;
107
- }
108
- exports.resolveQuantidadeDeInterpolacoes = resolveQuantidadeDeInterpolacoes;
109
- async function verificaTipoDaInterpolação(dados) {
110
- switch (dados.tipo) {
111
- case 'd':
112
- case 'i':
113
- case 'u':
114
- const valor = dados.valor.hasOwnProperty('valor') ? dados.valor.valor : dados.valor;
115
- if (typeof valor !== 'number') {
116
- throw new Error('O valor interpolado não é um número.');
117
- }
118
- return true;
119
- case 'c':
120
- case 's':
121
- const valorString = dados.valor.hasOwnProperty('valor') ? dados.valor.valor : dados.valor;
122
- if (typeof valorString !== 'string') {
123
- throw new Error('O valor interpolado não é um caractere.');
124
- }
125
- return true;
126
- default:
127
- throw new Error('Tipo de interpolação não suportado.');
128
- }
129
- }
130
- exports.verificaTipoDaInterpolação = verificaTipoDaInterpolação;
131
- async function substituirValor(stringOriginal, novoValor, simboloTipo) {
132
- let substituida = false;
133
- let resultado = '';
134
- for (let i = 0; i < stringOriginal.length; i++) {
135
- if (stringOriginal[i] === '%' && stringOriginal[i + 1] === simboloTipo && !substituida) {
136
- switch (simboloTipo) {
137
- case 'd':
138
- case 'i':
139
- case 'u':
140
- case 'f':
141
- case 'F':
142
- case 'e':
143
- case 'E':
144
- case 'g':
145
- case 'G':
146
- case 'x':
147
- case 'X':
148
- case 'o':
149
- case 'c':
150
- case 's':
151
- case 'p':
152
- resultado += novoValor.hasOwnProperty('valor') ? novoValor.valor : novoValor;
153
- break;
154
- default:
155
- resultado += stringOriginal[i];
156
- break;
157
- }
158
- substituida = true;
159
- i++;
160
- }
161
- else {
162
- resultado += stringOriginal[i];
163
- }
164
- }
165
- return resultado;
166
- }
167
- exports.substituirValor = substituirValor;
168
- async function visitarExpressaoLeia(interpretador, expressao) {
169
- // const mensagem = expressao.argumentos && expressao.argumentos[0] ? expressao.argumentos[0].valor : '> ';
170
- /**
171
- * Em Birl não se usa mensagem junto com o prompt, normalmente se usa um Escreva antes.
172
- */
173
- const mensagem = '> ';
174
- const promessaLeitura = () => new Promise((resolucao) => interpretador.interfaceEntradaSaida.question(mensagem, (resposta) => {
175
- resolucao(resposta);
176
- }));
177
- const valorLido = await promessaLeitura();
178
- await atribuirVariavel(interpretador, expressao.argumentos[0], valorLido, expressao.argumentos[1].valor);
179
- return;
180
- }
181
- exports.visitarExpressaoLeia = visitarExpressaoLeia;
182
- async function visitarExpressaoLiteral(expressao) {
183
- // TODO(Ítalo): Essa lógica não me parece correta.
184
- // Além disso, o `return` deveria ser com `Promise.resolve`.
185
- /* if (expressao.valor === tiposDeSimbolos.ADICAO) {
186
- return 1;
187
- }
188
-
189
- if (expressao.valor === tiposDeSimbolos.SUBTRACAO) {
190
- return -1;
191
- } */
192
- return Promise.resolve(expressao.valor);
193
- }
194
- exports.visitarExpressaoLiteral = visitarExpressaoLiteral;
195
- async function visitarDeclaracaoPara(interpretador, declaracao) {
196
- if (declaracao.inicializador !== null) {
197
- if (declaracao.inicializador instanceof Array) {
198
- if (declaracao.inicializador[0] instanceof construtos_1.Variavel) {
199
- const valor = await interpretador.avaliar(declaracao.inicializador[1]);
200
- interpretador.pilhaEscoposExecucao.atribuirVariavel(declaracao.inicializador[0].simbolo, valor);
201
- }
202
- }
203
- else {
204
- await interpretador.avaliar(declaracao.inicializador);
205
- }
206
- }
207
- let retornoExecucao;
208
- while (!(retornoExecucao instanceof quebras_1.Quebra)) {
209
- if (declaracao.condicao !== null &&
210
- !interpretador.eVerdadeiro(await interpretador.avaliar(declaracao.condicao))) {
211
- break;
212
- }
213
- try {
214
- retornoExecucao = await interpretador.executar(declaracao.corpo, false);
215
- if (retornoExecucao instanceof quebras_1.SustarQuebra) {
216
- return null;
217
- }
218
- if (retornoExecucao instanceof quebras_1.ContinuarQuebra) {
219
- retornoExecucao = null;
220
- }
221
- }
222
- catch (erro) {
223
- interpretador.erros.push({
224
- erroInterno: erro,
225
- linha: declaracao.linha,
226
- hashArquivo: declaracao.hashArquivo,
227
- });
228
- return Promise.reject(erro);
229
- }
230
- if (declaracao.incrementar !== null) {
231
- await interpretador.avaliar(declaracao.incrementar);
232
- }
233
- }
234
- return retornoExecucao;
235
- }
236
- exports.visitarDeclaracaoPara = visitarDeclaracaoPara;
237
- async function interpretar(interpretador, declaracoes, manterAmbiente) {
238
- interpretador.erros = [];
239
- const escopoExecucao = {
240
- declaracoes: declaracoes,
241
- declaracaoAtual: 0,
242
- ambiente: new espaco_variaveis_1.EspacoVariaveis(),
243
- finalizado: false,
244
- tipo: 'outro',
245
- emLacoRepeticao: false,
246
- };
247
- interpretador.pilhaEscoposExecucao.empilhar(escopoExecucao);
248
- try {
249
- const retornoOuErro = await interpretador.executarUltimoEscopo(manterAmbiente);
250
- if (retornoOuErro instanceof excecoes_1.ErroEmTempoDeExecucao) {
251
- interpretador.erros.push(retornoOuErro);
252
- }
253
- }
254
- catch (erro) {
255
- interpretador.erros.push({
256
- erroInterno: erro,
257
- linha: -1,
258
- hashArquivo: -1,
259
- });
260
- }
261
- finally {
262
- const retorno = {
263
- erros: interpretador.erros,
264
- resultado: interpretador.resultadoInterpretador,
265
- };
266
- interpretador.resultadoInterpretador = [];
267
- return retorno;
268
- }
269
- }
270
- exports.interpretar = interpretar;
271
- //# sourceMappingURL=comum.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"comum.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/birl/comum.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export * from './interpretador-birl';
2
- export * from './interpretador-birl-com-depuracao';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/birl/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oCAAoC,CAAC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./interpretador-birl"), exports);
18
- __exportStar(require("./interpretador-birl-com-depuracao"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/birl/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,qEAAmD"}
@@ -1,27 +0,0 @@
1
- import { Construto, Literal } from '../../../construtos';
2
- import { Declaracao, Leia, Para } from '../../../declaracoes';
3
- import { InterpretadorBirlInterface } from '../../../interfaces/dialetos/interpretador-birl-interface';
4
- import { RetornoInterpretador } from '../../../interfaces/retornos';
5
- import { InterpretadorComDepuracao } from '../../interpretador-com-depuracao';
6
- export declare class InterpretadorBirlComDepuracao extends InterpretadorComDepuracao implements InterpretadorBirlInterface {
7
- constructor(diretorioBase: string, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
8
- atribuirVariavel(interpretador: InterpretadorBirlInterface, expressao: Construto, valor: any, tipo: string): Promise<any>;
9
- resolveQuantidadeDeInterpolacoes(expressao: Literal): Promise<RegExpMatchArray>;
10
- verificaTipoDaInterpolação(dados: {
11
- tipo: string;
12
- valor: any;
13
- }): Promise<boolean>;
14
- substituirValor(stringOriginal: string, novoValor: any, simboloTipo: string): Promise<string>;
15
- /**
16
- * Execução da leitura de valores da entrada configurada no
17
- * início da aplicação.
18
- * @param expressao Expressão do tipo Leia
19
- * @returns Promise com o resultado da leitura.
20
- */
21
- visitarExpressaoLeia(expressao: Leia): Promise<any>;
22
- visitarExpressaoLiteral(expressao: Literal): Promise<any>;
23
- visitarDeclaracaoPara(declaracao: Para): Promise<any>;
24
- avaliarArgumentosEscreva(argumentos: Construto[]): Promise<string>;
25
- interpretar(declaracoes: Declaracao[], manterAmbiente?: boolean): Promise<RetornoInterpretador>;
26
- }
27
- //# sourceMappingURL=interpretador-birl-com-depuracao.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpretador-birl-com-depuracao.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/birl/interpretador-birl-com-depuracao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2DAA2D,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAG9E,qBAAa,6BAA8B,SAAQ,yBAA0B,YAAW,0BAA0B;gBAClG,aAAa,EAAE,MAAM,EAAE,eAAe,GAAE,QAAe,EAAE,yBAAyB,GAAE,QAAe;IAIzG,gBAAgB,CAClB,aAAa,EAAE,0BAA0B,EACzC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,GAAG,EACV,IAAI,EAAE,MAAM,GACb,OAAO,CAAC,GAAG,CAAC;IAIT,gCAAgC,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI/E,0BAA0B,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjF,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAInG;;;;;OAKG;IACG,oBAAoB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAInD,uBAAuB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAIzD,qBAAqB,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAIrD,wBAAwB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlE,WAAW,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAGxG"}
@@ -1,68 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.InterpretadorBirlComDepuracao = void 0;
27
- const interpretador_com_depuracao_1 = require("../../interpretador-com-depuracao");
28
- const comum = __importStar(require("./comum"));
29
- class InterpretadorBirlComDepuracao extends interpretador_com_depuracao_1.InterpretadorComDepuracao {
30
- constructor(diretorioBase, funcaoDeRetorno = null, funcaoDeRetornoMesmaLinha = null) {
31
- super(diretorioBase, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
32
- }
33
- async atribuirVariavel(interpretador, expressao, valor, tipo) {
34
- return comum.atribuirVariavel(interpretador, expressao, valor, tipo);
35
- }
36
- async resolveQuantidadeDeInterpolacoes(expressao) {
37
- return comum.resolveQuantidadeDeInterpolacoes(expressao);
38
- }
39
- async verificaTipoDaInterpolação(dados) {
40
- return comum.verificaTipoDaInterpolação(dados);
41
- }
42
- async substituirValor(stringOriginal, novoValor, simboloTipo) {
43
- return comum.substituirValor(stringOriginal, novoValor, simboloTipo);
44
- }
45
- /**
46
- * Execução da leitura de valores da entrada configurada no
47
- * início da aplicação.
48
- * @param expressao Expressão do tipo Leia
49
- * @returns Promise com o resultado da leitura.
50
- */
51
- async visitarExpressaoLeia(expressao) {
52
- await comum.visitarExpressaoLeia(this, expressao);
53
- }
54
- async visitarExpressaoLiteral(expressao) {
55
- return comum.visitarExpressaoLiteral(expressao);
56
- }
57
- async visitarDeclaracaoPara(declaracao) {
58
- return comum.visitarDeclaracaoPara(this, declaracao);
59
- }
60
- async avaliarArgumentosEscreva(argumentos) {
61
- return comum.avaliarArgumentosEscreva(this, argumentos);
62
- }
63
- async interpretar(declaracoes, manterAmbiente) {
64
- return comum.interpretar(this, declaracoes, manterAmbiente);
65
- }
66
- }
67
- exports.InterpretadorBirlComDepuracao = InterpretadorBirlComDepuracao;
68
- //# sourceMappingURL=interpretador-birl-com-depuracao.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpretador-birl-com-depuracao.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/birl/interpretador-birl-com-depuracao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mFAA8E;AAC9E,+CAAiC;AAEjC,MAAa,6BAA8B,SAAQ,uDAAyB;IACxE,YAAY,aAAqB,EAAE,kBAA4B,IAAI,EAAE,4BAAsC,IAAI;QAC3G,KAAK,CAAC,aAAa,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAClB,aAAyC,EACzC,SAAoB,EACpB,KAAU,EACV,IAAY;QAEZ,OAAO,KAAK,CAAC,gBAAgB,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,gCAAgC,CAAC,SAAkB;QACrD,OAAO,KAAK,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,KAAmC;QAChE,OAAO,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,cAAsB,EAAE,SAAc,EAAE,WAAmB;QAC7E,OAAO,KAAK,CAAC,eAAe,CAAC,cAAc,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAe;QACtC,MAAM,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,SAAkB;QAC5C,OAAO,KAAK,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,UAAgB;QACxC,OAAO,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,UAAuB;QAClD,OAAO,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAyB,EAAE,cAAwB;QACjE,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAChE,CAAC;CACJ;AAnDD,sEAmDC"}
@@ -1,158 +0,0 @@
1
- import { Atribuir, Binario, Construto, FimPara, Literal, Logico, Super, TipoDe, Unario, Variavel } from '../../../construtos';
2
- import { Bloco, Classe, Const, Continua, Declaracao, Enquanto, Escolha, Escreva, EscrevaMesmaLinha, Expressao, Fazer, FuncaoDeclaracao, Leia, Para, ParaCada, Retorna, Se, Tente, Var } from '../../../declaracoes';
3
- import { EspacoVariaveis } from '../../../espaco-variaveis';
4
- import { SimboloInterface, VariavelInterface } from '../../../interfaces';
5
- import { ErroInterpretador } from '../../../interfaces/erros/erro-interpretador';
6
- import { InterpretadorInterfaceBirl } from '../../../interfaces/interpretador-interface-birl';
7
- import { PilhaEscoposExecucaoInterface } from '../../../interfaces/pilha-escopos-execucao-interface';
8
- import { RetornoInterpretador } from '../../../interfaces/retornos';
9
- import { ContinuarQuebra, RetornoQuebra, SustarQuebra } from '../../../quebras';
10
- import { InterpretadorBase } from '../../interpretador-base';
11
- export declare class InterpretadorBirl extends InterpretadorBase implements InterpretadorInterfaceBirl {
12
- diretorioBase: any;
13
- funcaoDeRetorno: Function;
14
- funcaoDeRetornoMesmaLinha: Function;
15
- pilhaEscoposExecucao: PilhaEscoposExecucaoInterface;
16
- interfaceEntradaSaida: any;
17
- erros: ErroInterpretador[];
18
- declaracoes: Declaracao[];
19
- resultadoInterpretador: Array<string>;
20
- regexInterpolacao: RegExp;
21
- expressoesStringC: {
22
- '%d': string;
23
- '%i': string;
24
- '%u': string;
25
- '%f': string;
26
- '%F': string;
27
- '%e': string;
28
- '%E': string;
29
- '%g': string;
30
- '%G': string;
31
- '%x': string;
32
- '%X': string;
33
- '%o': string;
34
- '%s': string;
35
- '%c': string;
36
- '%p': string;
37
- };
38
- constructor(diretorioBase: string, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
39
- visitarExpressaoTipoDe(expressao: TipoDe): Promise<any>;
40
- visitarExpressaoFalhar(expressao: any): Promise<any>;
41
- avaliar(expressao: Construto | Declaracao): Promise<any>;
42
- /**
43
- * Empilha declarações na pilha de escopos de execução, cria um novo ambiente e
44
- * executa as declarações empilhadas.
45
- * Se o retorno do último bloco foi uma exceção (normalmente um erro em tempo de execução),
46
- * atira a exceção daqui.
47
- * Isso é usado, por exemplo, em blocos tente ... pegue ... finalmente.
48
- * @param declaracoes Um vetor de declaracoes a ser executado.
49
- * @param ambiente O ambiente de execução quando houver, como parâmetros, argumentos, etc.
50
- */
51
- executarBloco(declaracoes: Declaracao[], ambiente?: EspacoVariaveis): Promise<any>;
52
- visitarExpressaoAgrupamento(expressao: any): Promise<any>;
53
- protected verificarOperandoNumero(operador: SimboloInterface, operando: any): void;
54
- visitarExpressaoUnaria(expressao: Unario): Promise<any>;
55
- protected eIgual(esquerda: VariavelInterface | any, direita: VariavelInterface | any): boolean;
56
- /**
57
- * Verifica se operandos são números, que podem ser tanto variáveis puras do JavaScript
58
- * (neste caso, `number`), ou podem ser variáveis de Delégua com inferência (`VariavelInterface`).
59
- * @param operador O símbolo do operador.
60
- * @param direita O operando direito.
61
- * @param esquerda O operando esquerdo.
62
- * @returns Se ambos os operandos são números ou não.
63
- */
64
- protected verificarOperandosNumeros(operador: SimboloInterface, direita: VariavelInterface | any, esquerda: VariavelInterface | any): void;
65
- visitarExpressaoBinaria(expressao: Binario): Promise<any>;
66
- /**
67
- * Executa uma chamada de função, método ou classe.
68
- * @param expressao A expressão chamada.
69
- * @returns O resultado da chamada.
70
- */
71
- visitarExpressaoDeChamada(expressao: any): Promise<any>;
72
- visitarExpressaoDeAtribuicao(expressao: Atribuir): Promise<void>;
73
- protected procurarVariavel(simbolo: SimboloInterface): any;
74
- visitarExpressaoDeVariavel(expressao: Variavel): any;
75
- visitarDeclaracaoDeExpressao(declaracao: Expressao): Promise<void>;
76
- /**
77
- * Execução da leitura de valores da entrada configurada no
78
- * início da aplicação.
79
- * @param expressao Expressão do tipo Leia
80
- * @returns Promise com o resultado da leitura.
81
- */
82
- visitarExpressaoLeia(expressao: Leia): Promise<any>;
83
- visitarExpressaoLiteral(expressao: Literal): Promise<any>;
84
- visitarExpressaoLogica(expressao: Logico): Promise<any>;
85
- visitarDeclaracaoPara(declaracao: Para): Promise<any>;
86
- visitarDeclaracaoParaCada(declaracao: ParaCada): Promise<any>;
87
- eVerdadeiro(objeto: any): boolean;
88
- /**
89
- * Executa uma expressão Se, que tem uma condição, pode ter um bloco
90
- * Senão, e múltiplos blocos Senão-se.
91
- * @param declaracao A declaração Se.
92
- * @returns O resultado da avaliação do bloco cuja condição é verdadeira.
93
- */
94
- visitarDeclaracaoSe(declaracao: Se): Promise<any>;
95
- visitarExpressaoFimPara(declaracao: FimPara): never;
96
- visitarDeclaracaoFazer(declaracao: Fazer): Promise<void>;
97
- visitarDeclaracaoEscolha(declaracao: Escolha): Promise<void>;
98
- visitarDeclaracaoTente(declaracao: Tente): Promise<void>;
99
- visitarDeclaracaoEnquanto(declaracao: Enquanto): Promise<any>;
100
- substituirValor(stringOriginal: string, novoValor: number | string | any, simboloTipo: string): Promise<string>;
101
- resolveQuantidadeDeInterpolacoes(texto: Literal): Promise<RegExpMatchArray>;
102
- verificaTipoDaInterpolação(dados: {
103
- tipo: string;
104
- valor: any;
105
- }): Promise<boolean>;
106
- avaliarArgumentosEscreva(argumentos: Construto[]): Promise<string>;
107
- /**
108
- * Execução de uma escrita na saída configurada, que pode ser `console` (padrão) ou
109
- * alguma função para escrever numa página Web.
110
- * @param declaracao A declaração.
111
- * @returns Sempre nulo, por convenção de visita.
112
- */
113
- visitarDeclaracaoEscreva(declaracao: Escreva): Promise<any>;
114
- visitarDeclaracaoEscrevaMesmaLinha(declaracao: EscrevaMesmaLinha): Promise<void>;
115
- visitarExpressaoBloco(declaracao: Bloco): Promise<any>;
116
- protected avaliacaoDeclaracaoVarOuConst(declaracao: Var): Promise<any>;
117
- /**
118
- * Executa expressão de definição de variável.
119
- * @param declaracao A declaração Var
120
- * @returns Sempre retorna nulo.
121
- */
122
- visitarDeclaracaoVar(declaracao: Var): Promise<any>;
123
- visitarDeclaracaoConst(declaracao: Const): Promise<any>;
124
- visitarExpressaoContinua(declaracao?: Continua): ContinuarQuebra;
125
- visitarExpressaoSustar(declaracao?: any): SustarQuebra;
126
- visitarExpressaoRetornar(declaracao: Retorna): Promise<RetornoQuebra>;
127
- visitarExpressaoAtribuicaoPorIndice(expressao: any): Promise<any>;
128
- visitarExpressaoAcessoIndiceVariavel(expressao: any): Promise<void>;
129
- visitarExpressaoDefinirValor(expressao: any): Promise<void>;
130
- visitarDeclaracaoDefinicaoFuncao(declaracao: FuncaoDeclaracao): void;
131
- visitarDeclaracaoClasse(declaracao: Classe): Promise<void>;
132
- visitarExpressaoAcessoMetodo(expressao: any): Promise<void>;
133
- visitarExpressaoIsto(expressao: any): never;
134
- visitarExpressaoDicionario(expressao: any): Promise<void>;
135
- visitarExpressaoVetor(expressao: any): Promise<void>;
136
- visitarExpressaoSuper(expressao: Super): never;
137
- paraTexto(objeto: any): any;
138
- /**
139
- * Efetivamente executa uma declaração.
140
- * @param declaracao A declaração a ser executada.
141
- * @param mostrarResultado Se resultado deve ser mostrado ou não. Normalmente usado
142
- * pelo modo LAIR.
143
- */
144
- executar(declaracao: Declaracao, mostrarResultado?: boolean): Promise<any>;
145
- /**
146
- * Executa o último escopo empilhado no topo na pilha de escopos do interpretador.
147
- * Esse método pega exceções, mas apenas as devolve.
148
- *
149
- * O tratamento das exceções é feito de acordo com o bloco chamador.
150
- * Por exemplo, em `tente ... pegue ... finalmente`, a exceção é capturada e tratada.
151
- * Em outros blocos, pode ser desejável ter o erro em tela.
152
- * @param manterAmbiente Se verdadeiro, ambiente do topo da pilha de escopo é copiado para o ambiente imediatamente abaixo.
153
- * @returns O resultado da execução do escopo, se houver.
154
- */
155
- executarUltimoEscopo(manterAmbiente?: boolean): Promise<any>;
156
- interpretar(declaracoes: Declaracao[], manterAmbiente?: boolean): Promise<RetornoInterpretador>;
157
- }
158
- //# sourceMappingURL=interpretador-birl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpretador-birl.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/birl/interpretador-birl.ts"],"names":[],"mappings":"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"}