@designliquido/delegua 0.25.1 → 0.25.3

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 (84) hide show
  1. package/bin/package.json +1 -1
  2. package/fontes/analisador-semantico/analisador-semantico.d.ts +5 -2
  3. package/fontes/analisador-semantico/analisador-semantico.js +16 -7
  4. package/fontes/analisador-semantico/analisador-semantico.js.map +1 -1
  5. package/fontes/analisador-semantico/dialetos/analisador-semantico-birl.d.ts +4 -1
  6. package/fontes/analisador-semantico/dialetos/analisador-semantico-birl.js +10 -1
  7. package/fontes/analisador-semantico/dialetos/analisador-semantico-birl.js.map +1 -1
  8. package/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +2 -3
  9. package/fontes/avaliador-sintatico/avaliador-sintatico-base.js +0 -3
  10. package/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
  11. package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +1 -1
  12. package/fontes/avaliador-sintatico/avaliador-sintatico.js +3 -4
  13. package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  14. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js +1 -1
  15. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js.map +1 -1
  16. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-mapler.js +4 -4
  17. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-mapler.js.map +1 -1
  18. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +2 -2
  19. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  20. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js +1 -1
  21. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js.map +1 -1
  22. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio.js +2 -2
  23. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio.js.map +1 -1
  24. package/fontes/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.d.ts +7 -6
  25. package/fontes/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.js +62 -2
  26. package/fontes/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.js.map +1 -1
  27. package/fontes/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.js +13 -7
  28. package/fontes/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.js.map +1 -1
  29. package/fontes/declaracoes/const-multiplo.d.ts +14 -0
  30. package/fontes/declaracoes/const-multiplo.js +20 -0
  31. package/fontes/declaracoes/const-multiplo.js.map +1 -0
  32. package/fontes/declaracoes/index.d.ts +3 -0
  33. package/fontes/declaracoes/index.js +3 -0
  34. package/fontes/declaracoes/index.js.map +1 -1
  35. package/fontes/declaracoes/leia-multiplo.d.ts +15 -0
  36. package/fontes/declaracoes/leia-multiplo.js +22 -0
  37. package/fontes/declaracoes/leia-multiplo.js.map +1 -0
  38. package/fontes/declaracoes/leia.d.ts +6 -4
  39. package/fontes/declaracoes/leia.js +5 -4
  40. package/fontes/declaracoes/leia.js.map +1 -1
  41. package/fontes/declaracoes/var-multiplo.d.ts +15 -0
  42. package/fontes/declaracoes/var-multiplo.js +21 -0
  43. package/fontes/declaracoes/var-multiplo.js.map +1 -0
  44. package/fontes/interfaces/avaliador-sintatico-interface.d.ts +1 -4
  45. package/fontes/interfaces/visitante-comum-interface.d.ts +7 -1
  46. package/fontes/interpretador/dialetos/birl/interpretador-birl.d.ts +1 -1
  47. package/fontes/interpretador/dialetos/birl/interpretador-birl.js +2 -2
  48. package/fontes/interpretador/dialetos/birl/interpretador-birl.js.map +1 -1
  49. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +4 -1
  50. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +9 -0
  51. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  52. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +6 -3
  53. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +9 -0
  54. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
  55. package/fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +4 -1
  56. package/fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +9 -0
  57. package/fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  58. package/fontes/interpretador/dialetos/potigol/comum.d.ts +13 -0
  59. package/fontes/interpretador/dialetos/potigol/comum.js +47 -1
  60. package/fontes/interpretador/dialetos/potigol/comum.js.map +1 -1
  61. package/fontes/interpretador/dialetos/potigol/interpretador-potigol-com-depuracao.d.ts +2 -0
  62. package/fontes/interpretador/dialetos/potigol/interpretador-potigol-com-depuracao.js +7 -0
  63. package/fontes/interpretador/dialetos/potigol/interpretador-potigol-com-depuracao.js.map +1 -1
  64. package/fontes/interpretador/dialetos/potigol/interpretador-potigol.d.ts +2 -0
  65. package/fontes/interpretador/dialetos/potigol/interpretador-potigol.js +7 -0
  66. package/fontes/interpretador/dialetos/potigol/interpretador-potigol.js.map +1 -1
  67. package/fontes/interpretador/interpretador-base.d.ts +32 -13
  68. package/fontes/interpretador/interpretador-base.js +66 -22
  69. package/fontes/interpretador/interpretador-base.js.map +1 -1
  70. package/fontes/interpretador/pilha-escopos-execucao.js +20 -6
  71. package/fontes/interpretador/pilha-escopos-execucao.js.map +1 -1
  72. package/fontes/lexador/dialetos/palavras-reservadas/potigol.d.ts +6 -0
  73. package/fontes/lexador/dialetos/palavras-reservadas/potigol.js +6 -0
  74. package/fontes/lexador/dialetos/palavras-reservadas/potigol.js.map +1 -1
  75. package/fontes/lexador/dialetos/palavras-reservadas/visualg.d.ts +3 -0
  76. package/fontes/lexador/dialetos/palavras-reservadas/visualg.js +3 -0
  77. package/fontes/lexador/dialetos/palavras-reservadas/visualg.js.map +1 -1
  78. package/fontes/tipos-de-simbolos/potigol.d.ts +6 -0
  79. package/fontes/tipos-de-simbolos/potigol.js +6 -0
  80. package/fontes/tipos-de-simbolos/potigol.js.map +1 -1
  81. package/fontes/tipos-de-simbolos/visualg.d.ts +3 -0
  82. package/fontes/tipos-de-simbolos/visualg.js +3 -0
  83. package/fontes/tipos-de-simbolos/visualg.js.map +1 -1
  84. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-portugol-ipt.js","sourceRoot":"","sources":["../../../../../fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpretador-portugol-ipt.js","sourceRoot":"","sources":["../../../../../fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.ts"],"names":[],"mappings":"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"}
