@designliquido/delegua 1.27.1 → 1.27.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 (38) hide show
  1. package/avaliador-sintatico/avaliador-sintatico-base.d.ts.map +1 -1
  2. package/avaliador-sintatico/avaliador-sintatico-base.js +11 -0
  3. package/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
  4. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  5. package/avaliador-sintatico/avaliador-sintatico.js +15 -1
  6. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  7. package/bin/package.json +1 -1
  8. package/interfaces/parametro-interface.d.ts +4 -0
  9. package/interfaces/parametro-interface.d.ts.map +1 -1
  10. package/interpretador/estruturas/delegua-funcao.d.ts.map +1 -1
  11. package/interpretador/estruturas/delegua-funcao.js +47 -1
  12. package/interpretador/estruturas/delegua-funcao.js.map +1 -1
  13. package/interpretador/interpretador-base.d.ts.map +1 -1
  14. package/interpretador/interpretador-base.js +4 -1
  15. package/interpretador/interpretador-base.js.map +1 -1
  16. package/interpretador/interpretador.d.ts.map +1 -1
  17. package/interpretador/interpretador.js +3 -0
  18. package/interpretador/interpretador.js.map +1 -1
  19. package/lexador/dialetos/lexador-portugol-ipt.d.ts.map +1 -1
  20. package/lexador/dialetos/lexador-portugol-ipt.js +3 -2
  21. package/lexador/dialetos/lexador-portugol-ipt.js.map +1 -1
  22. package/lexador/lexador-base-linha-unica.d.ts.map +1 -1
  23. package/lexador/lexador-base-linha-unica.js +3 -2
  24. package/lexador/lexador-base-linha-unica.js.map +1 -1
  25. package/lexador/lexador-base.d.ts.map +1 -1
  26. package/lexador/lexador-base.js +9 -2
  27. package/lexador/lexador-base.js.map +1 -1
  28. package/lexador/lexador.d.ts.map +1 -1
  29. package/lexador/lexador.js +3 -2
  30. package/lexador/lexador.js.map +1 -1
  31. package/lexador/micro-lexador-pitugues.d.ts.map +1 -1
  32. package/lexador/micro-lexador-pitugues.js +3 -2
  33. package/lexador/micro-lexador-pitugues.js.map +1 -1
  34. package/lexador/micro-lexador.d.ts.map +1 -1
  35. package/lexador/micro-lexador.js +3 -2
  36. package/lexador/micro-lexador.js.map +1 -1
  37. package/package.json +1 -1
  38. package/umd/delegua.js +105 -16
