@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.
Files changed (46) hide show
  1. package/avaliador-sintatico/avaliador-sintatico-com-importacao.d.ts +3 -1
  2. package/avaliador-sintatico/avaliador-sintatico-com-importacao.d.ts.map +1 -1
  3. package/avaliador-sintatico/avaliador-sintatico-com-importacao.js +132 -0
  4. package/avaliador-sintatico/avaliador-sintatico-com-importacao.js.map +1 -1
  5. package/bibliotecas/dialetos/portugol-studio/arquivos.d.ts +14 -0
  6. package/bibliotecas/dialetos/portugol-studio/arquivos.d.ts.map +1 -0
  7. package/bibliotecas/dialetos/portugol-studio/arquivos.js +169 -0
  8. package/bibliotecas/dialetos/portugol-studio/arquivos.js.map +1 -0
  9. package/bibliotecas/dialetos/portugol-studio/internet.d.ts +6 -0
  10. package/bibliotecas/dialetos/portugol-studio/internet.d.ts.map +1 -0
  11. package/bibliotecas/dialetos/portugol-studio/internet.js +91 -0
  12. package/bibliotecas/dialetos/portugol-studio/internet.js.map +1 -0
  13. package/bibliotecas/dialetos/portugol-studio/util.d.ts +9 -0
  14. package/bibliotecas/dialetos/portugol-studio/util.d.ts.map +1 -0
  15. package/bibliotecas/dialetos/portugol-studio/util.js +78 -0
  16. package/bibliotecas/dialetos/portugol-studio/util.js.map +1 -0
  17. package/bibliotecas/teclado.d.ts +139 -0
  18. package/bibliotecas/teclado.d.ts.map +1 -0
  19. package/bibliotecas/teclado.js +213 -0
  20. package/bibliotecas/teclado.js.map +1 -0
  21. package/bin/package.json +11 -8
  22. package/interpretador/dialetos/index.d.ts +5 -0
  23. package/interpretador/dialetos/index.d.ts.map +1 -0
  24. package/interpretador/dialetos/index.js +21 -0
  25. package/interpretador/dialetos/index.js.map +1 -0
  26. package/interpretador/dialetos/interpretador-pitugues-com-depuracao-importacao.d.ts.map +1 -1
  27. package/interpretador/dialetos/interpretador-pitugues-com-depuracao-importacao.js.map +1 -1
  28. package/interpretador/dialetos/interpretador-portugol-studio-com-depuracao-importacao.d.ts +14 -0
  29. package/interpretador/dialetos/interpretador-portugol-studio-com-depuracao-importacao.d.ts.map +1 -0
  30. package/interpretador/dialetos/interpretador-portugol-studio-com-depuracao-importacao.js +53 -0
  31. package/interpretador/dialetos/interpretador-portugol-studio-com-depuracao-importacao.js.map +1 -0
  32. package/interpretador/dialetos/interpretador-portugol-studio-com-importacao.d.ts +14 -0
  33. package/interpretador/dialetos/interpretador-portugol-studio-com-importacao.d.ts.map +1 -0
  34. package/interpretador/dialetos/interpretador-portugol-studio-com-importacao.js +53 -0
  35. package/interpretador/dialetos/interpretador-portugol-studio-com-importacao.js.map +1 -0
  36. package/interpretador/dialetos/portugol-studio-comum.d.ts +6 -0
  37. package/interpretador/dialetos/portugol-studio-comum.d.ts.map +1 -0
  38. package/interpretador/dialetos/portugol-studio-comum.js +109 -0
  39. package/interpretador/dialetos/portugol-studio-comum.js.map +1 -0
  40. package/maquinas-estados-lair/maquina-estados-lair-delegua.d.ts.map +1 -1
  41. package/maquinas-estados-lair/maquina-estados-lair-delegua.js +14 -0
  42. package/maquinas-estados-lair/maquina-estados-lair-delegua.js.map +1 -1
  43. package/nucleo-execucao.d.ts.map +1 -1
  44. package/nucleo-execucao.js +11 -11
  45. package/nucleo-execucao.js.map +1 -1
  46. 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,EAEH,KAAK,EACL,kBAAkB,EAClB,OAAO,EAIP,SAAS,EACT,UAAU,EAEV,OAAO,EACP,yBAAyB,EACzB,cAAc,EACd,gBAAgB,EAGnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AAKnG,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;IAkFjD;;;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"}
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":"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"}
@@ -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"}