@@ -6,3 +6,16 @@ import { InterpretadorBase } from "../../interpretador-base";
6
6
  * @returns O resultado da execução.
7
7
  */
8
8
  export declare function visitarExpressaoAcessoMetodo(interpretador: InterpretadorBase, expressao: AcessoMetodo): Promise<any>;
9
+ /**
10
+ * Resolve todas as interpolações em um texto.
11
+ * @param {texto} textoOriginal O texto original com as variáveis interpoladas.
12
+ * @returns Uma lista de variáveis interpoladas.
13
+ */
14
+ export declare function resolverInterpolacoes(interpretador: InterpretadorBase, textoOriginal: string, linha: number): Promise<any[]>;
15
+ /**
16
+ * Retira a interpolação de um texto.
17
+ * @param {texto} texto O texto
18
+ * @param {any[]} variaveis A lista de variaveis interpoladas
19
+ * @returns O texto com o valor das variaveis.
20
+ */
21
+ export declare function retirarInterpolacao(texto: string, variaveis: any[]): string;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.visitarExpressaoAcessoMetodo = void 0;
6
+ exports.retirarInterpolacao = exports.resolverInterpolacoes = exports.visitarExpressaoAcessoMetodo = void 0;
7
7
  const estruturas_1 = require("../../../estruturas");
8
8
  const inferenciador_1 = require("./inferenciador");
9
9
  const primitivas_numero_1 = __importDefault(require("../../../bibliotecas/dialetos/potigol/primitivas-numero"));
@@ -67,4 +67,50 @@ async function visitarExpressaoAcessoMetodo(interpretador, expressao) {
67
67
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.simbolo, `Método para objeto ou primitiva não encontrado: ${expressao.simbolo.lexema}.`, expressao.linha));
68
68
  }
69
69
  exports.visitarExpressaoAcessoMetodo = visitarExpressaoAcessoMetodo;