@@ -1 +1 @@
1
- {"version":3,"file":"micro-lexador-pitugues.js","sourceRoot":"","sources":["../../fontes/lexador/micro-lexador-pitugues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"micro-lexador-pitugues.js","sourceRoot":"","sources":["../../fontes/lexador/micro-lexador-pitugues.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"micro-lexador.d.ts","sourceRoot":"","sources":["../../fontes/lexador/micro-lexador.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAO7C;;;;GAIG;AACH,qBAAa,YAAY;IACrB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAInC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAoCrC,iBAAiB,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO;IAI1C,cAAc,IAAI,OAAO;IAIzB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,GAAU,GAAG,IAAI;IAUzD,aAAa,CAAC,WAAW,SAAM,GAAG,IAAI;IAkBtC,cAAc,IAAI,IAAI;IAkBtB,uBAAuB,IAAI,IAAI;IAe/B,aAAa,IAAI,IAAI;IAiHrB;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,uBAAuB,CAAC,gBAAgB,CAAC;CAiBpE"}
1
+ {"version":3,"file":"micro-lexador.d.ts","sourceRoot":"","sources":["../../fontes/lexador/micro-lexador.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAO7C;;;;GAIG;AACH,qBAAa,YAAY;IACrB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAInC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAoCrC,iBAAiB,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO;IAI1C,cAAc,IAAI,OAAO;IAIzB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,GAAU,GAAG,IAAI;IAWzD,aAAa,CAAC,WAAW,SAAM,GAAG,IAAI;IAkBtC,cAAc,IAAI,IAAI;IAkBtB,uBAAuB,IAAI,IAAI;IAe/B,aAAa,IAAI,IAAI;IAiHrB;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,uBAAuB,CAAC,gBAAgB,CAAC;CAiBpE"}
@@ -56,8 +56,9 @@ class MicroLexador {
56
56
  }
57
57
  adicionarSimbolo(tipo, literal = null) {
58
58
  const texto = this.codigo.substring(this.inicioSimbolo, this.atual);
59
- const lexema = literal || texto;
60
- const comprimentoLexema = typeof lexema === 'string' ? lexema.length : 0;
59
+ // `lexema` deve sempre ser texto. Ver comentário equivalente em `LexadorBase.adicionarSimbolo`.
60
+ const lexema = (typeof literal === 'string' && literal.length > 0) ? literal : texto;
61
+ const comprimentoLexema = lexema.length;
61
62
  const comprimento = Math.max(comprimentoLexema, texto.length) || 1;
62
63
  const colunaInicio = this.inicioSimbolo + 1;
63
64
  const colunaFim = this.inicioSimbolo + comprimento;
@@ -1 +1 @@
1
- {"version":3,"file":"micro-lexador.js","sourceRoot":"","sources":["../../fontes/lexador/micro-lexador.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"micro-lexador.js","sourceRoot":"","sources":["../../fontes/lexador/micro-lexador.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/delegua",
3
- "version": "1.27.1",
3
+ "version": "1.27.2",
4
4
  "description": "Linguagem de programação simples e moderna usando português estruturado.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
package/umd/delegua.js CHANGED
@@ -2165,6 +2165,17 @@ class AvaliadorSintaticoBase {
2165
2165
  this.blocos = 0;
2166
2166
  }
2167
2167
  erro(simbolo, mensagemDeErro, codigoDiagnostico, simboloRelacionado) {
2168
+ // Chamadores costumam passar `this.simbolos[this.atual]` diretamente. Se o
2169
+ // cursor já passou do último símbolo (ex.: código termina logo após um
2170
+ // token sem ';' ou EOF explícito), esse acesso devolve `undefined`, e o
2171
+ // construtor de `ErroAvaliadorSintatico` quebraria ao ler `simbolo.hashArquivo`.
2172
+ // Mesma lógica de fallback já usada em `consumir()`.
2173
+ if (!simbolo) {
2174
+ simbolo =
2175
+ this.simbolos.length === 0
2176
+ ? { hashArquivo: this.hashArquivo, linha: 1 }
2177
+ : this.simbolos[this.simbolos.length - 1];
2178
+ }
2168
2179
  const excecao = new erro_avaliador_sintatico_1.ErroAvaliadorSintatico(simbolo, mensagemDeErro, codigoDiagnostico, simboloRelacionado);
2169
2180
  return excecao;
2170
2181
  }
@@ -4701,6 +4712,15 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
4701
4712
  const parametros = [];
4702
4713
  do {
4703
4714
  const parametro = {};
4715
+ if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.CONSTANTE)) {
4716
+ const modificador = this.simbolos[this.atual - 1];
4717
+ if (modificador.lexema === 'fixo') {
4718
+ parametro.fixo = true;
4719
+ }
4720
+ else {
4721
+ parametro.imutavel = true;
4722
+ }
4723
+ }
4704
4724
  if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.RETICENCIAS)) {
4705
4725
  parametro.abrangencia = 'multiplo';
4706
4726
  }
@@ -4772,7 +4792,12 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
4772
4792
  }
4773
4793
  }
4774
4794
  const tiposRetornos = new Set(expressoesRetorna.filter((e) => e.tipo !== 'qualquer').map((e) => e.tipo));
4775
- let retornaChamadoExplicitamente = tiposRetornos.size > 0;
4795
+ // Não usar `tiposRetornos.size > 0` aqui: esse conjunto já descarta
4796
+ // retornos de tipo 'qualquer' (ex.: `retorna x * y` com parâmetros sem
4797
+ // tipo). Um `retorna` com valor de tipo indeterminado ainda conta como
4798
+ // retorno explícito, senão a função seria incorretamente inferida como
4799
+ // 'vazio' em vez de 'qualquer'.
4800
+ let retornaChamadoExplicitamente = expressoesRetorna.some((e) => e.valor !== undefined);
4776
4801
  if (tiposRetornos.size > 1 && tipoRetorno !== 'qualquer') {
4777
4802
  let tiposEncontrados = Array.from(tiposRetornos).reduce((acumulador, valor) => (acumulador += valor + ', '), '');
4778
4803
  tiposEncontrados = tiposEncontrados.slice(0, -2);
@@ -20984,6 +21009,8 @@ const espaco_memoria_1 = require("../espaco-memoria");
20984
21009
  const quebras_1 = require("../../quebras");
20985
21010
  const objeto_delegua_classe_1 = require("./objeto-delegua-classe");
20986
21011
  const declaracoes_1 = require("../../declaracoes");
21012
+ const inferenciador_1 = require("../../inferenciador");
21013
+ const referencia_montao_1 = require("./referencia-montao");
20987
21014
  /**
20988
21015
  * Qualquer função declarada em código é uma DeleguaFuncao.
20989
21016
  */
@@ -21079,7 +21106,27 @@ class DeleguaFuncao extends chamavel_1.Chamavel {
21079
21106
  else {
21080
21107
  valorFinal = null;
21081
21108
  }
21082
- ambiente.valores[nome] = valorFinal;
21109
+ if (parametro.fixo) {
21110
+ // Vetores e dicionários vivem no montão; `valorFinal` é apenas
21111
+ // o ponteiro (`ReferenciaMontao`). É preciso congelar o valor
21112
+ // real armazenado no montão, não o ponteiro em si.
21113
+ if (valorFinal instanceof referencia_montao_1.ReferenciaMontao) {
21114
+ congelarProfundamente(visitante.resolverValor(valorFinal));
21115
+ }
21116
+ else {
21117
+ valorFinal = congelarProfundamente(valorFinal);
21118
+ }
21119
+ }
21120
+ if (parametro.imutavel || parametro.fixo) {
21121
+ ambiente.valores[nome] = {
21122
+ valor: valorFinal,
21123
+ tipo: (0, inferenciador_1.inferirTipoVariavel)(valorFinal),
21124
+ imutavel: true,
21125
+ };
21126
+ }
21127
+ else {
21128
+ ambiente.valores[nome] = valorFinal;
21129
+ }
21083
21130
  // Se o argumento é `DeleguaFuncao`, para habilitar o recurso de _currying_,
21084
21131
  // copiamos seu valor para o escopo atual. Nem sempre podemos contar com a tipagem explícita aqui.
21085
21132
  if (valorFinal &&
@@ -21159,6 +21206,30 @@ class DeleguaFuncao extends chamavel_1.Chamavel {
21159
21206
  }
21160
21207
  }
21161
21208
  exports.DeleguaFuncao = DeleguaFuncao;
21209
+ /**
21210
+ * Congela recursivamente vetores e objetos (dicionários), usados para
21211
+ * implementar parâmetros `fixo`: qualquer tentativa de mutação do valor,
21212
+ * mesmo através de um alias, deve resultar em erro em tempo de execução.
21213
+ * Não congela instâncias de classe, funções ou outras estruturas de Delégua,
21214
+ * pois isso quebraria comportamento esperado (ex.: métodos, `isto`).
21215
+ */
21216
+ function congelarProfundamente(valor) {
21217
+ if (valor === null || typeof valor !== 'object') {
21218
+ return valor;
21219
+ }
21220
+ if (!Array.isArray(valor) && valor.constructor !== Object) {
21221
+ return valor;
21222
+ }
21223
+ if (Object.isFrozen(valor)) {
21224
+ return valor;
21225
+ }
21226
+ Object.freeze(valor);
21227
+ const valores = Array.isArray(valor) ? valor : Object.values(valor);
21228
+ for (const item of valores) {
21229
+ congelarProfundamente(item);
21230
+ }
21231
+ return valor;
21232
+ }
21162
21233
  /**
21163
21234
  * Mapeia o tipo JS de um valor primitivo para o nome de tipo de Delégua.
21164
21235
  */
@@ -21178,7 +21249,7 @@ function tipoDeDados(valor) {
21178
21249
  }
21179
21250
  }
21180
21251
 
21181
- },{"../../declaracoes":117,"../../quebras":253,"../espaco-memoria":206,"./chamavel":207,"./objeto-delegua-classe":220}],212:[function(require,module,exports){
21252
+ },{"../../declaracoes":117,"../../inferenciador":151,"../../quebras":253,"../espaco-memoria":206,"./chamavel":207,"./objeto-delegua-classe":220,"./referencia-montao":222}],212:[function(require,module,exports){
21182
21253
  "use strict";
21183
21254
  Object.defineProperty(exports, "__esModule", { value: true });
21184
21255
  exports.DescritorTipoClasse = void 0;
@@ -22674,10 +22745,13 @@ class InterpretadorBase {
22674
22745
  return avaliacaoAgrupamento;
22675
22746
  }
22676
22747
  eVerdadeiro(objeto) {
22677
- if (objeto === null)
22748
+ if (objeto === null || objeto === undefined)
22678
22749
  return false;
22679
22750
  if (typeof objeto === primitivos_1.default.BOOLEANO)
22680
22751
  return Boolean(objeto);
22752
+ if (typeof objeto === primitivos_1.default.NUMERO || typeof objeto === 'bigint') {
22753
+ return Boolean(objeto);
22754
+ }
22681
22755
  if (objeto.hasOwnProperty('valor')) {
22682
22756
  return Boolean(objeto.valor);
22683
22757
  }
@@ -25831,6 +25905,9 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
25831
25905
  }
25832
25906
  objeto = this.resolverValor(objeto);
25833
25907
  indice = this.resolverValor(indice);
25908
+ if (objeto && typeof objeto === 'object' && Object.isFrozen(objeto)) {
25909
+ return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.objeto.simbolo, 'Não é possível mutar um valor fixo.', expressao.linha));
25910
+ }
25834
25911
  // Se o valor é uma referência ao montão, e o índice que a recebe é
