@designliquido/delegua 0.25.1 → 0.25.2

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 (78) 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 +2 -2
  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/tipos-de-simbolos/potigol.d.ts +6 -0
  76. package/fontes/tipos-de-simbolos/potigol.js +6 -0
  77. package/fontes/tipos-de-simbolos/potigol.js.map +1 -1
  78. package/package.json +1 -1
@@ -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';
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-base.js","sourceRoot":"","sources":["../../../fontes/interpretador/interpretador-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpretador-base.js","sourceRoot":"","sources":["../../../fontes/interpretador/interpretador-base.ts"],"names":[],"mappings":"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"}