@designliquido/delegua-node 1.14.0 → 1.15.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.
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.d.ts +3 -1
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.js +132 -0
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.js.map +1 -1
- package/bibliotecas/dialetos/portugol-studio/arquivos.d.ts +14 -0
- package/bibliotecas/dialetos/portugol-studio/arquivos.d.ts.map +1 -0
- package/bibliotecas/dialetos/portugol-studio/arquivos.js +169 -0
- package/bibliotecas/dialetos/portugol-studio/arquivos.js.map +1 -0
- package/bibliotecas/dialetos/portugol-studio/internet.d.ts +6 -0
- package/bibliotecas/dialetos/portugol-studio/internet.d.ts.map +1 -0
- package/bibliotecas/dialetos/portugol-studio/internet.js +91 -0
- package/bibliotecas/dialetos/portugol-studio/internet.js.map +1 -0
- package/bibliotecas/dialetos/portugol-studio/util.d.ts +9 -0
- package/bibliotecas/dialetos/portugol-studio/util.d.ts.map +1 -0
- package/bibliotecas/dialetos/portugol-studio/util.js +78 -0
- package/bibliotecas/dialetos/portugol-studio/util.js.map +1 -0
- package/bibliotecas/teclado.d.ts +139 -0
- package/bibliotecas/teclado.d.ts.map +1 -0
- package/bibliotecas/teclado.js +213 -0
- package/bibliotecas/teclado.js.map +1 -0
- package/bin/package.json +11 -8
- package/interpretador/dialetos/index.d.ts +5 -0
- package/interpretador/dialetos/index.d.ts.map +1 -0
- package/interpretador/dialetos/index.js +21 -0
- package/interpretador/dialetos/index.js.map +1 -0
- package/interpretador/dialetos/interpretador-pitugues-com-depuracao-importacao.d.ts.map +1 -1
- package/interpretador/dialetos/interpretador-pitugues-com-depuracao-importacao.js.map +1 -1
- package/interpretador/dialetos/interpretador-portugol-studio-com-depuracao-importacao.d.ts +14 -0
- package/interpretador/dialetos/interpretador-portugol-studio-com-depuracao-importacao.d.ts.map +1 -0
- package/interpretador/dialetos/interpretador-portugol-studio-com-depuracao-importacao.js +53 -0
- package/interpretador/dialetos/interpretador-portugol-studio-com-depuracao-importacao.js.map +1 -0
- package/interpretador/dialetos/interpretador-portugol-studio-com-importacao.d.ts +14 -0
- package/interpretador/dialetos/interpretador-portugol-studio-com-importacao.d.ts.map +1 -0
- package/interpretador/dialetos/interpretador-portugol-studio-com-importacao.js +53 -0
- package/interpretador/dialetos/interpretador-portugol-studio-com-importacao.js.map +1 -0
- package/interpretador/dialetos/portugol-studio-comum.d.ts +6 -0
- package/interpretador/dialetos/portugol-studio-comum.d.ts.map +1 -0
- package/interpretador/dialetos/portugol-studio-comum.js +109 -0
- package/interpretador/dialetos/portugol-studio-comum.js.map +1 -0
- package/maquinas-estados-lair/maquina-estados-lair-delegua.d.ts.map +1 -1
- package/maquinas-estados-lair/maquina-estados-lair-delegua.js +14 -0
- package/maquinas-estados-lair/maquina-estados-lair-delegua.js.map +1 -1
- package/nucleo-execucao.d.ts.map +1 -1
- package/nucleo-execucao.js +11 -11
- package/nucleo-execucao.js.map +1 -1
- package/package.json +11 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ajuda, 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,6 +29,8 @@ 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.
|
|
@@ -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,6 +8,7 @@ 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");
|
|
@@ -237,6 +238,137 @@ class AvaliadorSintaticoComImportacao extends delegua_1.AvaliadorSintatico {
|
|
|
237
238
|
}
|
|
238
239
|
return constantesImportadas;
|
|
239
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
|
+
}
|
|
240
372
|
/**
|
|
241
373
|
* No modo LAIR, a pilha de escopos não deve ser reinicializada a cada execução.
|
|
242
374
|
* @returns Nada.
|
|
@@ -1 +1 @@
|
|
|
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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"}
|
|
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,14 @@
|
|
|
1
|
+
import { InterpretadorInterface } from '@designliquido/delegua/interfaces';
|
|
2
|
+
export declare function abrir_arquivo(interpretador: InterpretadorInterface, caminhoArquivo: any, modoAcesso: any): Promise<number>;
|
|
3
|
+
export declare function fechar_arquivo(interpretador: InterpretadorInterface, endereco: any): Promise<void>;
|
|
4
|
+
export declare function fim_arquivo(interpretador: InterpretadorInterface, endereco: any): any;
|
|
5
|
+
export declare function ler_linha(interpretador: InterpretadorInterface, endereco: any): Promise<any>;
|
|
6
|
+
export declare function escrever_linha(interpretador: InterpretadorInterface, linha: any, endereco: any): Promise<void>;
|
|
7
|
+
export declare function substituir_texto(interpretador: InterpretadorInterface, endereco: any, textoPesquisa: any, textoSubstituto: any, onlyFirst: any): Promise<void>;
|
|
8
|
+
export declare function arquivo_existe(interpretador: InterpretadorInterface, caminhoArquivo: any): Promise<boolean>;
|
|
9
|
+
export declare function apagar_arquivo(interpretador: InterpretadorInterface, caminhoArquivo: any): Promise<void>;
|
|
10
|
+
export declare function criar_pasta(interpretador: InterpretadorInterface, caminho: any): Promise<void>;
|
|
11
|
+
export declare function listar_pastas(interpretador: InterpretadorInterface, caminhoPai: any, vetorPastas: any): Promise<void>;
|
|
12
|
+
export declare function listar_arquivos(interpretador: InterpretadorInterface, caminhoPai: any, vetorArquivos: any): Promise<void>;
|
|
13
|
+
export declare function listar_arquivos_por_tipo(interpretador: InterpretadorInterface, caminhoPai: any, vetorArquivos: any, vetorTipos: any): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=arquivos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arquivos.d.ts","sourceRoot":"","sources":["../../../../fontes/bibliotecas/dialetos/portugol-studio/arquivos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAe3E,wBAAsB,aAAa,CAAC,aAAa,EAAE,sBAAsB,EAAE,cAAc,KAAA,EAAE,UAAU,KAAA,mBA8BpG;AAED,wBAAsB,cAAc,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,KAAA,iBAQnF;AAED,wBAAgB,WAAW,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,KAAA,OAG1E;AAED,wBAAsB,SAAS,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,KAAA,gBAO9E;AAED,wBAAsB,cAAc,CAAC,aAAa,EAAE,sBAAsB,EAAE,KAAK,KAAA,EAAE,QAAQ,KAAA,iBAM1F;AAED,wBAAsB,gBAAgB,CAClC,aAAa,EAAE,sBAAsB,EACrC,QAAQ,KAAA,EACR,aAAa,KAAA,EACb,eAAe,KAAA,EACf,SAAS,KAAA,iBAQZ;AAED,wBAAsB,cAAc,CAAC,aAAa,EAAE,sBAAsB,EAAE,cAAc,KAAA,oBAMzF;AAED,wBAAsB,cAAc,CAAC,aAAa,EAAE,sBAAsB,EAAE,cAAc,KAAA,iBAGzF;AAED,wBAAsB,WAAW,CAAC,aAAa,EAAE,sBAAsB,EAAE,OAAO,KAAA,iBAG/E;AAED,wBAAsB,aAAa,CAAC,aAAa,EAAE,sBAAsB,EAAE,UAAU,KAAA,EAAE,WAAW,KAAA,iBAkBjG;AAED,wBAAsB,eAAe,CAAC,aAAa,EAAE,sBAAsB,EAAE,UAAU,KAAA,EAAE,aAAa,KAAA,iBAkBrG;AAED,wBAAsB,wBAAwB,CAC1C,aAAa,EAAE,sBAAsB,EACrC,UAAU,KAAA,EACV,aAAa,KAAA,EACb,UAAU,KAAA,iBAqBb"}
|
|
@@ -0,0 +1,169 @@
|
|
|
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.abrir_arquivo = abrir_arquivo;
|
|
7
|
+
exports.fechar_arquivo = fechar_arquivo;
|
|
8
|
+
exports.fim_arquivo = fim_arquivo;
|
|
9
|
+
exports.ler_linha = ler_linha;
|
|
10
|
+
exports.escrever_linha = escrever_linha;
|
|
11
|
+
exports.substituir_texto = substituir_texto;
|
|
12
|
+
exports.arquivo_existe = arquivo_existe;
|
|
13
|
+
exports.apagar_arquivo = apagar_arquivo;
|
|
14
|
+
exports.criar_pasta = criar_pasta;
|
|
15
|
+
exports.listar_pastas = listar_pastas;
|
|
16
|
+
exports.listar_arquivos = listar_arquivos;
|
|
17
|
+
exports.listar_arquivos_por_tipo = listar_arquivos_por_tipo;
|
|
18
|
+
const fs_1 = __importDefault(require("fs"));
|
|
19
|
+
const path_1 = __importDefault(require("path"));
|
|
20
|
+
const NUMERO_MAXIMO_ARQUIVOS = 10;
|
|
21
|
+
const ModoAcesso = {
|
|
22
|
+
LEITURA: 0,
|
|
23
|
+
ESCRITA: 1,
|
|
24
|
+
ACRESCENTAR: 2,
|
|
25
|
+
};
|
|
26
|
+
const arquivos = new Array(NUMERO_MAXIMO_ARQUIVOS).fill(null);
|
|
27
|
+
async function abrir_arquivo(interpretador, caminhoArquivo, modoAcesso) {
|
|
28
|
+
if (modoAcesso < 0 || modoAcesso > 2) {
|
|
29
|
+
throw new Error(`Modo de acesso inválido: ${modoAcesso}`);
|
|
30
|
+
}
|
|
31
|
+
if (!arquivoAberto(caminhoArquivo)) {
|
|
32
|
+
const indice = obterProximoIndiceLivre();
|
|
33
|
+
arquivos[indice] = {
|
|
34
|
+
caminho: caminhoArquivo,
|
|
35
|
+
modoAcesso,
|
|
36
|
+
stream: modoAcesso === ModoAcesso.LEITURA
|
|
37
|
+
? fs_1.default.createReadStream(caminhoArquivo, 'utf-8')
|
|
38
|
+
: fs_1.default.createWriteStream(caminhoArquivo, {
|
|
39
|
+
flags: modoAcesso === ModoAcesso.ACRESCENTAR ? 'a' : 'w',
|
|
40
|
+
encoding: 'utf-8',
|
|
41
|
+
}),
|
|
42
|
+
leitor: modoAcesso === ModoAcesso.LEITURA ? fs_1.default.promises.readFile(caminhoArquivo, 'utf-8') : null,
|
|
43
|
+
escritor: modoAcesso !== ModoAcesso.LEITURA
|
|
44
|
+
? fs_1.default.promises.writeFile(caminhoArquivo, '', {
|
|
45
|
+
flag: modoAcesso === ModoAcesso.ACRESCENTAR ? 'a' : 'w',
|
|
46
|
+
})
|
|
47
|
+
: null,
|
|
48
|
+
fim: false,
|
|
49
|
+
};
|
|
50
|
+
return indice;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
throw new Error(`O arquivo '${caminhoArquivo}' já está aberto`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async function fechar_arquivo(interpretador, endereco) {
|
|
57
|
+
const arquivo = obterArquivo(endereco);
|
|
58
|
+
if (arquivo) {
|
|
59
|
+
arquivo.stream.close();
|
|
60
|
+
arquivos[endereco] = null;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
throw new Error(`O endereço de memória especificado não aponta para um arquivo`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function fim_arquivo(interpretador, endereco) {
|
|
67
|
+
const arquivo = obterArquivo(endereco);
|
|
68
|
+
return arquivo.fim;
|
|
69
|
+
}
|
|
70
|
+
async function ler_linha(interpretador, endereco) {
|
|
71
|
+
const arquivo = obterArquivo(endereco);
|
|
72
|
+
if (arquivo.modoAcesso !== ModoAcesso.LEITURA) {
|
|
73
|
+
throw new Error(`O arquivo '${arquivo.caminho}' está aberto em modo de escrita`);
|
|
74
|
+
}
|
|
75
|
+
const data = await arquivo.leitor;
|
|
76
|
+
return data.split('\n')[0];
|
|
77
|
+
}
|
|
78
|
+
async function escrever_linha(interpretador, linha, endereco) {
|
|
79
|
+
const arquivo = obterArquivo(endereco);
|
|
80
|
+
if (arquivo.modoAcesso === ModoAcesso.LEITURA) {
|
|
81
|
+
throw new Error(`O arquivo '${arquivo.caminho}' está aberto em modo de leitura`);
|
|
82
|
+
}
|
|
83
|
+
await fs_1.default.promises.appendFile(arquivo.caminho, linha + '\n', 'utf-8');
|
|
84
|
+
}
|
|
85
|
+
async function substituir_texto(interpretador, endereco, textoPesquisa, textoSubstituto, onlyFirst) {
|
|
86
|
+
const filePath = path_1.default.resolve(endereco);
|
|
87
|
+
const data = await fs_1.default.promises.readFile(filePath, 'utf-8');
|
|
88
|
+
const newText = onlyFirst
|
|
89
|
+
? data.replace(textoPesquisa, textoSubstituto)
|
|
90
|
+
: data.replace(new RegExp(textoPesquisa, 'g'), textoSubstituto);
|
|
91
|
+
await fs_1.default.promises.writeFile(filePath, newText, 'utf-8');
|
|
92
|
+
}
|
|
93
|
+
async function arquivo_existe(interpretador, caminhoArquivo) {
|
|
94
|
+
const filePath = path_1.default.resolve(caminhoArquivo);
|
|
95
|
+
return fs_1.default.promises
|
|
96
|
+
.access(filePath, fs_1.default.constants.F_OK)
|
|
97
|
+
.then(() => true)
|
|
98
|
+
.catch(() => false);
|
|
99
|
+
}
|
|
100
|
+
async function apagar_arquivo(interpretador, caminhoArquivo) {
|
|
101
|
+
const filePath = path_1.default.resolve(caminhoArquivo);
|
|
102
|
+
await fs_1.default.promises.unlink(filePath);
|
|
103
|
+
}
|
|
104
|
+
async function criar_pasta(interpretador, caminho) {
|
|
105
|
+
const dirPath = path_1.default.resolve(caminho);
|
|
106
|
+
await fs_1.default.promises.mkdir(dirPath, { recursive: true });
|
|
107
|
+
}
|
|
108
|
+
async function listar_pastas(interpretador, caminhoPai, vetorPastas) {
|
|
109
|
+
const dirPath = path_1.default.resolve(caminhoPai);
|
|
110
|
+
const items = await fs_1.default.promises.readdir(dirPath, { withFileTypes: true });
|
|
111
|
+
const pastas = items.filter((item) => item.isDirectory()).map((item) => item.name);
|
|
112
|
+
if (pastas.length > vetorPastas.length) {
|
|
113
|
+
throw new Error(`Não foi possível listar as pastas pois o vetor passado é muito pequeno. O diretório escolhido possui ${pastas.length} pastas, mas o vetor passado comporta apenas ${vetorPastas.length} elementos.`);
|
|
114
|
+
}
|
|
115
|
+
pastas.forEach((pasta, i) => {
|
|
116
|
+
vetorPastas[i] = pasta;
|
|
117
|
+
});
|
|
118
|
+
for (let i = pastas.length; i < vetorPastas.length; i++) {
|
|
119
|
+
vetorPastas[i] = '';
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
async function listar_arquivos(interpretador, caminhoPai, vetorArquivos) {
|
|
123
|
+
const dirPath = path_1.default.resolve(caminhoPai);
|
|
124
|
+
const items = await fs_1.default.promises.readdir(dirPath, { withFileTypes: true });
|
|
125
|
+
const arquivos = items.filter((item) => item.isFile()).map((item) => item.name);
|
|
126
|
+
if (arquivos.length > vetorArquivos.length) {
|
|
127
|
+
throw new Error(`Não foi possível listar os arquivos pois o vetor passado é muito pequeno. O diretório escolhido possui ${arquivos.length} arquivos, mas o vetor passado comporta apenas ${vetorArquivos.length} elementos.`);
|
|
128
|
+
}
|
|
129
|
+
arquivos.forEach((arquivo, i) => {
|
|
130
|
+
vetorArquivos[i] = arquivo;
|
|
131
|
+
});
|
|
132
|
+
for (let i = arquivos.length; i < vetorArquivos.length; i++) {
|
|
133
|
+
vetorArquivos[i] = '';
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
async function listar_arquivos_por_tipo(interpretador, caminhoPai, vetorArquivos, vetorTipos) {
|
|
137
|
+
const dirPath = path_1.default.resolve(caminhoPai);
|
|
138
|
+
const items = await fs_1.default.promises.readdir(dirPath, { withFileTypes: true });
|
|
139
|
+
const arquivos = items
|
|
140
|
+
.filter((item) => item.isFile() && vetorTipos.some((tipo) => item.name.endsWith(tipo)))
|
|
141
|
+
.map((item) => item.name);
|
|
142
|
+
if (arquivos.length > vetorArquivos.length) {
|
|
143
|
+
throw new Error(`Não foi possível listar os arquivos pois o vetor passado é muito pequeno. O diretório escolhido possui ${arquivos.length} arquivos, mas o vetor passado comporta apenas ${vetorArquivos.length} elementos.`);
|
|
144
|
+
}
|
|
145
|
+
arquivos.forEach((arquivo, i) => {
|
|
146
|
+
vetorArquivos[i] = arquivo;
|
|
147
|
+
});
|
|
148
|
+
for (let i = arquivos.length; i < vetorArquivos.length; i++) {
|
|
149
|
+
vetorArquivos[i] = '';
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
function obterProximoIndiceLivre() {
|
|
153
|
+
const indice = arquivos.findIndex((arquivo) => arquivo === null);
|
|
154
|
+
if (indice === -1) {
|
|
155
|
+
throw new Error('O número máximo de arquivos que podem ser abertos ao mesmo tempo foi atingido');
|
|
156
|
+
}
|
|
157
|
+
return indice;
|
|
158
|
+
}
|
|
159
|
+
function obterArquivo(endereco) {
|
|
160
|
+
const arquivo = arquivos[endereco];
|
|
161
|
+
if (!arquivo) {
|
|
162
|
+
throw new Error('O endereço de memória especificado não aponta para um arquivo');
|
|
163
|
+
}
|
|
164
|
+
return arquivo;
|
|
165
|
+
}
|
|
166
|
+
function arquivoAberto(caminho) {
|
|
167
|
+
return arquivos.some((arquivo) => arquivo && arquivo.caminho === caminho);
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=arquivos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arquivos.js","sourceRoot":"","sources":["../../../../fontes/bibliotecas/dialetos/portugol-studio/arquivos.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { InterpretadorInterface } from '@designliquido/delegua/interfaces';
|
|
2
|
+
export declare function definir_tempo_limite(interpretador: InterpretadorInterface, time: number): Promise<void>;
|
|
3
|
+
export declare function obter_texto(interpretador: InterpretadorInterface, caminho: string): Promise<string>;
|
|
4
|
+
export declare function baixar_imagem(interpretador: InterpretadorInterface, endereco: string, caminho: string): Promise<string>;
|
|
5
|
+
export declare function endereco_disponivel(interpretador: InterpretadorInterface, endereco: string): Promise<boolean>;
|
|
6
|
+
//# sourceMappingURL=internet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internet.d.ts","sourceRoot":"","sources":["../../../../fontes/bibliotecas/dialetos/portugol-studio/internet.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,wBAAsB,oBAAoB,CAAC,aAAa,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7G;AAaD,wBAAsB,WAAW,CAAC,aAAa,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAazG;AAED,wBAAsB,aAAa,CAC/B,aAAa,EAAE,sBAAsB,EACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED,wBAAsB,mBAAmB,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAanH"}
|
|
@@ -0,0 +1,91 @@
|
|
|
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.definir_tempo_limite = definir_tempo_limite;
|
|
7
|
+
exports.obter_texto = obter_texto;
|
|
8
|
+
exports.baixar_imagem = baixar_imagem;
|
|
9
|
+
exports.endereco_disponivel = endereco_disponivel;
|
|
10
|
+
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
11
|
+
const fs_1 = require("fs");
|
|
12
|
+
const path_1 = require("path");
|
|
13
|
+
let timeout = 2000;
|
|
14
|
+
async function definir_tempo_limite(interpretador, time) {
|
|
15
|
+
timeout = time;
|
|
16
|
+
}
|
|
17
|
+
async function fetch_com_timeout(url, options = {}) {
|
|
18
|
+
const controller = new AbortController();
|
|
19
|
+
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
20
|
+
const { signal } = controller;
|
|
21
|
+
try {
|
|
22
|
+
return await (0, node_fetch_1.default)(url, Object.assign(Object.assign({}, options), { signal }));
|
|
23
|
+
}
|
|
24
|
+
finally {
|
|
25
|
+
clearTimeout(timeoutId);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async function obter_texto(interpretador, caminho) {
|
|
29
|
+
try {
|
|
30
|
+
const response = await fetch_com_timeout(caminho, { method: 'GET' });
|
|
31
|
+
const conteudo = await response.text();
|
|
32
|
+
if (!conteudo) {
|
|
33
|
+
throw new Error(`O caminho ${caminho} não tem nenhum conteúdo`);
|
|
34
|
+
}
|
|
35
|
+
return conteudo;
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
throw new Error(`Não foi possível obter o conteúdo de ${caminho}: ${error.message}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async function baixar_imagem(interpretador, endereco, caminho) {
|
|
42
|
+
let tipoDaImagem;
|
|
43
|
+
let headerDaRequisicao;
|
|
44
|
+
let imagemObtida;
|
|
45
|
+
let arquivo;
|
|
46
|
+
try {
|
|
47
|
+
tipoDaImagem = 'png';
|
|
48
|
+
const responseHead = await fetch_com_timeout(endereco, { method: 'HEAD' });
|
|
49
|
+
headerDaRequisicao = responseHead.headers.get('content-type') || '';
|
|
50
|
+
if (headerDaRequisicao.includes('image/png')) {
|
|
51
|
+
tipoDaImagem = 'png';
|
|
52
|
+
}
|
|
53
|
+
else if (headerDaRequisicao.includes('image/jpeg') || headerDaRequisicao.includes('image/jpg')) {
|
|
54
|
+
tipoDaImagem = 'jpg';
|
|
55
|
+
}
|
|
56
|
+
const responseImage = await fetch_com_timeout(endereco, { method: 'GET' });
|
|
57
|
+
const arrayBuffer = await responseImage.arrayBuffer();
|
|
58
|
+
imagemObtida = Buffer.from(arrayBuffer);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
throw new Error(`Não foi possível obter o conteúdo de ${endereco}`);
|
|
62
|
+
}
|
|
63
|
+
arquivo = (0, path_1.resolve)(caminho + `.${tipoDaImagem}`);
|
|
64
|
+
try {
|
|
65
|
+
await new Promise((resolve, reject) => {
|
|
66
|
+
const stream = (0, fs_1.createWriteStream)(arquivo);
|
|
67
|
+
stream.on('finish', resolve);
|
|
68
|
+
stream.on('error', reject);
|
|
69
|
+
stream.write(imagemObtida);
|
|
70
|
+
stream.end();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
throw new Error(`Não foi possível salvar a imagem em ${arquivo}\nGaranta que o caminho é válido e todas as pastas existem`);
|
|
75
|
+
}
|
|
76
|
+
return tipoDaImagem;
|
|
77
|
+
}
|
|
78
|
+
async function endereco_disponivel(interpretador, endereco) {
|
|
79
|
+
try {
|
|
80
|
+
const response = await fetch_com_timeout(endereco, { method: 'HEAD' });
|
|
81
|
+
const status = response.status;
|
|
82
|
+
if (status === 404 || status === 0) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=internet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internet.js","sourceRoot":"","sources":["../../../../fontes/bibliotecas/dialetos/portugol-studio/internet.ts"],"names":[],"mappings":";;;;;AAQA,oDAEC;AAaD,kCAaC;AAED,sCA2CC;AAED,kDAaC;AAhGD,4DAA0D;AAC1D,2BAAuC;AACvC,+BAA+B;AAI/B,IAAI,OAAO,GAAW,IAAI,CAAC;AAEpB,KAAK,UAAU,oBAAoB,CAAC,aAAqC,EAAE,IAAY;IAC1F,OAAO,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,UAAuB,EAAE;IACnE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,IAAI,CAAC;QACD,OAAO,MAAM,IAAA,oBAAK,EAAC,GAAG,kCAAO,OAAO,KAAE,MAAM,IAAG,CAAC;IACpD,CAAC;YAAS,CAAC;QACP,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,aAAqC,EAAE,OAAe;IACpF,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAErE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,aAAa,OAAO,0BAA0B,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wCAAwC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACzF,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,aAAa,CAC/B,aAAqC,EACrC,QAAgB,EAChB,OAAe;IAEf,IAAI,YAAoB,CAAC;IACzB,IAAI,kBAA0B,CAAC;IAC/B,IAAI,YAAoB,CAAC;IACzB,IAAI,OAAe,CAAC;IAEpB,IAAI,CAAC;QACD,YAAY,GAAG,KAAK,CAAC;QACrB,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3E,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,YAAY,GAAG,KAAK,CAAC;QACzB,CAAC;aAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/F,YAAY,GAAG,KAAK,CAAC;QACzB,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;QACtD,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,GAAG,IAAA,cAAO,EAAC,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClC,MAAM,MAAM,GAAG,IAAA,sBAAiB,EAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAqB,CAAC,CAAC;YAC3C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3B,MAAM,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACX,uCAAuC,OAAO,4DAA4D,CAC7G,CAAC;IACN,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAC,aAAqC,EAAE,QAAgB;IAC7F,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE/B,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InterpretadorInterface } from '@designliquido/delegua/interfaces';
|
|
2
|
+
export declare function obter_diretorio_usuario(): Promise<string>;
|
|
3
|
+
export declare function numero_elementos(interpretador: InterpretadorInterface, vetor: any[]): Promise<number>;
|
|
4
|
+
export declare function numero_linhas(interpretador: InterpretadorInterface, matriz: any[][]): Promise<number>;
|
|
5
|
+
export declare function numero_colunas(interpretador: InterpretadorInterface, matriz: any[][]): Promise<number>;
|
|
6
|
+
export declare function sorteia(interpretador: InterpretadorInterface, minimo: number, maximo: number): Promise<number>;
|
|
7
|
+
export declare function aguarde(interpretador: InterpretadorInterface, intervalo: number): Promise<void>;
|
|
8
|
+
export declare function tempo_decorrido(): Promise<number>;
|
|
9
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../fontes/bibliotecas/dialetos/portugol-studio/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAK3E,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAM/D;AAED,wBAAsB,gBAAgB,CAAC,aAAa,EAAE,sBAAsB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3G;AAED,wBAAsB,aAAa,CAAC,aAAa,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3G;AAED,wBAAsB,cAAc,CAAC,aAAa,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5G;AAED,wBAAsB,OAAO,CAAC,aAAa,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUpH;AAED,wBAAsB,OAAO,CAAC,aAAa,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErG;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAGvD"}
|