@designliquido/delegua-node 1.13.4 → 1.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.
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.d.ts +8 -1
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.js +171 -1
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.js.map +1 -1
- package/avaliador-sintatico/micro-avaliador-ajuda.d.ts +38 -0
- package/avaliador-sintatico/micro-avaliador-ajuda.d.ts.map +1 -0
- package/avaliador-sintatico/micro-avaliador-ajuda.js +100 -0
- package/avaliador-sintatico/micro-avaliador-ajuda.js.map +1 -0
- package/bin/package.json +9 -7
- package/interpretador/comum.d.ts +19 -1
- package/interpretador/comum.d.ts.map +1 -1
- package/interpretador/comum.js +226 -1
- package/interpretador/comum.js.map +1 -1
- package/interpretador/conteudo-ajuda.d.ts +21 -0
- package/interpretador/conteudo-ajuda.d.ts.map +1 -0
- package/interpretador/conteudo-ajuda.js +845 -0
- package/interpretador/conteudo-ajuda.js.map +1 -0
- package/interpretador/interpretador-com-depuracao-importacao.d.ts.map +1 -1
- package/interpretador/interpretador-com-depuracao-importacao.js.map +1 -1
- package/interpretador/interpretador-com-importacao.d.ts +7 -1
- package/interpretador/interpretador-com-importacao.d.ts.map +1 -1
- package/interpretador/interpretador-com-importacao.js +11 -1
- package/interpretador/interpretador-com-importacao.js.map +1 -1
- package/interpretador/realcador-sintaxe-ajuda.d.ts +6 -0
- package/interpretador/realcador-sintaxe-ajuda.d.ts.map +1 -0
- package/interpretador/realcador-sintaxe-ajuda.js +210 -0
- package/interpretador/realcador-sintaxe-ajuda.js.map +1 -0
- package/maquinas-estados-lair/index.d.ts +1 -0
- package/maquinas-estados-lair/index.d.ts.map +1 -1
- package/maquinas-estados-lair/index.js +1 -0
- package/maquinas-estados-lair/index.js.map +1 -1
- package/maquinas-estados-lair/maquina-estados-ajuda.d.ts +43 -0
- package/maquinas-estados-lair/maquina-estados-ajuda.d.ts.map +1 -0
- package/maquinas-estados-lair/maquina-estados-ajuda.js +155 -0
- package/maquinas-estados-lair/maquina-estados-ajuda.js.map +1 -0
- package/maquinas-estados-lair/maquina-estados-lair-delegua.d.ts +10 -1
- package/maquinas-estados-lair/maquina-estados-lair-delegua.d.ts.map +1 -1
- package/maquinas-estados-lair/maquina-estados-lair-delegua.js +64 -1
- package/maquinas-estados-lair/maquina-estados-lair-delegua.js.map +1 -1
- package/mecanismo-importacao-bibliotecas/index.d.ts.map +1 -1
- package/mecanismo-importacao-bibliotecas/index.js +1 -0
- package/mecanismo-importacao-bibliotecas/index.js.map +1 -1
- package/nucleo-execucao.d.ts.map +1 -1
- package/nucleo-execucao.js +1 -1
- package/nucleo-execucao.js.map +1 -1
- package/package.json +9 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AvaliadorSintatico, Chamada, Construto, Declaracao, Literal, RetornoAvaliadorSintatico, RetornoLexador, SimboloInterface } from "@designliquido/delegua";
|
|
1
|
+
import { Ajuda, AvaliadorSintatico, Chamada, Construto, Declaracao, Literal, RetornoAvaliadorSintatico, RetornoLexador, SimboloInterface, TendoComo } from "@designliquido/delegua";
|
|
2
2
|
import { InformacaoElementoSintatico } from "@designliquido/delegua/informacao-elemento-sintatico";
|
|
3
3
|
import { ImportadorInterface } from "../interfaces";
|
|
4
4
|
import { ImportarBiblioteca, ModuloDeclaracoes } from "../construtos";
|
|
@@ -29,11 +29,18 @@ export declare class AvaliadorSintaticoComImportacao extends AvaliadorSintatico
|
|
|
29
29
|
* @returns
|
|
30
30
|
*/
|
|
31
31
|
declaracaoImportar(): Promise<any>;
|
|
32
|
+
protected declaracaoTendoComo(): Promise<TendoComo>;
|
|
33
|
+
protected logicaComumInferenciaTiposVariaveisEConstantes(inicializador: Construto, tipo: string): string;
|
|
32
34
|
/**
|
|
33
35
|
* No modo LAIR, a pilha de escopos não deve ser reinicializada a cada execução.
|
|
34
36
|
* @returns Nada.
|
|
35
37
|
*/
|
|
36
38
|
protected inicializarPilhaEscopos(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Override para permitir que palavras-chave sejam usadas como argumentos
|
|
41
|
+
* em ajuda(). Por exemplo: ajuda(para), ajuda(se), ajuda(enquanto).
|
|
42
|
+
*/
|
|
43
|
+
declaracaoAjuda(): Promise<Ajuda>;
|
|
37
44
|
analisar(retornoLexador: RetornoLexador<SimboloInterface>, hashArquivo: number, arquivosImportados?: string[]): Promise<RetornoAvaliadorSintatico<Declaracao>>;
|
|
38
45
|
}
|
|
39
46
|
//# sourceMappingURL=avaliador-sintatico-com-importacao.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico-com-importacao.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-com-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico-com-importacao.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-com-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,KAAK,EAEL,kBAAkB,EAElB,OAAO,EAIP,SAAS,EAET,UAAU,EAMV,OAAO,EAMP,yBAAyB,EACzB,cAAc,EAGd,gBAAgB,EAChB,SAAS,EAIZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AAMnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,qBAAa,+BAAgC,SAAQ,kBAAkB;IACnE,4BAA4B,EAAE;QAC1B,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC;KACtC,CAAC;IACF,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAClD,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;gBAEN,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;IAO9C,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBjH,SAAS,CAAC,kCAAkC,CAAC,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM;IAiBzF,SAAS,CAAC,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,2BAA2B;IA4D7G,SAAS,CAAC,sBAAsB,CAAC,cAAc,EAAE,OAAO,GAAG,kBAAkB;cAyC7D,2BAA2B,CAAC,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA+ErI;;;OAGG;cACsB,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC;IAoB1D,SAAS,CAAC,kCAAkC,CACxC,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,MAAM,EACZ,iBAAiB,EACb,gBAAgB,GACrB,CAAC,MAAM,EAAE,UAAU,CAAC;IAyCvB;;;;;OAKG;IACY,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC;cAkFjC,mBAAmB,IAAI,OAAO,CAAC,SAAS,CAAC;IA4DzD,SAAS,CAAC,8CAA8C,CACpD,aAAa,EAAE,SAAS,EACxB,IAAI,EAAE,MAAM,GACb,MAAM;IA0JT;;;OAGG;cACgB,uBAAuB,IAAI,IAAI;IAQlD;;;OAGG;IACY,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC;IAsEjC,QAAQ,CACnB,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAChD,WAAW,EAAE,MAAM,EACnB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC9B,OAAO,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;CAIpD"}
|
|
@@ -8,9 +8,11 @@ const delegua_1 = require("@designliquido/delegua");
|
|
|
8
8
|
const informacao_elemento_sintatico_1 = require("@designliquido/delegua/informacao-elemento-sintatico");
|
|
9
9
|
const estruturas_1 = require("@designliquido/delegua/interpretador/estruturas");
|
|
10
10
|
const delegua_2 = __importDefault(require("@designliquido/delegua/tipos-de-simbolos/delegua"));
|
|
11
|
+
const delegua_3 = __importDefault(require("@designliquido/delegua/tipos-de-dados/delegua"));
|
|
11
12
|
const construtos_1 = require("../construtos");
|
|
12
13
|
const mecanismo_importacao_bibliotecas_1 = require("../mecanismo-importacao-bibliotecas");
|
|
13
14
|
const estruturas_2 = require("../interpretador/estruturas");
|
|
15
|
+
const micro_avaliador_ajuda_1 = require("./micro-avaliador-ajuda");
|
|
14
16
|
class AvaliadorSintaticoComImportacao extends delegua_1.AvaliadorSintatico {
|
|
15
17
|
constructor(importador) {
|
|
16
18
|
super();
|
|
@@ -212,11 +214,11 @@ class AvaliadorSintaticoComImportacao extends delegua_1.AvaliadorSintatico {
|
|
|
212
214
|
const declaracaoResolvida = await super.declaracaoImportar();
|
|
213
215
|
const literalCaminho = declaracaoResolvida.caminho;
|
|
214
216
|
if (declaracaoResolvida.simboloTudo !== null && declaracaoResolvida.simboloTudo !== undefined) {
|
|
217
|
+
this.pilhaEscopos.definirInformacoesVariavel(declaracaoResolvida.simboloTudo.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(declaracaoResolvida.simboloTudo.lexema, 'módulo'));
|
|
215
218
|
if (!String(literalCaminho.valor).endsWith('.delegua')) {
|
|
216
219
|
return this.importarBibliotecaNode(literalCaminho);
|
|
217
220
|
}
|
|
218
221
|
const moduloDeclaracoes = await this.logicaComumImportacaoModulo(literalCaminho, declaracaoResolvida.simboloTudo);
|
|
219
|
-
this.pilhaEscopos.definirInformacoesVariavel(declaracaoResolvida.simboloTudo.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(declaracaoResolvida.simboloTudo.lexema, 'módulo'));
|
|
220
222
|
return new delegua_1.Const(declaracaoResolvida.simboloTudo, moduloDeclaracoes, 'módulo', true, declaracaoResolvida.decoradores);
|
|
221
223
|
}
|
|
222
224
|
if (declaracaoResolvida.elementosImportacao.length === 0) {
|
|
@@ -236,6 +238,137 @@ class AvaliadorSintaticoComImportacao extends delegua_1.AvaliadorSintatico {
|
|
|
236
238
|
}
|
|
237
239
|
return constantesImportadas;
|
|
238
240
|
}
|
|
241
|
+
async declaracaoTendoComo() {
|
|
242
|
+
const simboloTendo = this.simbolos[this.atual - 1];
|
|
243
|
+
const expressaoInicializacao = await this.expressao();
|
|
244
|
+
this.consumir(delegua_2.default.COMO, "Esperado palavra reservada 'como' após expressão de inicialização de variável, em declaração 'tendo'.");
|
|
245
|
+
const simboloNomeVariavel = this.consumir(delegua_2.default.IDENTIFICADOR, "Esperado nome do identificador em declaração 'tendo'.");
|
|
246
|
+
this.consumir(delegua_2.default.CHAVE_ESQUERDA, "Esperado chave esquerda para abertura de bloco em declaração 'tendo'.");
|
|
247
|
+
let tipoInicializacao = 'qualquer';
|
|
248
|
+
switch (expressaoInicializacao.constructor) {
|
|
249
|
+
case delegua_1.Chamada:
|
|
250
|
+
const construtoChamada = expressaoInicializacao;
|
|
251
|
+
switch (construtoChamada.entidadeChamada.constructor) {
|
|
252
|
+
case delegua_1.AcessoMetodo:
|
|
253
|
+
const entidadeChamadaAcessoMetodo = construtoChamada.entidadeChamada;
|
|
254
|
+
tipoInicializacao = entidadeChamadaAcessoMetodo.tipoRetornoMetodo.replace('<T>', entidadeChamadaAcessoMetodo.objeto.tipo);
|
|
255
|
+
break;
|
|
256
|
+
case delegua_1.Variavel:
|
|
257
|
+
const entidadeChamadaVariavel = construtoChamada.entidadeChamada;
|
|
258
|
+
tipoInicializacao = entidadeChamadaVariavel.tipo;
|
|
259
|
+
break;
|
|
260
|
+
// TODO: Demais casos
|
|
261
|
+
default:
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
break;
|
|
265
|
+
// TODO: Demais casos
|
|
266
|
+
default:
|
|
267
|
+
break;
|
|
268
|
+
}
|
|
269
|
+
this.pilhaEscopos.definirInformacoesVariavel(simboloNomeVariavel.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(simboloNomeVariavel.lexema, tipoInicializacao));
|
|
270
|
+
const blocoCorpo = await this.blocoEscopo();
|
|
271
|
+
return new delegua_1.TendoComo(simboloTendo.linha, simboloTendo.hashArquivo, simboloNomeVariavel, expressaoInicializacao, new delegua_1.Bloco(simboloTendo.linha, simboloTendo.hashArquivo, blocoCorpo));
|
|
272
|
+
}
|
|
273
|
+
// TODO: Excluir pós atualização de versão do núcleo de Delégua.
|
|
274
|
+
logicaComumInferenciaTiposVariaveisEConstantes(inicializador, tipo) {
|
|
275
|
+
if (tipo !== 'qualquer') {
|
|
276
|
+
return tipo;
|
|
277
|
+
}
|
|
278
|
+
switch (inicializador.constructor) {
|
|
279
|
+
case delegua_1.AcessoIndiceVariavel:
|
|
280
|
+
const entidadeChamadaAcessoIndiceVariavel = inicializador
|
|
281
|
+
.entidadeChamada;
|
|
282
|
+
// Este condicional ocorre com chamadas aninhadas. Por exemplo, `vetor[1][2]`.
|
|
283
|
+
if (entidadeChamadaAcessoIndiceVariavel.constructor === delegua_1.AcessoIndiceVariavel) {
|
|
284
|
+
return this.logicaComumInferenciaTiposVariaveisEConstantes(entidadeChamadaAcessoIndiceVariavel, tipo);
|
|
285
|
+
}
|
|
286
|
+
if (entidadeChamadaAcessoIndiceVariavel.tipo.endsWith('[]')) {
|
|
287
|
+
return entidadeChamadaAcessoIndiceVariavel.tipo.slice(0, -2);
|
|
288
|
+
}
|
|
289
|
+
// Normalmente, `entidadeChamadaAcessoIndiceVariavel.tipo` aqui será 'vetor'.
|
|
290
|
+
return 'qualquer';
|
|
291
|
+
case delegua_1.Chamada:
|
|
292
|
+
const entidadeChamadaChamada = inicializador.entidadeChamada;
|
|
293
|
+
switch (entidadeChamadaChamada.constructor) {
|
|
294
|
+
case delegua_1.AcessoMetodo:
|
|
295
|
+
const entidadeChamadaAcessoMetodo = entidadeChamadaChamada;
|
|
296
|
+
const tipoRetornoAcessoMetodoResolvido = entidadeChamadaAcessoMetodo.tipoRetornoMetodo.replace('<T>', entidadeChamadaAcessoMetodo.objeto.tipo);
|
|
297
|
+
return tipoRetornoAcessoMetodoResolvido;
|
|
298
|
+
case delegua_1.AcessoMetodoOuPropriedade:
|
|
299
|
+
const entidadeChamadaAcessoMetodoOuPropriedade = entidadeChamadaChamada;
|
|
300
|
+
// Algumas coisas podem acontecer aqui.
|
|
301
|
+
// Uma delas é a variável/constante ser uma classe padrão.
|
|
302
|
+
// Isso ocorre quando a importação é feita de uma biblioteca Node.js.
|
|
303
|
+
// Nesse caso, o tipo de `entidadeChamadaAcessoMetodoOuPropriedade.objeto` começa com uma letra maiúscula.
|
|
304
|
+
if (entidadeChamadaAcessoMetodoOuPropriedade.objeto.tipo &&
|
|
305
|
+
entidadeChamadaAcessoMetodoOuPropriedade.objeto.tipo.match(/^[A-Z]/)) {
|
|
306
|
+
const tipoCorrespondente = this.tiposDefinidosPorBibliotecas[entidadeChamadaAcessoMetodoOuPropriedade.objeto.tipo];
|
|
307
|
+
if (!tipoCorrespondente) {
|
|
308
|
+
throw new delegua_1.ErroAvaliadorSintatico(entidadeChamadaAcessoMetodoOuPropriedade.simbolo, `Tipo '${entidadeChamadaAcessoMetodoOuPropriedade.objeto.tipo}' não foi encontrado entre os tipos definidos por bibliotecas.`);
|
|
309
|
+
}
|
|
310
|
+
if (!(entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema in
|
|
311
|
+
tipoCorrespondente.metodos) &&
|
|
312
|
+
!(entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema in
|
|
313
|
+
tipoCorrespondente.propriedades)) {
|
|
314
|
+
throw new delegua_1.ErroAvaliadorSintatico(entidadeChamadaAcessoMetodoOuPropriedade.simbolo, `Membro '${entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema}' não existe no tipo '${entidadeChamadaAcessoMetodoOuPropriedade.objeto.tipo}'.`);
|
|
315
|
+
}
|
|
316
|
+
if (entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema in
|
|
317
|
+
tipoCorrespondente.metodos) {
|
|
318
|
+
const metodoCorrespondente = tipoCorrespondente.metodos[entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema];
|
|
319
|
+
return metodoCorrespondente.tipoRetorno || metodoCorrespondente.tipo || 'qualquer';
|
|
320
|
+
}
|
|
321
|
+
const propriedadeCorrespondente = tipoCorrespondente.propriedades[entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema];
|
|
322
|
+
return propriedadeCorrespondente.tipo;
|
|
323
|
+
}
|
|
324
|
+
// Este caso ocorre quando a variável/constante é do tipo 'qualquer',
|
|
325
|
+
// e a chamada normalmente é feita para uma primitiva.
|
|
326
|
+
// A inferência, portanto, ocorre pelo uso da primitiva.
|
|
327
|
+
for (const primitiva in this.primitivasConhecidas) {
|
|
328
|
+
if (this.primitivasConhecidas[primitiva].hasOwnProperty(entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema)) {
|
|
329
|
+
return this.primitivasConhecidas[primitiva][entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema].tipo;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
throw new delegua_1.ErroAvaliadorSintatico(entidadeChamadaAcessoMetodoOuPropriedade.simbolo, `Primitiva '${entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema}' não existe.`);
|
|
333
|
+
case delegua_1.AcessoPropriedade:
|
|
334
|
+
const entidadeChamadaAcessoPropriedade = entidadeChamadaChamada;
|
|
335
|
+
return entidadeChamadaAcessoPropriedade.tipoRetornoPropriedade;
|
|
336
|
+
case delegua_1.ArgumentoReferenciaFuncao:
|
|
337
|
+
// TODO: Voltar aqui se necessário.
|
|
338
|
+
return 'qualquer';
|
|
339
|
+
case delegua_1.ReferenciaFuncao:
|
|
340
|
+
const entidadeChamadaReferenciaFuncao = entidadeChamadaChamada;
|
|
341
|
+
return entidadeChamadaReferenciaFuncao.tipo;
|
|
342
|
+
case delegua_1.Variavel:
|
|
343
|
+
const entidadeChamadaVariavel = entidadeChamadaChamada;
|
|
344
|
+
return entidadeChamadaVariavel.tipo;
|
|
345
|
+
}
|
|
346
|
+
break;
|
|
347
|
+
case delegua_1.FuncaoConstruto:
|
|
348
|
+
const funcaoConstruto = inicializador;
|
|
349
|
+
return `função<${funcaoConstruto.tipo}>`;
|
|
350
|
+
case delegua_1.Leia:
|
|
351
|
+
return 'texto';
|
|
352
|
+
case delegua_1.Dupla:
|
|
353
|
+
case delegua_1.Trio:
|
|
354
|
+
case delegua_1.Quarteto:
|
|
355
|
+
case delegua_1.Quinteto:
|
|
356
|
+
case delegua_1.Sexteto:
|
|
357
|
+
case delegua_1.Septeto:
|
|
358
|
+
case delegua_1.Octeto:
|
|
359
|
+
case delegua_1.Noneto:
|
|
360
|
+
case delegua_1.Deceto:
|
|
361
|
+
return delegua_3.default.TUPLA;
|
|
362
|
+
default:
|
|
363
|
+
// Construtos mapeados em `delegua-node`.
|
|
364
|
+
switch (inicializador.constructor.name) {
|
|
365
|
+
case 'ImportarBiblioteca':
|
|
366
|
+
case 'ModuloDeclaracoes':
|
|
367
|
+
return 'módulo';
|
|
368
|
+
}
|
|
369
|
+
return inicializador.tipo;
|
|
370
|
+
}
|
|
371
|
+
}
|
|
239
372
|
/**
|
|
240
373
|
* No modo LAIR, a pilha de escopos não deve ser reinicializada a cada execução.
|
|
241
374
|
* @returns Nada.
|
|
@@ -246,6 +379,43 @@ class AvaliadorSintaticoComImportacao extends delegua_1.AvaliadorSintatico {
|
|
|
246
379
|
}
|
|
247
380
|
super.inicializarPilhaEscopos();
|
|
248
381
|
}
|
|
382
|
+
/**
|
|
383
|
+
* Override para permitir que palavras-chave sejam usadas como argumentos
|
|
384
|
+
* em ajuda(). Por exemplo: ajuda(para), ajuda(se), ajuda(enquanto).
|
|
385
|
+
*/
|
|
386
|
+
async declaracaoAjuda() {
|
|
387
|
+
// Primeiro, consome o token AJUDA
|
|
388
|
+
const simboloAjuda = this.avancarEDevolverAnterior();
|
|
389
|
+
// Se não há '(' ou estamos no final, é apenas uma declaração simples
|
|
390
|
+
if (this.estaNoFinal() ||
|
|
391
|
+
this.simbolos[this.atual].tipo !== delegua_2.default.PARENTESE_ESQUERDO) {
|
|
392
|
+
return new delegua_1.Ajuda(simboloAjuda.hashArquivo, simboloAjuda.linha, undefined, false);
|
|
393
|
+
}
|
|
394
|
+
// Consome '('
|
|
395
|
+
this.avancarEDevolverAnterior();
|
|
396
|
+
// Se há ')' imediatamente, é ajuda() sem argumentos
|
|
397
|
+
if (this.simbolos[this.atual].tipo === delegua_2.default.PARENTESE_DIREITO) {
|
|
398
|
+
this.avancarEDevolverAnterior(); // Consome ')'
|
|
399
|
+
return new delegua_1.Ajuda(simboloAjuda.hashArquivo, simboloAjuda.linha, undefined, true);
|
|
400
|
+
}
|
|
401
|
+
// Pega o símbolo atual (pode ser palavra-chave ou identificador)
|
|
402
|
+
const simboloTopico = this.simbolos[this.atual];
|
|
403
|
+
// Verifica se é um tópico válido (palavra-chave ou identificador)
|
|
404
|
+
if (simboloTopico && micro_avaliador_ajuda_1.MicroAvaliadorAjuda.ehTopicoValido(simboloTopico)) {
|
|
405
|
+
// Converte o símbolo para um construto de tópico
|
|
406
|
+
const construtoTopico = micro_avaliador_ajuda_1.MicroAvaliadorAjuda.converterSimboloParaTopico(simboloTopico);
|
|
407
|
+
// Avança para consumir o símbolo
|
|
408
|
+
this.avancarEDevolverAnterior();
|
|
409
|
+
// Consome ')'
|
|
410
|
+
this.consumir(delegua_2.default.PARENTESE_DIREITO, "Esperado ')' após argumento de ajuda.");
|
|
411
|
+
return new delegua_1.Ajuda(simboloAjuda.hashArquivo, simboloAjuda.linha, construtoTopico, true);
|
|
412
|
+
}
|
|
413
|
+
// Se não é um tópico simples, delega para o parser padrão
|
|
414
|
+
// (pode ser uma expressão complexa)
|
|
415
|
+
const expressaoAjuda = await this.expressao();
|
|
416
|
+
this.consumir(delegua_2.default.PARENTESE_DIREITO, `Esperado parêntese direito após expressão usada como argumento em ajuda(). Atual: ${this.simbolos[this.atual].lexema}.`);
|
|
417
|
+
return new delegua_1.Ajuda(simboloAjuda.hashArquivo, simboloAjuda.linha, expressaoAjuda, true);
|
|
418
|
+
}
|
|
249
419
|
async analisar(retornoLexador, hashArquivo, arquivosImportados) {
|
|
250
420
|
this.arquivosImportados = arquivosImportados || [];
|
|
251
421
|
return super.analisar(retornoLexador, hashArquivo);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico-com-importacao.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-com-importacao.ts"],"names":[],"mappings":";;;;;;AAAA,oDAgBgC;AAEhC,wGAAmG;AACnG,gFAA+E;AAE/E,+FAA+E;AAG/E,8CAAsE;AACtE,0FAAyG;AACzG,4DAA6D;AAE7D,MAAa,+BAAgC,SAAQ,4BAAkB;IAQnE,YAAY,UAAiD;QACzD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAEQ,KAAK,CAAC,gBAAgB,CAAC,eAA0B,EAAE,aAAkC;QAC1F,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QACtF,IAAI,gBAAgB,CAAC,eAAe,YAAY,sBAAY,IAAI,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxH,wDAAwD;YACxD,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,eAA+B,CAAC;YAClF,MAAM,qBAAqB,GAAI,wBAAwB,CAAC,MAAc,CAAC;YACvE,IAAI,qBAAqB,IAAI,qBAAqB,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC7F,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC7F,IAAI,wBAAwB,CAAC,UAAU,IAAI,oBAAoB,EAAE,CAAC;oBAC9D,MAAM,aAAa,GAAG,oBAAoB,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;oBACrF,wBAAwB,CAAC,iBAAiB,GAAG,aAAa,CAAC;oBAC3D,gBAAgB,CAAC,IAAI,GAAG,aAAa,CAAC;gBAC1C,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAES,kCAAkC,CAAC,eAAoB,EAAE,cAAsB;QACrF,MAAM,wBAAwB,GAAG,eAA+B,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,2DAA2B,CAC9C,cAAc,EACd,wBAAwB,CAAC,WAAW,EACpC,IAAI,EACJ,EAAE,CACL,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,wBAAwB,CAAC,UAAU,EAAE,CAAC;YAC1D,MAAM,QAAQ,GAAG,IAAI,2DAA2B,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YACjF,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAES,uBAAuB,CAAC,UAAkB,EAAE,IAAY,EAAE,MAAW;QAC3E,MAAM,UAAU,GAAG,IAAI,2DAA2B,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAE9E,oBAAoB;QACpB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrE,IAAI,WAAW,YAAY,yBAAY,EAAE,CAAC;oBACtC,MAAM,MAAM,GAAG,WAA2B,CAAC;oBAC3C,MAAM,UAAU,GAAG,IAAI,2DAA2B,CAC9C,UAAU,EACV,MAAM,CAAC,WAAW,EAClB,IAAI,EACJ,EAAE,CACL,CAAC;oBAEF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;wBAClC,MAAM,OAAO,GAAG,IAAI,2DAA2B,CAC3C,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,IAAI,CACX,CAAC;wBACF,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,OAAc,CAAC,CAAC;oBACjD,CAAC;oBAED,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAiB,CAAC,CAAC;gBACpD,CAAC;qBAAM,IAAI,WAAW,YAAY,2BAAc,EAAE,CAAC;oBAC/C,sDAAsD;oBACtD,MAAM,0BAA0B,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;oBACrG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG,0BAA0B,CAAC;oBAC/E,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,0BAAiC,CAAC,CAAC;gBACpE,CAAC;qBAAM,CAAC;oBACJ,qCAAqC;oBACrC,MAAM,UAAU,GAAG,CAAC,WAAW,IAAK,WAAmB,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC;oBACnF,UAAU,CAAC,YAAY,CAAC,IAAI,CACxB,IAAI,2DAA2B,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAQ,CAC3E,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QAED,yBAAyB;QACzB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBACtE,IAAI,SAAS,YAAY,2BAAc,EAAE,CAAC;oBACtC,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;oBAC7E,6DAA6D;oBAC7D,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;oBACzD,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACJ,iDAAiD;oBACjD,MAAM,QAAQ,GAAG,CAAC,SAAS,IAAK,SAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBACpH,UAAU,CAAC,YAAY,CAAC,IAAI,CACxB,IAAI,2DAA2B,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAQ,CACxE,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAAA,CAAC;IAEQ,sBAAsB,CAAC,cAAuB;QACpD,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,mBAAmB,GAAG,IAAA,0DAAuB,EAAC,YAAY,CAAC,CAAC;QAClE,IAAI,mBAAmB,EAAE,CAAC;YACtB,MAAM,eAAe,GAAG,IAAA,4DAAyB,EAAC,mBAA6B,CAAC,CAAC;YAEjF,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YAC7C,KAAK,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC1F,2DAA2D;gBAC3D,IAAI,UAAU,CAAC;gBACf,IAAI,eAAe,YAAY,yBAAY,EAAE,CAAC;oBAC1C,UAAU,GAAG,IAAI,CAAC,kCAAkC,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;gBAC1F,CAAC;qBAAM,IAAI,eAAe,YAAY,2BAAc,EAAE,CAAC;oBACnD,MAAM,YAAY,GAAG,eAAiC,CAAC;oBAEvD,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;oBACtF,iFAAiF;oBACjF,4DAA4D;oBAC5D,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;oBACxF,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC;oBACrE,IAAI,CAAC,4BAA4B,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC;gBAErE,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,IAAI,CAAC;wBACZ,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK;qBACnD,EACjB,gCAAgC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CACrE,CAAC;gBACN,CAAC;gBAED,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC;YACzE,CAAC;QACL,CAAC;QAED,OAAO,IAAI,+BAAkB,CACzB,cAAc,CAAC,WAAW,EAC1B,cAAc,CAAC,KAAK,EACpB,YAAY,CACf,CAAC;IACN,CAAC;IAES,KAAK,CAAC,2BAA2B,CAAC,cAAuB,EAAE,iBAAmC;QACpG,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAChD,YAAY,EACZ,cAAc,CAAC,WAAW,CAC7B,CAAC;QAEF,yEAAyE;QACzE,cAAc;QACd,IAAI,mBAAmB,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,CAAC,IAAI,CACX,iBAAiB,EACjB,2CAA2C,YAC3C,KAAK,mBAAmB,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAChD,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CACnB,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,EAC1C,EAAE,CACL,EAAE,CACN,CAAC;QACN,CAAC;QAED,MAAM,wBAAwB,GAAG,IAAI,+BAA+B,CAChE,IAAI,CAAC,UAAU,CAClB,CAAC;QACF,MAAM,iCAAiC,GACnC,MAAM,wBAAwB,CAAC,QAAQ,CACnC,mBAAmB,CAAC,cAAc,EAClC,mBAAmB,CAAC,WAAW,EAC/B,IAAI,CAAC,kBAAkB,CAC1B,CAAC;QAEN,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE3C,MAAM,gBAAgB,GAClB,iCAAiC,CAAC,WAAW,CAAC,MAAM,CAChD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,gBAAM,CACtB,CAAC;QAElB,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;YAC7C,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC;gBACvD,eAAe,CAAC;QACxB,CAAC;QAED,gFAAgF;QAChF,gEAAgE;QAChE,KAAK,MAAM,aAAa,IAAI,wBAAwB,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YACtE,KAAK,MAAM,gBAAgB,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC9E,IAAI,CAAC,YAAY,CAAC,yBAAyB,CACvC,gBAAgB,CAAC,CAAC,CAAC,EACnB,gBAAgB,CAAC,CAAC,CAAC,CACtB,CAAC;gBAEF,MAAM,sBAAsB,GAAG,aAAa,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtF,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC1B,MAAM,IAAI,CAAC,IAAI,CACX,iBAAiB,EACjB,yCAAyC,cAAc,CAAC,KAAK,gBAAgB,gBAAgB,CAAC,CAAC,CAAC,oDAAoD,CACvJ,CAAC;gBACN,CAAC;gBAED,IAAI,CAAC,YAAY,CAAC,0BAA0B,CACxC,gBAAgB,CAAC,CAAC,CAAC,EACnB,IAAI,2DAA2B,CAC3B,gBAAgB,CAAC,CAAC,CAAC,EACnB,sBAAsB,CAAC,IAAI,EAC3B,IAAI,EACJ,EAAE,CACL,CACJ,CAAC;YACN,CAAC;QACL,CAAC;QAED,OAAO,IAAI,8BAAiB,CACxB,iBAAiB,CAAC,KAAK,EACvB,iBAAiB,CAAC,WAAW,EAC7B,iCAAiC,CAAC,WAAW,CAChD,CAAC;IACN,CAAC;IAED;;;OAGG;IACgB,KAAK,CAAC,iBAAiB;QACtC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CACjC,iBAAe,CAAC,kBAAkB,EAClC,+BAA+B,CAClC,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,CACT,iBAAe,CAAC,iBAAiB,EACjC,+BAA+B,CAClC,CAAC;QAEF,iEAAiE;QACjE,MAAM,cAAc,GAAG,OAAkB,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IACnF,CAAC;IAES,kCAAkC,CACxC,iBAAoC,EACpC,IAAY,EACZ,iBACoB;QAEpB,KAAK,MAAM,UAAU,IAAI,iBAAiB,CAAC,WAAW,EAAE,CAAC;YACrD,QAAQ,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC7B,KAAK,gBAAM;oBACP,MAAM,gBAAgB,GAAG,UAAoB,CAAC;oBAC9C,IAAI,gBAAgB,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;wBAC3C,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBAC/D,CAAC;oBACD,MAAM;gBACV,KAAK,oBAAU;oBACX,SAAS;gBACb,KAAK,eAAK;oBACN,MAAM,eAAe,GAAG,UAAmB,CAAC;oBAC5C,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;wBAC1C,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;oBACnD,CAAC;oBACD,MAAM;gBACV,KAAK,0BAAgB;oBACjB,MAAM,gBAAgB,GAAG,UAA8B,CAAC;oBACxD,IAAI,gBAAgB,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;wBAC3C,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;oBACrD,CAAC;oBACD,MAAM;gBACV,KAAK,aAAG;oBACJ,MAAM,aAAa,GAAG,UAAiB,CAAC;oBACxC,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;wBACxC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;oBAC/C,CAAC;oBACD,MAAM;gBACV;oBACI,OAAO,CAAC,IAAI,CAAC,8DAA8D,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;oBAC3G,MAAM;YACd,CAAC;QACL,CAAC;QAED,MAAM,IAAI,CAAC,IAAI,CACX,iBAAiB,EACjB,eAAe,IAAI,2CAA2C,CACjE,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACM,KAAK,CAAC,kBAAkB;QAC7B,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAE7D,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAkB,CAAC;QAC9D,IAAI,mBAAmB,CAAC,WAAW,KAAK,IAAI,IAAI,mBAAmB,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5F,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,cAAc,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAClH,IAAI,CAAC,YAAY,CAAC,0BAA0B,CACxC,mBAAmB,CAAC,WAAW,CAAC,MAAM,EACtC,IAAI,2DAA2B,CAAC,mBAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CACpF,CAAC;YAEF,OAAO,IAAI,eAAK,CACZ,mBAAmB,CAAC,WAAW,EAC/B,iBAAiB,EACjB,QAAQ,EACR,IAAI,EACJ,mBAAmB,CAAC,WAAW,CAClC,CAAC;QACN,CAAC;QAED,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,CAAC,IAAI,CACX,EAAE,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAsB,EAC5F,wEAAwE,CAC3E,CAAC;QACN,CAAC;QAED,4FAA4F;QAC5F,8EAA8E;QAC9E,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,cAAc,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7H,MAAM,oBAAoB,GAAY,EAAE,CAAC;QACzC,MAAM,mBAAmB,GAAG,GAAG,cAAc,CAAC,WAAW,IAAI,cAAc,CAAC,KAAK,SAAS,CAAC;QAC3F,MAAM,sBAAsB,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAsB,CAAC;QACzJ,oBAAoB,CAAC,IAAI,CACrB,IAAI,eAAK,CACL,sBAAsB,EACtB,iBAAiB,EACjB,QAAQ,EACR,IAAI,EACJ,mBAAmB,CAAC,WAAW,CAClC,CACJ,CAAC;QAEF,KAAK,MAAM,iBAAiB,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,CAAC;YACtE,MAAM,wBAAwB,GAAG,IAAI,CAAC,kCAAkC,CACpE,iBAAiB,EACjB,iBAAiB,CAAC,MAAM,EACxB,iBAAiB,CACpB,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,0BAA0B,CACxC,iBAAiB,CAAC,MAAM,EACxB,IAAI,2DAA2B,CAAC,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,CACzF,CAAC;YAEF,oBAAoB,CAAC,IAAI,CACrB,IAAI,eAAK,CACL,iBAAiB,EACjB,IAAI,sBAAY,CACZ,iBAAiB,CAAC,WAAW,EAC7B,IAAI,kBAAQ,CACR,iBAAiB,CAAC,WAAW,EAC7B,sBAAsB,EACtB,QAAQ,CACX,EACD,iBAAiB,CAAC,MAAM,CAC3B,EACD,wBAAwB,CAAC,CAAC,CAAC,EAC3B,IAAI,EACJ,EAAE,CACL,CACJ,CAAC;QACN,CAAC;QAED,OAAO,oBAAoB,CAAC;IAChC,CAAC;IAED;;;OAGG;IACgB,uBAAuB;QACtC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,OAAO;QACX,CAAC;QAED,KAAK,CAAC,uBAAuB,EAAE,CAAC;IACpC,CAAC;IAEQ,KAAK,CAAC,QAAQ,CACnB,cAAgD,EAChD,WAAmB,EACnB,kBAA6B;QAE7B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,IAAI,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;CACJ;AAxZD,0EAwZC"}
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico-com-importacao.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-com-importacao.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { SimboloInterface } from '@designliquido/delegua/interfaces';
|
|
2
|
+
import { Literal, Variavel } from '@designliquido/delegua/construtos';
|
|
3
|
+
/**
|
|
4
|
+
* Micro-avaliador sintático especializado para argumentos da função ajuda().
|
|
5
|
+
*
|
|
6
|
+
* Diferente do parser principal, este tratador permite que palavras-chave
|
|
7
|
+
* (como 'para', 'se', 'enquanto') sejam usadas como argumentos para ajuda(),
|
|
8
|
+
* convertendo-as em nomes de tópicos.
|
|
9
|
+
*
|
|
10
|
+
* Exemplo:
|
|
11
|
+
* ajuda(para) → tópico "para"
|
|
12
|
+
* ajuda(escreva) → tópico "escreva"
|
|
13
|
+
* ajuda("texto") → tópico "texto"
|
|
14
|
+
*/
|
|
15
|
+
export declare class MicroAvaliadorAjuda {
|
|
16
|
+
/**
|
|
17
|
+
* Lista de tipos de símbolos que são palavras-chave da linguagem.
|
|
18
|
+
* Todos podem ser usados como tópicos de ajuda.
|
|
19
|
+
*/
|
|
20
|
+
private static readonly PALAVRAS_CHAVE;
|
|
21
|
+
/**
|
|
22
|
+
* Converte um símbolo (palavra-chave ou identificador) em um construto
|
|
23
|
+
* que pode ser usado como argumento de ajuda.
|
|
24
|
+
*
|
|
25
|
+
* @param simbolo - Símbolo a ser convertido
|
|
26
|
+
* @returns Construto Variavel com o nome do tópico
|
|
27
|
+
*/
|
|
28
|
+
static converterSimboloParaTopico(simbolo: SimboloInterface): Variavel | Literal;
|
|
29
|
+
/**
|
|
30
|
+
* Verifica se um símbolo pode ser usado como tópico de ajuda.
|
|
31
|
+
*/
|
|
32
|
+
static ehTopicoValido(simbolo: SimboloInterface): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Extrai o nome do tópico de um símbolo.
|
|
35
|
+
*/
|
|
36
|
+
static extrairNomeTopico(simbolo: SimboloInterface): string;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=micro-avaliador-ajuda.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"micro-avaliador-ajuda.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/micro-avaliador-ajuda.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAGtE;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAmB;IAC5B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CA+BnC;IAEH;;;;;;OAMG;IACH,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,gBAAgB,GAAG,QAAQ,GAAG,OAAO;IAgChF;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;IAQzD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM;CAM9D"}
|
|
@@ -0,0 +1,100 @@
|
|
|
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.MicroAvaliadorAjuda = void 0;
|
|
7
|
+
const construtos_1 = require("@designliquido/delegua/construtos");
|
|
8
|
+
const delegua_1 = __importDefault(require("@designliquido/delegua/tipos-de-simbolos/delegua"));
|
|
9
|
+
/**
|
|
10
|
+
* Micro-avaliador sintático especializado para argumentos da função ajuda().
|
|
11
|
+
*
|
|
12
|
+
* Diferente do parser principal, este tratador permite que palavras-chave
|
|
13
|
+
* (como 'para', 'se', 'enquanto') sejam usadas como argumentos para ajuda(),
|
|
14
|
+
* convertendo-as em nomes de tópicos.
|
|
15
|
+
*
|
|
16
|
+
* Exemplo:
|
|
17
|
+
* ajuda(para) → tópico "para"
|
|
18
|
+
* ajuda(escreva) → tópico "escreva"
|
|
19
|
+
* ajuda("texto") → tópico "texto"
|
|
20
|
+
*/
|
|
21
|
+
class MicroAvaliadorAjuda {
|
|
22
|
+
/**
|
|
23
|
+
* Converte um símbolo (palavra-chave ou identificador) em um construto
|
|
24
|
+
* que pode ser usado como argumento de ajuda.
|
|
25
|
+
*
|
|
26
|
+
* @param simbolo - Símbolo a ser convertido
|
|
27
|
+
* @returns Construto Variavel com o nome do tópico
|
|
28
|
+
*/
|
|
29
|
+
static converterSimboloParaTopico(simbolo) {
|
|
30
|
+
// Se for um literal de texto, retorna como está
|
|
31
|
+
if (simbolo.tipo === delegua_1.default.TEXTO) {
|
|
32
|
+
return new construtos_1.Literal(simbolo.hashArquivo, simbolo.linha, simbolo.literal, 'texto');
|
|
33
|
+
}
|
|
34
|
+
// Se for número, booleano, ou nulo, retorna como literal
|
|
35
|
+
if (simbolo.tipo === delegua_1.default.NUMERO ||
|
|
36
|
+
simbolo.tipo === delegua_1.default.VERDADEIRO ||
|
|
37
|
+
simbolo.tipo === delegua_1.default.FALSO ||
|
|
38
|
+
simbolo.tipo === delegua_1.default.NULO) {
|
|
39
|
+
return new construtos_1.Literal(simbolo.hashArquivo, simbolo.linha, simbolo.literal, simbolo.tipo === delegua_1.default.NUMERO ? 'número' : 'lógico');
|
|
40
|
+
}
|
|
41
|
+
// Se for uma palavra-chave ou identificador, converte para Variavel
|
|
42
|
+
// usando o lexema como nome do tópico
|
|
43
|
+
return new construtos_1.Variavel(simbolo.hashArquivo, simbolo);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Verifica se um símbolo pode ser usado como tópico de ajuda.
|
|
47
|
+
*/
|
|
48
|
+
static ehTopicoValido(simbolo) {
|
|
49
|
+
return (simbolo.tipo === delegua_1.default.IDENTIFICADOR ||
|
|
50
|
+
simbolo.tipo === delegua_1.default.TEXTO ||
|
|
51
|
+
this.PALAVRAS_CHAVE.has(simbolo.tipo));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Extrai o nome do tópico de um símbolo.
|
|
55
|
+
*/
|
|
56
|
+
static extrairNomeTopico(simbolo) {
|
|
57
|
+
if (simbolo.tipo === delegua_1.default.TEXTO) {
|
|
58
|
+
return simbolo.literal;
|
|
59
|
+
}
|
|
60
|
+
return simbolo.lexema;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.MicroAvaliadorAjuda = MicroAvaliadorAjuda;
|
|
64
|
+
/**
|
|
65
|
+
* Lista de tipos de símbolos que são palavras-chave da linguagem.
|
|
66
|
+
* Todos podem ser usados como tópicos de ajuda.
|
|
67
|
+
*/
|
|
68
|
+
MicroAvaliadorAjuda.PALAVRAS_CHAVE = new Set([
|
|
69
|
+
delegua_1.default.CONSTANTE,
|
|
70
|
+
delegua_1.default.VARIAVEL,
|
|
71
|
+
delegua_1.default.SE,
|
|
72
|
+
delegua_1.default.SENAO,
|
|
73
|
+
delegua_1.default.PARA,
|
|
74
|
+
delegua_1.default.ENQUANTO,
|
|
75
|
+
delegua_1.default.FAZER,
|
|
76
|
+
delegua_1.default.FUNCAO,
|
|
77
|
+
delegua_1.default.RETORNA,
|
|
78
|
+
delegua_1.default.CLASSE,
|
|
79
|
+
delegua_1.default.HERDA,
|
|
80
|
+
delegua_1.default.CONSTRUTOR,
|
|
81
|
+
delegua_1.default.ISTO,
|
|
82
|
+
delegua_1.default.SUPER,
|
|
83
|
+
delegua_1.default.TENTE,
|
|
84
|
+
delegua_1.default.PEGUE,
|
|
85
|
+
delegua_1.default.FINALMENTE,
|
|
86
|
+
delegua_1.default.SUSTAR,
|
|
87
|
+
delegua_1.default.CONTINUA,
|
|
88
|
+
delegua_1.default.ESCOLHA,
|
|
89
|
+
delegua_1.default.CASO,
|
|
90
|
+
delegua_1.default.PADRAO,
|
|
91
|
+
delegua_1.default.IMPORTAR,
|
|
92
|
+
delegua_1.default.DE,
|
|
93
|
+
delegua_1.default.COMO,
|
|
94
|
+
delegua_1.default.VERDADEIRO,
|
|
95
|
+
delegua_1.default.FALSO,
|
|
96
|
+
delegua_1.default.NULO,
|
|
97
|
+
delegua_1.default.ESCREVA,
|
|
98
|
+
delegua_1.default.LEIA,
|
|
99
|
+
]);
|
|
100
|
+
//# sourceMappingURL=micro-avaliador-ajuda.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"micro-avaliador-ajuda.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/micro-avaliador-ajuda.ts"],"names":[],"mappings":";;;;;;AACA,kEAAsE;AACtE,+FAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,MAAa,mBAAmB;IAsC5B;;;;;;OAMG;IACH,MAAM,CAAC,0BAA0B,CAAC,OAAyB;QACvD,gDAAgD;QAChD,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAe,CAAC,KAAK,EAAE,CAAC;YACzC,OAAO,IAAI,oBAAO,CACd,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,OAAiB,EACzB,OAAO,CACV,CAAC;QACN,CAAC;QAED,yDAAyD;QACzD,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAe,CAAC,MAAM;YACvC,OAAO,CAAC,IAAI,KAAK,iBAAe,CAAC,UAAU;YAC3C,OAAO,CAAC,IAAI,KAAK,iBAAe,CAAC,KAAK;YACtC,OAAO,CAAC,IAAI,KAAK,iBAAe,CAAC,IAAI,EAAE,CAAC;YACxC,OAAO,IAAI,oBAAO,CACd,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,IAAI,KAAK,iBAAe,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAChE,CAAC;QACN,CAAC;QAED,oEAAoE;QACpE,sCAAsC;QACtC,OAAO,IAAI,qBAAQ,CACf,OAAO,CAAC,WAAW,EACnB,OAAO,CACV,CAAC;IACN,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAyB;QAC3C,OAAO,CACH,OAAO,CAAC,IAAI,KAAK,iBAAe,CAAC,aAAa;YAC9C,OAAO,CAAC,IAAI,KAAK,iBAAe,CAAC,KAAK;YACtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CACxC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAyB;QAC9C,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAe,CAAC,KAAK,EAAE,CAAC;YACzC,OAAO,OAAO,CAAC,OAAiB,CAAC;QACrC,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC;IAC1B,CAAC;;AAhGL,kDAiGC;AAhGG;;;GAGG;AACqB,kCAAc,GAAG,IAAI,GAAG,CAAC;IAC7C,iBAAe,CAAC,SAAS;IACzB,iBAAe,CAAC,QAAQ;IACxB,iBAAe,CAAC,EAAE;IAClB,iBAAe,CAAC,KAAK;IACrB,iBAAe,CAAC,IAAI;IACpB,iBAAe,CAAC,QAAQ;IACxB,iBAAe,CAAC,KAAK;IACrB,iBAAe,CAAC,MAAM;IACtB,iBAAe,CAAC,OAAO;IACvB,iBAAe,CAAC,MAAM;IACtB,iBAAe,CAAC,KAAK;IACrB,iBAAe,CAAC,UAAU;IAC1B,iBAAe,CAAC,IAAI;IACpB,iBAAe,CAAC,KAAK;IACrB,iBAAe,CAAC,KAAK;IACrB,iBAAe,CAAC,KAAK;IACrB,iBAAe,CAAC,UAAU;IAC1B,iBAAe,CAAC,MAAM;IACtB,iBAAe,CAAC,QAAQ;IACxB,iBAAe,CAAC,OAAO;IACvB,iBAAe,CAAC,IAAI;IACpB,iBAAe,CAAC,MAAM;IACtB,iBAAe,CAAC,QAAQ;IACxB,iBAAe,CAAC,EAAE;IAClB,iBAAe,CAAC,IAAI;IACpB,iBAAe,CAAC,UAAU;IAC1B,iBAAe,CAAC,KAAK;IACrB,iBAAe,CAAC,IAAI;IACpB,iBAAe,CAAC,OAAO;IACvB,iBAAe,CAAC,IAAI;CACvB,CAAC,CAAC"}
|
package/bin/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/delegua-node",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"description": "Linguagem Delégua com capacidades para ecossistema Node.js.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"empacotar": "yarn rimraf ./dist && tsc && yarn copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && yarn copyfiles -V ./package.json ./dist/bin && yarn copyfiles -V ./README.md ./dist && yarn copyfiles -V ./LICENSE ./dist",
|
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
"testes:servidor-depuracao": "yarn ts-node ./fontes/depuracao/servidor-depuracao.ts"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@designliquido/birl": "^0.5.
|
|
16
|
-
"@designliquido/delegua": "^1.
|
|
17
|
-
"@designliquido/mapler": "^0.6.
|
|
18
|
-
"@designliquido/portugol-studio": "^0.9.
|
|
19
|
-
"@designliquido/potigol": "^0.8.
|
|
20
|
-
"@designliquido/visualg": "^0.8.
|
|
15
|
+
"@designliquido/birl": "^0.5.10",
|
|
16
|
+
"@designliquido/delegua": "^1.7.1",
|
|
17
|
+
"@designliquido/mapler": "^0.6.10",
|
|
18
|
+
"@designliquido/portugol-studio": "^0.9.10",
|
|
19
|
+
"@designliquido/potigol": "^0.8.10",
|
|
20
|
+
"@designliquido/visualg": "^0.8.10",
|
|
21
21
|
"chalk": "4.1.2",
|
|
22
22
|
"commander": "^14.0.0",
|
|
23
23
|
"json-colorizer": "^3.0.1"
|
|
@@ -25,6 +25,8 @@
|
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@designliquido/delegua-arquivos": "^0.0.3",
|
|
27
27
|
"@designliquido/delegua-criptografia": "^0.3.3",
|
|
28
|
+
"@designliquido/delegua-csv": "^0.0.2",
|
|
29
|
+
"@designliquido/delegua-dados": "^0.0.0",
|
|
28
30
|
"@designliquido/delegua-estatistica": "^0.1.0",
|
|
29
31
|
"@designliquido/delegua-fisica": "^0.1.0",
|
|
30
32
|
"@designliquido/delegua-http": "^0.1.2",
|
package/interpretador/comum.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DeleguaModulo } from "@designliquido/delegua/interpretador/estruturas";
|
|
2
|
-
import { Const, FuncaoDeclaracao } from "@designliquido/delegua/declaracoes";
|
|
2
|
+
import { Const, FuncaoDeclaracao, Ajuda } from "@designliquido/delegua/declaracoes";
|
|
3
3
|
import { ImportarBiblioteca, ModuloDeclaracoes } from "../construtos";
|
|
4
4
|
import { InterpretadorComImportacaoInterface } from "../interfaces/interpretador-com-importacao-interface";
|
|
5
5
|
export declare function visitarConstrutoImportarBiblioteca(interpretador: InterpretadorComImportacaoInterface, importarBiblioteca: ImportarBiblioteca): Promise<DeleguaModulo>;
|
|
@@ -11,4 +11,22 @@ export declare function visitarConstrutoImportarBiblioteca(interpretador: Interp
|
|
|
11
11
|
export declare function visitarDeclaracaoConst(interpretador: InterpretadorComImportacaoInterface, declaracao: Const): Promise<any>;
|
|
12
12
|
export declare function visitarDeclaracaoDefinicaoFuncao(interpretador: InterpretadorComImportacaoInterface, funcaoDeclaracao: FuncaoDeclaracao): Promise<any>;
|
|
13
13
|
export declare function visitarExpressaoModuloDeclaracoes(interpretador: InterpretadorComImportacaoInterface, declaracao: ModuloDeclaracoes): Promise<DeleguaModulo>;
|
|
14
|
+
/**
|
|
15
|
+
* Obtém ajuda para um tópico específico pelo nome.
|
|
16
|
+
* Esta função é usada pelo modo de ajuda interativo.
|
|
17
|
+
*
|
|
18
|
+
* @param interpretador - O interpretador atual
|
|
19
|
+
* @param nomeTopico - Nome do tópico a buscar
|
|
20
|
+
* @returns String com a ajuda formatada ou null se não encontrado
|
|
21
|
+
*/
|
|
22
|
+
export declare function obterAjudaPorNome(interpretador: InterpretadorComImportacaoInterface, nomeTopico: string): string | null;
|
|
23
|
+
/**
|
|
24
|
+
* Função auxiliar para processar declarações de ajuda no modo interativo.
|
|
25
|
+
* - ajuda() sem argumentos: entra no modo interativo
|
|
26
|
+
* - ajuda(topico) com argumento: exibe ajuda do tópico diretamente
|
|
27
|
+
*
|
|
28
|
+
* @param declaracao - A declaração de ajuda
|
|
29
|
+
* @returns Texto de ajuda ou objeto para entrar em modo interativo
|
|
30
|
+
*/
|
|
31
|
+
export declare function visitarDeclaracaoAjuda(interpretador: InterpretadorComImportacaoInterface, declaracao: Ajuda): Promise<any>;
|
|
14
32
|
//# sourceMappingURL=comum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comum.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,
|
|
1
|
+
{"version":3,"file":"comum.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,EAAgB,MAAM,iDAAiD,CAAC;AAC7G,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAGpF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAM3G,wBAAsB,kCAAkC,CACpD,aAAa,EAAE,mCAAmC,EAClD,kBAAkB,EAAE,kBAAkB,0BASzC;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CACxC,aAAa,EAAE,mCAAmC,EAClD,UAAU,EAAE,KAAK,GAClB,OAAO,CAAC,GAAG,CAAC,CAkBd;AAED,wBAAsB,gCAAgC,CAClD,aAAa,EAAE,mCAAmC,EAClD,gBAAgB,EAAE,gBAAgB,GACnC,OAAO,CAAC,GAAG,CAAC,CAcd;AAED,wBAAsB,iCAAiC,CACnD,aAAa,EAAE,mCAAmC,EAClD,UAAU,EAAE,iBAAiB,0BA0BhC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC7B,aAAa,EAAE,mCAAmC,EAClD,UAAU,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAiFf;AA4FD;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CACxC,aAAa,EAAE,mCAAmC,EAClD,UAAU,EAAE,KAAK,GAClB,OAAO,CAAC,GAAG,CAAC,CA6Cd"}
|