25835
25912
  // de uma variável/constante que vive num escopo superior, a referência
25836
25913
  // precisa ser transferida para o escopo correspondente.
@@ -27945,8 +28022,9 @@ class LexadorPortugolIpt {
27945
28022
  }
27946
28023
  adicionarSimbolo(tipo, literal) {
27947
28024
  const texto = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
27948
- const lexema = literal || texto;
27949
- const comprimentoLexema = typeof lexema === 'string' ? lexema.length : 0;
28025
+ // `lexema` deve sempre ser texto. Ver comentário equivalente em `LexadorBase.adicionarSimbolo`.
28026
+ const lexema = (typeof literal === 'string' && literal.length > 0) ? literal : texto;
28027
+ const comprimentoLexema = lexema.length;
27950
28028
  const comprimento = Math.max(comprimentoLexema, texto.length) || 1;
27951
28029
  const colunaInicio = this.inicioSimbolo + 1;
27952
28030
  const colunaFim = this.inicioSimbolo + comprimento;
@@ -29398,8 +29476,9 @@ class LexadorBaseLinhaUnica {
29398
29476
  }
29399
29477
  adicionarSimbolo(tipo, literal) {
29400
29478
  const texto = this.codigo.substring(this.inicioSimbolo, this.atual);
29401
- const lexema = literal || texto;
29402
- const comprimentoLexema = typeof lexema === 'string' ? lexema.length : 0;
29479
+ // `lexema` deve sempre ser texto. Ver comentário equivalente em `LexadorBase.adicionarSimbolo`.
29480
+ const lexema = (typeof literal === 'string' && literal.length > 0) ? literal : texto;
29481
+ const comprimentoLexema = lexema.length;
29403
29482
  const comprimento = Math.max(comprimentoLexema, texto.length) || 1;
29404
29483
  const colunaInicio = this.inicioSimbolo + 1;
29405
29484
  const colunaFim = this.inicioSimbolo + comprimento;
@@ -29537,8 +29616,15 @@ class LexadorBase {
29537
29616
  }
29538
29617
  adicionarSimbolo(tipo, literal, ehNumeroReal) {
29539
29618
  const texto = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
29540
- const lexema = literal || texto;
29541
- const comprimentoLexema = typeof lexema === 'string' ? lexema.length : 0;
29619
+ // `lexema` deve sempre ser texto (o token como aparece no código-fonte).
29620
+ // Para símbolos de um avanço (operadores compostos, por exemplo), `literal`
29621
+ // é passado como string e usado como `lexema` porque `texto` ainda está vazio
29622
+ // nesse ponto. Mas `literal` também pode ser um valor já convertido (número,
29623
+ // BigInt) para tokens como NUMERO — nesse caso `texto` é que deve virar o lexema,
29624
+ // nunca o valor bruto (ver `verificarDefinicaoTipoAtual`, que chama `.toLowerCase()`
29625
+ // em `lexema` esperando sempre uma string).
29626
+ const lexema = (typeof literal === 'string' && literal.length > 0) ? literal : texto;
29627
+ const comprimentoLexema = lexema.length;
29542
29628
  const comprimento = Math.max(comprimentoLexema, texto.length) || 1;
29543
29629
  const colunaInicio = this.inicioSimbolo + 1;
29544
29630
  const colunaFim = this.inicioSimbolo + comprimento;
@@ -29635,8 +29721,9 @@ class Lexador extends lexador_base_1.LexadorBase {
29635
29721
  }
29636
29722
  adicionarSimbolo(tipo, literal = null, ehNumeroReal) {
29637
29723
  const texto = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
29638
- const lexema = literal !== null ? literal : texto;
29639
- const comprimento = Math.max(typeof lexema === 'string' ? lexema.length : 0, texto.length) || 1;
29724
+ // `lexema` deve sempre ser texto. Ver comentário equivalente em `LexadorBase.adicionarSimbolo`.
29725
+ const lexema = (typeof literal === 'string' && literal.length > 0) ? literal : texto;
29726
+ const comprimento = Math.max(lexema.length, texto.length) || 1;
29640
29727
  this.simbolos.push(new simbolo_1.Simbolo(tipo, lexema, literal, this.linha + 1, this.hashArquivo, this.inicioSimbolo + 1, this.inicioSimbolo + comprimento, undefined, ehNumeroReal));
29641
29728
  }
29642
29729
  verificarEAvancar(esperado) {
@@ -30286,8 +30373,9 @@ class MicroLexadorPitugues {
30286
30373
  }
30287
30374
  adicionarSimbolo(tipo, literal = null) {
30288
30375
  const texto = this.codigo.substring(this.inicioSimbolo, this.atual);
30289
- const lexema = literal || texto;
30290
- const comprimentoLexema = typeof lexema === 'string' ? lexema.length : 0;
30376
+ // `lexema` deve sempre ser texto. Ver comentário equivalente em `LexadorBase.adicionarSimbolo`.
30377
+ const lexema = (typeof literal === 'string' && literal.length > 0) ? literal : texto;
30378
+ const comprimentoLexema = lexema.length;
30291
30379
  const comprimento = Math.max(comprimentoLexema, texto.length) || 1;
30292
30380
  const colunaInicio = this.inicioSimbolo + 1;
30293
30381
  const colunaFim = this.inicioSimbolo + comprimento;
@@ -30502,8 +30590,9 @@ class MicroLexador {
30502
30590
  }
30503
30591
  adicionarSimbolo(tipo, literal = null) {
30504
30592
  const texto = this.codigo.substring(this.inicioSimbolo, this.atual);
30505
- const lexema = literal || texto;
30506
- const comprimentoLexema = typeof lexema === 'string' ? lexema.length : 0;
30593
+ // `lexema` deve sempre ser texto. Ver comentário equivalente em `LexadorBase.adicionarSimbolo`.
30594
+ const lexema = (typeof literal === 'string' && literal.length > 0) ? literal : texto;
30595
+ const comprimentoLexema = lexema.length;
30507
30596
  const comprimento = Math.max(comprimentoLexema, texto.length) || 1;
30508
30597
  const colunaInicio = this.inicioSimbolo + 1;
30509
30598
  const colunaFim = this.inicioSimbolo + comprimento;