70
+ /**
71
+ * Resolve todas as interpolações em um texto.
72
+ * @param {texto} textoOriginal O texto original com as variáveis interpoladas.
73
+ * @returns Uma lista de variáveis interpoladas.
74
+ */
75
+ async function resolverInterpolacoes(interpretador, textoOriginal, linha) {
76
+ const variaveis = textoOriginal.match(interpretador.regexInterpolacao);
77
+ let resultadosAvaliacaoSintatica = variaveis.map((s) => {
78
+ const expressao = s.replace(/[\{\}]*/gm, '');
79
+ let microLexador = interpretador.microLexador.mapear(expressao);
80
+ const resultadoMicroAvaliadorSintatico = interpretador.microAvaliadorSintatico.analisar(microLexador, linha);
81
+ return {
82
+ nomeVariavel: expressao,
83
+ resultadoMicroAvaliadorSintatico
84
+ };
85
+ });
86
+ // TODO: Verificar erros do `resultadosAvaliacaoSintatica`.
87
+ const resolucoesPromises = await Promise.all(resultadosAvaliacaoSintatica
88
+ .flatMap(r => r.resultadoMicroAvaliadorSintatico.declaracoes)
89
+ .map(d => interpretador.avaliar(d)));
90
+ return resolucoesPromises.map((item, indice) => ({
91
+ variavel: resultadosAvaliacaoSintatica[indice].nomeVariavel,
92
+ valor: item
93
+ }));
94
+ }
95
+ exports.resolverInterpolacoes = resolverInterpolacoes;
96
+ /**
97
+ * Retira a interpolação de um texto.
98
+ * @param {texto} texto O texto
99
+ * @param {any[]} variaveis A lista de variaveis interpoladas
100
+ * @returns O texto com o valor das variaveis.
101
+ */
102
+ function retirarInterpolacao(texto, variaveis) {
103
+ let textoFinal = texto;
104
+ variaveis.forEach((elemento) => {
105
+ var _a, _b, _c;
106
+ if (((_a = elemento === null || elemento === void 0 ? void 0 : elemento.valor) === null || _a === void 0 ? void 0 : _a.tipo) === 'lógico') {
107
+ textoFinal = textoFinal.replace('{' + elemento.variavel + '}', this.paraTexto((_b = elemento === null || elemento === void 0 ? void 0 : elemento.valor) === null || _b === void 0 ? void 0 : _b.valor));
108
+ }
109
+ else {
110
+ textoFinal = textoFinal.replace('{' + elemento.variavel + '}', ((_c = elemento === null || elemento === void 0 ? void 0 : elemento.valor) === null || _c === void 0 ? void 0 : _c.valor) || (elemento === null || elemento === void 0 ? void 0 : elemento.valor));
111
+ }
112
+ });
113
+ return textoFinal;
114
+ }
115
+ exports.retirarInterpolacao = retirarInterpolacao;
70
116
  //# sourceMappingURL=comum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"comum.js","sourceRoot":"","sources":["../../../../../fontes/interpretador/dialetos/potigol/comum.ts"],"names":[],"mappings":";;;;;;AACA,oDAA0F;AAE1F,mDAAsD;AAEtD,gHAAuF;AACvF,8GAAqF;AACrF,8GAAqF;AACrF,gDAA0D;AAG1D;;;;EAIE;AACK,KAAK,UAAU,4BAA4B,CAAC,aAAgC,EAAE,SAAuB;IACzG,MAAM,cAAc,GAAsB,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC;IAE9F,IAAI,MAAM,YAAY,gCAAmB,EAAE;QACvC,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;KAClD;IAED,4CAA4C;IAC5C,yCAAyC;IACzC,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE;QAC/B,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;KACnD;IAED,oCAAoC;IACpC,yDAAyD;IACzD,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE;QACxD,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KAC3C;IAED,oCAAoC;IACpC,yDAAyD;IACzD,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE;QACtD,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KAC3C;IAED,IAAI,MAAM,YAAY,0BAAa,EAAE;QACjC,OAAO,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;KAC/D;IAED,IAAI,UAAU,GAAQ,cAAc,CAAC,IAAI,CAAC;IAC1C,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE;QACjD,UAAU,GAAG,IAAA,mCAAmB,EAAC,cAAqB,CAAC,CAAC;KAC3D;IAED,QAAQ,UAAU,EAAE;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACT,MAAM,uBAAuB,GAAa,2BAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrF,IAAI,uBAAuB,EAAE;gBACzB,OAAO,IAAI,4BAAe,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;aAC/D;YACD,MAAM;QACV,KAAK,OAAO;YACR,MAAM,sBAAsB,GAAa,0BAAe,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnF,IAAI,sBAAsB,EAAE;gBACxB,OAAO,IAAI,4BAAe,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;aAC9D;YACD,MAAM;QACV,KAAK,OAAO;YACR,MAAM,sBAAsB,GAAa,0BAAe,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnF,IAAI,sBAAsB,EAAE;gBACxB,OAAO,IAAI,4BAAe,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;aAC9D;YACD,MAAM;KACb;IAED,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,gCAAqB,CACrB,SAAS,CAAC,OAAO,EACjB,mDAAmD,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,EAC9E,SAAS,CAAC,KAAK,CAClB,CACJ,CAAC;AACL,CAAC;AAhED,oEAgEC"}
1
+ {"version":3,"file":"comum.js","sourceRoot":"","sources":["../../../../../fontes/interpretador/dialetos/potigol/comum.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,7 @@ import { AcessoMetodo } from "../../../construtos";
2
2
  import { InterpretadorComDepuracao } from "../../interpretador-com-depuracao";
3
3
  export declare class InterpretadorPotigolComDepuracao extends InterpretadorComDepuracao {
4
4
  constructor(diretorioBase: string, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
5
+ protected resolverInterpolacoes(textoOriginal: string, linha: number): Promise<any[]>;
6
+ protected retirarInterpolacao(texto: string, variaveis: any[]): string;
5
7
  visitarExpressaoAcessoMetodo(expressao: AcessoMetodo): Promise<any>;
6
8
  }
@@ -31,8 +31,15 @@ class InterpretadorPotigolComDepuracao extends interpretador_com_depuracao_1.Int
31
31
  constructor(diretorioBase, funcaoDeRetorno = null, funcaoDeRetornoMesmaLinha = null) {
32
32
  super(diretorioBase, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
33
33
  this.expandirPropriedadesDeObjetosEmEspacoVariaveis = true;
34
+ this.regexInterpolacao = /{(.*?)}/g;
34
35
  (0, biblioteca_global_1.registrarBibliotecaGlobalPotigol)(this, this.pilhaEscoposExecucao);
35
36
  }
37
+ async resolverInterpolacoes(textoOriginal, linha) {
38
+ return comum.resolverInterpolacoes(this, textoOriginal, linha);
39
+ }
40
+ retirarInterpolacao(texto, variaveis) {
41
+ return comum.retirarInterpolacao(texto, variaveis);
42
+ }
36
43
  async visitarExpressaoAcessoMetodo(expressao) {
37
44
  return comum.visitarExpressaoAcessoMetodo(this, expressao);
38
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-potigol-com-depuracao.js","sourceRoot":"","sources":["../../../../../fontes/interpretador/dialetos/potigol/interpretador-potigol-com-depuracao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+FAA2G;AAE3G,mFAA8E;AAE9E,+CAAiC;AAEjC,MAAa,gCAAiC,SAAQ,uDAAyB;IAC3E,YACI,aAAqB,EACrB,kBAA4B,IAAI,EAChC,4BAAsC,IAAI;QAE1C,KAAK,CAAC,aAAa,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QACjE,IAAI,CAAC,8CAA8C,GAAG,IAAI,CAAC;QAE3D,IAAA,oDAAgC,EAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,SAAuB;QACtD,OAAO,KAAK,CAAC,4BAA4B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;CACJ;AAfD,4EAeC"}
1
+ {"version":3,"file":"interpretador-potigol-com-depuracao.js","sourceRoot":"","sources":["../../../../../fontes/interpretador/dialetos/potigol/interpretador-potigol-com-depuracao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+FAA2G;AAE3G,mFAA8E;AAE9E,+CAAiC;AAEjC,MAAa,gCAAiC,SAAQ,uDAAyB;IAC3E,YACI,aAAqB,EACrB,kBAA4B,IAAI,EAChC,4BAAsC,IAAI;QAE1C,KAAK,CAAC,aAAa,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QACjE,IAAI,CAAC,8CAA8C,GAAG,IAAI,CAAC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;QAEpC,IAAA,oDAAgC,EAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtE,CAAC;IAES,KAAK,CAAC,qBAAqB,CAAC,aAAqB,EAAE,KAAa;QACtE,OAAO,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAES,mBAAmB,CAAC,KAAa,EAAE,SAAgB;QACzD,OAAO,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,SAAuB;QACtD,OAAO,KAAK,CAAC,4BAA4B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;CACJ;AAxBD,4EAwBC"}
@@ -5,5 +5,7 @@ import { AcessoMetodo } from "../../../construtos";
5
5
  */
6
6
  export declare class InterpretadorPotigol extends InterpretadorBase {
7
7
  constructor(diretorioBase: string, performance?: boolean, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
8
+ protected resolverInterpolacoes(textoOriginal: string, linha: number): Promise<any[]>;
9
+ protected retirarInterpolacao(texto: string, variaveis: any[]): string;
8
10
  visitarExpressaoAcessoMetodo(expressao: AcessoMetodo): Promise<any>;
9
11
  }
@@ -34,8 +34,15 @@ class InterpretadorPotigol extends interpretador_base_1.InterpretadorBase {
34
34
  constructor(diretorioBase, performance = false, funcaoDeRetorno = null, funcaoDeRetornoMesmaLinha = null) {
35
35
  super(diretorioBase, performance, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
36
36
  this.expandirPropriedadesDeObjetosEmEspacoVariaveis = true;
37
+ this.regexInterpolacao = /{(.*?)}/g;
37
38
  (0, biblioteca_global_1.registrarBibliotecaGlobalPotigol)(this, this.pilhaEscoposExecucao);
38
39
  }
40
+ async resolverInterpolacoes(textoOriginal, linha) {
41
+ return comum.resolverInterpolacoes(this, textoOriginal, linha);
42
+ }
43
+ retirarInterpolacao(texto, variaveis) {
44
+ return comum.retirarInterpolacao(texto, variaveis);
45
+ }
39
46
  async visitarExpressaoAcessoMetodo(expressao) {
40
47
  return comum.visitarExpressaoAcessoMetodo(this, expressao);
41
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-potigol.js","sourceRoot":"","sources":["../../../../../fontes/interpretador/dialetos/potigol/interpretador-potigol.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAA6D;AAE7D,+FAA2G;AAG3G,+CAAiC;AAEjC;;GAEG;AACH,MAAa,oBAAqB,SAAQ,sCAAiB;IACvD,YACI,aAAqB,EACrB,WAAW,GAAG,KAAK,EACnB,kBAA4B,IAAI,EAChC,4BAAsC,IAAI;QAE1C,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QAC9E,IAAI,CAAC,8CAA8C,GAAG,IAAI,CAAC;QAE3D,IAAA,oDAAgC,EAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,SAAuB;QACtD,OAAO,KAAK,CAAC,4BAA4B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;CACJ;AAhBD,oDAgBC"}
1
+ {"version":3,"file":"interpretador-potigol.js","sourceRoot":"","sources":["../../../../../fontes/interpretador/dialetos/potigol/interpretador-potigol.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAA6D;AAE7D,+FAA2G;AAG3G,+CAAiC;AAEjC;;GAEG;AACH,MAAa,oBAAqB,SAAQ,sCAAiB;IACvD,YACI,aAAqB,EACrB,WAAW,GAAG,KAAK,EACnB,kBAA4B,IAAI,EAChC,4BAAsC,IAAI;QAE1C,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QAC9E,IAAI,CAAC,8CAA8C,GAAG,IAAI,CAAC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;QAEpC,IAAA,oDAAgC,EAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtE,CAAC;IAES,KAAK,CAAC,qBAAqB,CAAC,aAAqB,EAAE,KAAa;QACtE,OAAO,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAES,mBAAmB,CAAC,KAAa,EAAE,SAAgB;QACzD,OAAO,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,SAAuB;QACtD,OAAO,KAAK,CAAC,4BAA4B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;CACJ;AAzBD,oDAyBC"}
@@ -2,7 +2,7 @@ import { EspacoVariaveis } from '../espaco-variaveis';
2
2
  import { MicroLexador } from './../../fontes/lexador/micro-lexador';
3
3
  import { MicroAvaliadorSintatico } from './../../fontes/avaliador-sintatico/micro-avaliador-sintatico';
4
4
  import { InterpretadorInterface, SimboloInterface, VariavelInterface } from '../interfaces';
5
- import { Bloco, Classe, Const, Continua, Declaracao, Enquanto, Escolha, Escreva, EscrevaMesmaLinha, Expressao, Falhar, Fazer, FuncaoDeclaracao, Importar, Leia, Para, ParaCada, Retorna, Se, Tente, Var } from '../declaracoes';
5
+ import { Bloco, Classe, Const, ConstMultiplo, Continua, Declaracao, Enquanto, Escolha, Escreva, EscrevaMesmaLinha, Expressao, Falhar, Fazer, FuncaoDeclaracao, Importar, Leia, LeiaMultiplo, Para, ParaCada, Retorna, Se, Tente, Var, VarMultiplo } from '../declaracoes';
6
6
  import { DeleguaFuncao, DeleguaModulo } from '../estruturas';
7
7
  import { AcessoIndiceVariavel, Agrupamento, Atribuir, Construto, FimPara, FormatacaoEscrita, Literal, Logico, Super, TipoDe, Unario, Variavel, Vetor } from '../construtos';
8
8
  import { ErroInterpretador } from '../interfaces/erros/erro-interpretador';
@@ -43,19 +43,26 @@ export declare class InterpretadorBase implements InterpretadorInterface {
43
43
  * @returns Promise com o resultado da leitura.
44
44
  */
45
45
  visitarExpressaoLeia(expressao: Leia): Promise<any>;
46
+ /**
47
+ * Execução da leitura de valores da entrada configurada no
48
+ * início da aplicação.
49
+ * @param expressao Expressão do tipo `LeiaMultiplo`.
50
+ * @returns Promise com o resultado da leitura.
51
+ */
52
+ visitarExpressaoLeiaMultiplo(expressao: LeiaMultiplo): Promise<any>;
46
53
  /**
47
54
  * Retira a interpolação de um texto.
48
55
  * @param {texto} texto O texto
49
56
  * @param {any[]} variaveis A lista de variaveis interpoladas
50
57
  * @returns O texto com o valor das variaveis.
51
58
  */
52
- private retirarInterpolacao;
59
+ protected retirarInterpolacao(texto: string, variaveis: any[]): string;
53
60
  /**
54
- * Busca variáveis interpoladas.
61
+ * Resolve todas as interpolações em um texto.
55
62
  * @param {texto} textoOriginal O texto original com as variáveis interpoladas.
56
63
  * @returns Uma lista de variáveis interpoladas.
57
64
  */
58
- private buscarVariaveisInterpolacao;
65
+ protected resolverInterpolacoes(textoOriginal: string, linha: number): Promise<any[]>;
59
66
  visitarExpressaoLiteral(expressao: Literal): Promise<any>;
60
67
  visitarExpressaoAgrupamento(expressao: Agrupamento): Promise<any>;
61
68
  eVerdadeiro(objeto: any): boolean;
@@ -133,19 +140,19 @@ export declare class InterpretadorBase implements InterpretadorInterface {
133
140
  */
134
141
  executarBloco(declaracoes: Declaracao[], ambiente?: EspacoVariaveis): Promise<any>;
135
142
  visitarExpressaoBloco(declaracao: Bloco): Promise<any>;
136
- protected avaliacaoDeclaracaoVar(declaracao: Var | Const): Promise<any>;
143
+ protected avaliacaoDeclaracaoVarOuConst(declaracao: Const | ConstMultiplo | Var | VarMultiplo): Promise<any>;
137
144
  /**
138
- * Executa expressão de definição de variável.
139
- * @param declaracao A declaração Var
145
+ * Executa expressão de definição de constante.
146
+ * @param declaracao A declaração `Const`.
140
147
  * @returns Sempre retorna nulo.
141
148
  */
142
- visitarDeclaracaoVar(declaracao: Var): Promise<any>;
143
- /**
144
- * Executa expressão de definição de constante.
145
- * @param declaracao A declaração Const
146
- * @returns Sempre retorna nulo.
147
- */
148
149
  visitarDeclaracaoConst(declaracao: Const): Promise<any>;
150
+ /**
151
+ * Executa expressão de definição de múltiplas constantes.
152
+ * @param declaracao A declaração `ConstMultiplo`.
153
+ * @returns Sempre retorna nulo.
154
+ */
155
+ visitarDeclaracaoConstMultiplo(declaracao: ConstMultiplo): Promise<any>;
149
156
  visitarExpressaoContinua(declaracao?: Continua): ContinuarQuebra;
150
157
  visitarExpressaoSustar(declaracao?: any): SustarQuebra;
151
158
  visitarExpressaoRetornar(declaracao: Retorna): Promise<RetornoQuebra>;
@@ -170,6 +177,18 @@ export declare class InterpretadorBase implements InterpretadorInterface {
170
177
  visitarExpressaoDicionario(expressao: any): Promise<any>;
171
178
  visitarExpressaoVetor(expressao: Vetor): Promise<any>;
172
179
  visitarExpressaoSuper(expressao: Super): any;
180
+ /**
181
+ * Executa expressão de definição de variável.
182
+ * @param declaracao A declaração Var
183
+ * @returns Sempre retorna nulo.
184
+ */
185
+ visitarDeclaracaoVar(declaracao: Var): Promise<any>;
186
+ /**
187
+ * Executa expressão de definição de múltiplas variáveis.
188
+ * @param declaracao A declaração `VarMultiplo`.
189
+ * @returns Sempre retorna nulo.
190
+ */
191
+ visitarDeclaracaoVarMultiplo(declaracao: VarMultiplo): Promise<any>;
173
192
  paraTexto(objeto: any): any;
174
193
  /**
175
194
  * Efetivamente executa uma declaração.
@@ -96,13 +96,25 @@ class InterpretadorBase {
96
96
  resolucao(resposta);
97
97
  }));
98
98
  }
99
+ /**
100
+ * Execução da leitura de valores da entrada configurada no
101
+ * início da aplicação.
102
+ * @param expressao Expressão do tipo `LeiaMultiplo`.
103
+ * @returns Promise com o resultado da leitura.
104
+ */
105
+ async visitarExpressaoLeiaMultiplo(expressao) {
106
+ const mensagem = expressao.argumentos && expressao.argumentos[0] ? expressao.argumentos[0].valor : '> ';
107
+ return new Promise((resolucao) => this.interfaceEntradaSaida.question(mensagem, (resposta) => {
108
+ resolucao(String(resposta).split(/(\s+)/).filter(r => !/(\s+)/.test(r)));
109
+ }));
110
+ }
99
111
  /**
100
112
  * Retira a interpolação de um texto.
101
113
  * @param {texto} texto O texto
102
114
  * @param {any[]} variaveis A lista de variaveis interpoladas
103
115
  * @returns O texto com o valor das variaveis.
104
116
  */
105
- async retirarInterpolacao(texto, variaveis) {
117
+ retirarInterpolacao(texto, variaveis) {
106
118
  let textoFinal = texto;
107
119
  variaveis.forEach((elemento) => {
108
120
  var _a, _b, _c;
@@ -116,11 +128,11 @@ class InterpretadorBase {
116
128
  return textoFinal;
117
129
  }
118
130
  /**
119
- * Busca variáveis interpoladas.
131
+ * Resolve todas as interpolações em um texto.
120
132
  * @param {texto} textoOriginal O texto original com as variáveis interpoladas.
121
133
  * @returns Uma lista de variáveis interpoladas.
122
134
  */
123
- async buscarVariaveisInterpolacao(textoOriginal, linha) {
135
+ async resolverInterpolacoes(textoOriginal, linha) {
124
136
  const variaveis = textoOriginal.match(this.regexInterpolacao);
125
137
  let resultadosAvaliacaoSintatica = variaveis.map((s) => {
126
138
  const nomeVariavel = s.replace(/[\$\{\}]*/gm, '');
@@ -131,7 +143,7 @@ class InterpretadorBase {
131
143
  resultadoMicroAvaliadorSintatico
132
144
  };
133
145
  });
134
- //TODO verificar erros do resultadosAvaliacaoSintatica
146
+ // TODO: Verificar erros do `resultadosAvaliacaoSintatica`.
135
147
  const resolucoesPromises = await Promise.all(resultadosAvaliacaoSintatica
136
148
  .flatMap(r => r.resultadoMicroAvaliadorSintatico.declaracoes)
137
149
  .map(d => this.avaliar(d)));
@@ -142,7 +154,7 @@ class InterpretadorBase {
142
154
  }
143
155
  async visitarExpressaoLiteral(expressao) {
144
156
  if (this.regexInterpolacao.test(expressao.valor)) {
145
- const variaveis = await this.buscarVariaveisInterpolacao(expressao.valor, expressao.linha);
157
+ const variaveis = await this.resolverInterpolacoes(expressao.valor, expressao.linha);
146
158
  return this.retirarInterpolacao(expressao.valor, variaveis);
147
159
  }
148
160
  return expressao.valor;
@@ -285,7 +297,7 @@ class InterpretadorBase {
285
297
  return Number(valorEsquerdo) - Number(valorDireito);
286
298
  case delegua_1.default.ADICAO:
287
299
  case delegua_1.default.MAIS_IGUAL:
288
- if (tipoEsquerdo === 'número' && tipoDireito === 'número') {
300
+ if (['número', 'inteiro'].includes(tipoEsquerdo) && ['número', 'inteiro'].includes(tipoDireito)) {
289
301
  return Number(valorEsquerdo) + Number(valorDireito);
290
302
  }
291
303
  else {
@@ -784,7 +796,7 @@ class InterpretadorBase {
784
796
  async visitarExpressaoBloco(declaracao) {
785
797
  return await this.executarBloco(declaracao.declaracoes);
786
798
  }
787
- async avaliacaoDeclaracaoVar(declaracao) {
799
+ async avaliacaoDeclaracaoVarOuConst(declaracao) {
788
800
  let valorOuOutraVariavel = null;
789
801
  if (declaracao.inicializador !== null) {
790
802
  valorOuOutraVariavel = await this.avaliar(declaracao.inicializador);
@@ -798,31 +810,33 @@ class InterpretadorBase {
798
810
  return valorFinal;
799
811
  }
800
812
  /**
801
- * Executa expressão de definição de variável.
802
- * @param declaracao A declaração Var
813
+ * Executa expressão de definição de constante.
814
+ * @param declaracao A declaração `Const`.
803
815
  * @returns Sempre retorna nulo.
804
816
  */
805
- async visitarDeclaracaoVar(declaracao) {
806
- const valorFinal = await this.avaliacaoDeclaracaoVar(declaracao);
817
+ async visitarDeclaracaoConst(declaracao) {
818
+ const valorFinal = await this.avaliacaoDeclaracaoVarOuConst(declaracao);
807
819
  let subtipo;
808
820
  if (declaracao.tipo !== undefined) {
809
821
  subtipo = declaracao.tipo;
810
822
  }
811
- this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, valorFinal, subtipo);
823
+ this.pilhaEscoposExecucao.definirConstante(declaracao.simbolo.lexema, valorFinal, subtipo);
812
824
  return null;
813
825
  }
814
826
  /**
815
- * Executa expressão de definição de constante.
816
- * @param declaracao A declaração Const
817
- * @returns Sempre retorna nulo.
818
- */
819
- async visitarDeclaracaoConst(declaracao) {
820
- const valorFinal = await this.avaliacaoDeclaracaoVar(declaracao);
821
- let subtipo;
822
- if (declaracao.tipo !== undefined) {
823
- subtipo = declaracao.tipo;
827
+ * Executa expressão de definição de múltiplas constantes.
828
+ * @param declaracao A declaração `ConstMultiplo`.
829
+ * @returns Sempre retorna nulo.
830
+ */
831
+ async visitarDeclaracaoConstMultiplo(declaracao) {
832
+ const valoresFinais = await this.avaliacaoDeclaracaoVarOuConst(declaracao);
833
+ for (let [indice, valor] of valoresFinais.entries()) {
834
+ let subtipo;
835
+ if (declaracao.tipo !== undefined) {
836
+ subtipo = declaracao.tipo;
837
+ }
838
+ this.pilhaEscoposExecucao.definirConstante(declaracao.simbolos[indice].lexema, valor, subtipo);
824
839
  }
825
- this.pilhaEscoposExecucao.definirConstante(declaracao.simbolo.lexema, valorFinal, subtipo);
826
840
  return null;
827
841
  }
828
842
  visitarExpressaoContinua(declaracao) {
@@ -1054,6 +1068,36 @@ class InterpretadorBase {
1054
1068
  metodo.instancia = objeto.valor;
1055
1069
  return metodo;
1056
1070
  }
1071
+ /**
1072
+ * Executa expressão de definição de variável.
1073
+ * @param declaracao A declaração Var
1074
+ * @returns Sempre retorna nulo.
1075
+ */
1076
+ async visitarDeclaracaoVar(declaracao) {
1077
+ const valorFinal = await this.avaliacaoDeclaracaoVarOuConst(declaracao);
1078
+ let subtipo;
1079
+ if (declaracao.tipo !== undefined) {
1080
+ subtipo = declaracao.tipo;
1081
+ }
1082
+ this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, valorFinal, subtipo);
1083
+ return null;
1084
+ }
1085
+ /**
1086
+ * Executa expressão de definição de múltiplas variáveis.
1087
+ * @param declaracao A declaração `VarMultiplo`.
1088
+ * @returns Sempre retorna nulo.
1089
+ */
1090
+ async visitarDeclaracaoVarMultiplo(declaracao) {
1091
+ const valoresFinais = await this.avaliacaoDeclaracaoVarOuConst(declaracao);
1092
+ for (let [indice, valor] of valoresFinais.entries()) {
1093
+ let subtipo;
1094
+ if (declaracao.tipo !== undefined) {
1095
+ subtipo = declaracao.tipo;
1096
+ }
1097
+ this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolos[indice].lexema, valor, subtipo);
1098
+ }
1099
+ return null;
1100
+ }
1057
1101
  paraTexto(objeto) {
1058
1102
  if (objeto === null || objeto === undefined)
1059
1103
  return 'nulo';