@designliquido/delegua 0.41.8 → 0.42.1

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 (66) hide show
  1. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  2. package/analisador-semantico/analisador-semantico.js +28 -14
  3. package/analisador-semantico/analisador-semantico.js.map +1 -1
  4. package/avaliador-sintatico/avaliador-sintatico.d.ts +16 -3
  5. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  6. package/avaliador-sintatico/avaliador-sintatico.js +184 -46
  7. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  8. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  9. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +1 -0
  10. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  11. package/avaliador-sintatico/index.d.ts +1 -0
  12. package/avaliador-sintatico/index.d.ts.map +1 -1
  13. package/avaliador-sintatico/index.js +1 -0
  14. package/avaliador-sintatico/index.js.map +1 -1
  15. package/avaliador-sintatico/informacao-escopo.d.ts +2 -1
  16. package/avaliador-sintatico/informacao-escopo.d.ts.map +1 -1
  17. package/avaliador-sintatico/informacao-escopo.js.map +1 -1
  18. package/avaliador-sintatico/pilha-escopos.d.ts +3 -1
  19. package/avaliador-sintatico/pilha-escopos.d.ts.map +1 -1
  20. package/avaliador-sintatico/pilha-escopos.js +6 -3
  21. package/avaliador-sintatico/pilha-escopos.js.map +1 -1
  22. package/bibliotecas/biblioteca-global.d.ts +7 -7
  23. package/bibliotecas/biblioteca-global.d.ts.map +1 -1
  24. package/bibliotecas/biblioteca-global.js +14 -8
  25. package/bibliotecas/biblioteca-global.js.map +1 -1
  26. package/bibliotecas/primitivas-dicionario.d.ts.map +1 -1
  27. package/bibliotecas/primitivas-dicionario.js +2 -0
  28. package/bibliotecas/primitivas-dicionario.js.map +1 -1
  29. package/bibliotecas/primitivas-numero.d.ts.map +1 -1
  30. package/bibliotecas/primitivas-numero.js +9 -0
  31. package/bibliotecas/primitivas-numero.js.map +1 -1
  32. package/bibliotecas/primitivas-texto.d.ts.map +1 -1
  33. package/bibliotecas/primitivas-texto.js +28 -0
  34. package/bibliotecas/primitivas-texto.js.map +1 -1
  35. package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
  36. package/bibliotecas/primitivas-vetor.js +46 -4
  37. package/bibliotecas/primitivas-vetor.js.map +1 -1
  38. package/bin/package.json +2 -2
  39. package/informacao-variavel-ou-constante.d.ts +8 -0
  40. package/informacao-variavel-ou-constante.d.ts.map +1 -0
  41. package/informacao-variavel-ou-constante.js +16 -0
  42. package/informacao-variavel-ou-constante.js.map +1 -0
  43. package/interfaces/primitiva-interface.d.ts +2 -0
  44. package/interfaces/primitiva-interface.d.ts.map +1 -1
  45. package/lexador/dialetos/lexador-pitugues.d.ts.map +1 -1
  46. package/lexador/dialetos/lexador-pitugues.js +39 -39
  47. package/lexador/dialetos/lexador-pitugues.js.map +1 -1
  48. package/lexador/dialetos/palavras-reservadas/pitugues.d.ts +56 -0
  49. package/lexador/dialetos/palavras-reservadas/pitugues.d.ts.map +1 -0
  50. package/lexador/dialetos/palavras-reservadas/pitugues.js +63 -0
  51. package/lexador/dialetos/palavras-reservadas/pitugues.js.map +1 -0
  52. package/lexador/index.d.ts +1 -0
  53. package/lexador/index.d.ts.map +1 -1
  54. package/lexador/index.js +1 -0
  55. package/lexador/index.js.map +1 -1
  56. package/lexador/lexador.d.ts.map +1 -1
  57. package/lexador/lexador.js +28 -15
  58. package/lexador/lexador.js.map +1 -1
  59. package/package.json +2 -2
  60. package/tipos-de-simbolos/pitugues.d.ts +6 -0
  61. package/tipos-de-simbolos/pitugues.d.ts.map +1 -1
  62. package/tipos-de-simbolos/pitugues.js +6 -0
  63. package/tipos-de-simbolos/pitugues.js.map +1 -1
  64. package/umd/delegua.js +768 -437
  65. package/bin/delegua +0 -3
  66. package/bin/delegua.cmd +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"analisador-semantico.d.ts","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analisador-semantico.d.ts","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico.ts"],"names":[],"mappings":"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"}
@@ -246,20 +246,31 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
246
246
  return await declaracao.expressao.aceitar(this);
247
247
  }
248
248
  visitarDeclaracaoEscolha(declaracao) {
249
- var _a, _b;
250
249
  const identificadorOuLiteral = declaracao.identificadorOuLiteral;
251
- const valor = (_b = this.variaveis[(_a = identificadorOuLiteral.simbolo) === null || _a === void 0 ? void 0 : _a.lexema]) === null || _b === void 0 ? void 0 : _b.valor;
252
- const tipo = typeof valor;
250
+ const tipo = identificadorOuLiteral.tipo;
253
251
  for (let caminho of declaracao.caminhos) {
254
252
  for (let condicao of caminho.condicoes) {
255
- // TODO: Reimplementar considerando que `condicao` é um construto.
256
- /* if (valor instanceof Leia && typeof condicao?.valor !== 'string') {
257
- this.erro(condicao, `'caso ${condicao.valor}:' não é do mesmo tipo esperado em 'escolha'`);
258
- continue;
253
+ switch (condicao.constructor.name) {
254
+ case 'Literal':
255
+ const condicaoLiteral = condicao;
256
+ if (condicaoLiteral.tipo !== tipo) {
257
+ this.erro({
258
+ lexema: condicaoLiteral.valor,
259
+ tipo: condicaoLiteral.tipo,
260
+ linha: condicaoLiteral.linha,
261
+ hashArquivo: condicaoLiteral.hashArquivo,
262
+ }, `'caso ${condicaoLiteral.valor}:' não é do mesmo tipo esperado em 'escolha' (esperado: ${tipo}, atual: ${condicaoLiteral.tipo}).`);
263
+ }
264
+ break;
265
+ case 'Variavel':
266
+ const condicaoVariavel = condicao;
267
+ this.verificarVariavel(condicaoVariavel);
268
+ const variavelHipotetica = this.variaveis[condicaoVariavel.simbolo.lexema];
269
+ if (variavelHipotetica && typeof variavelHipotetica.valor !== tipo) {
270
+ this.erro(condicaoVariavel.simbolo, `'caso ${condicaoVariavel.simbolo.lexema}:' não é do mesmo tipo esperado em 'escolha'`);
271
+ }
272
+ break;
259
273
  }
260
- if (!(valor instanceof Leia) && typeof condicao?.valor !== tipo) {
261
- this.erro(condicao, `'caso ${condicao.valor}:' não é do mesmo tipo esperado em 'escolha'`);
262
- } */
263
274
  }
264
275
  }
265
276
  return Promise.resolve();
@@ -364,7 +375,6 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
364
375
  }
365
376
  }
366
377
  visitarDeclaracaoEscreva(declaracao) {
367
- var _a;
368
378
  if (declaracao.argumentos.length === 0) {
369
379
  const { linha, hashArquivo } = declaracao;
370
380
  const simbolo = { literal: '', tipo: '', lexema: 'escreva', linha, hashArquivo };
@@ -373,10 +383,14 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
373
383
  }
374
384
  const variaveis = declaracao.argumentos.filter((arg) => arg instanceof construtos_1.Variavel);
375
385
  for (let variavel of variaveis) {
376
- if (!this.variaveis[variavel.simbolo.lexema]) {
377
- this.erro(variavel.simbolo, `Variável '${variavel.simbolo.lexema}' não existe.`);
386
+ // TODO: Funções também são consideradas "variáveis" até aqui, mas isso deve mudar futuramente.
387
+ const possivelVariavel = this.variaveis[variavel.simbolo.lexema];
388
+ const possivelFuncao = this.funcoes[variavel.simbolo.lexema];
389
+ if (!possivelVariavel && !possivelFuncao) {
390
+ this.erro(variavel.simbolo, `Variável ou função '${variavel.simbolo.lexema}' não existe.`);
391
+ continue;
378
392
  }
379
- if (((_a = this.variaveis[variavel.simbolo.lexema]) === null || _a === void 0 ? void 0 : _a.valor) === undefined) {
393
+ if (possivelVariavel && possivelVariavel.valor === undefined) {
380
394
  this.aviso(variavel.simbolo, `Variável '${variavel.simbolo.lexema}' não foi inicializada.`);
381
395
  }
382
396
  }
@@ -1 +1 @@
1
- {"version":3,"file":"analisador-semantico.js","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analisador-semantico.js","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { RetornoAvaliadorSintatico } from '../interfaces/retornos/retorno-avalia
7
7
  import { RetornoLexador } from '../interfaces/retornos/retorno-lexador';
8
8
  import { AvaliadorSintaticoBase } from './avaliador-sintatico-base';
9
9
  import { PilhaEscopos } from './pilha-escopos';
10
+ import { InformacaoVariavelOuConstante } from '../informacao-variavel-ou-constante';
10
11
  /**
11
12
  * O avaliador sintático (_Parser_) é responsável por transformar os símbolos do Lexador em estruturas de alto nível.
12
13
  * Essas estruturas de alto nível são as partes que executam lógica de programação de fato.
@@ -32,7 +33,7 @@ export declare class AvaliadorSintatico extends AvaliadorSintaticoBase implement
32
33
  };
33
34
  };
34
35
  primitivasConhecidas: {
35
- [key: string]: string;
36
+ [key: string]: InformacaoVariavelOuConstante;
36
37
  };
37
38
  hashArquivo: number;
38
39
  atual: number;
@@ -54,8 +55,16 @@ export declare class AvaliadorSintatico extends AvaliadorSintaticoBase implement
54
55
  * @see finalizarChamada
55
56
  */
56
57
  protected resolverEntidadeChamadaAcessoMetodoOuPropriedade(entidadeChamadaResolvida: AcessoMetodoOuPropriedade): Construto;
57
- protected resolverEntidadeChamada(entidadeChamada: Construto): Construto;
58
- finalizarChamada(entidadeChamada: Construto): Chamada;
58
+ protected validarArgumentosEntidadeChamada(argumentosEntidadeChamada: InformacaoVariavelOuConstante[], argumentosUtilizados: Construto[]): string[];
59
+ /**
60
+ * Diversas verificações de resolução de entidade chamada, como resolver chamada da pilha ou usar referência, argumentos, etc.
61
+ * @param entidadeChamada O construto da entidade chamada.
62
+ * @param argumentos Os argumentos utilizados na chamada.
63
+ * @param tipoPrimitiva Se for uma primitiva, o tipo dela. Senão, `undefined`.
64
+ * @returns A entidade chamada resolvida, se as validações passarem.
65
+ */
66
+ protected resolverEntidadeChamada(entidadeChamada: Construto, argumentos: Construto[], tipoPrimitiva?: string | undefined): Construto;
67
+ finalizarChamada(entidadeChamada: Construto, tipoPrimitiva?: string | undefined): Chamada;
59
68
  unario(): Construto;
60
69
  multiplicar(): Construto;
61
70
  /**
@@ -155,6 +164,10 @@ export declare class AvaliadorSintatico extends AvaliadorSintaticoBase implement
155
164
  * @returns Sempre retorna `void`.
156
165
  */
157
166
  protected sincronizar(): void;
167
+ /**
168
+ * Inicializa o primeiro nível da pilha de escopos, normalmente com ítens da biblioteca global.
169
+ * TODO: Esta abordagem deve ser depreciada, em favor do novo suporte a referências de funções.
170
+ */
158
171
  protected inicializarPilhaEscopos(): void;
159
172
  analisar(retornoLexador: RetornoLexador<SimboloInterface>, hashArquivo: number): RetornoAvaliadorSintatico<Declaracao>;
160
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"AAEA,OAAO,EAGH,yBAAyB,EAOzB,OAAO,EAEP,SAAS,EACT,SAAS,EAET,UAAU,EAEV,eAAe,EAEf,IAAI,EASP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAElG,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAiB,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACH,KAAK,EACL,MAAM,EACN,UAAU,EACV,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,OAAO,EACP,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,QAAQ,EAER,OAAO,EACP,EAAE,EACF,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACN,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAc/C;;;;;;;;;;GAUG;AACH,qBAAa,kBACT,SAAQ,sBACR,YAAW,2BAA2B,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAEpE,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,sBAAsB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IACtD,YAAY,EAAE,YAAY,CAAC;IAC3B,0BAA0B,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAEzE,oBAAoB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAEhD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEzB,WAAW,UAAQ;IAmC/B,SAAS,CAAC,2BAA2B,IAAI,MAAM;IAmC/C,SAAS,CAAC,oBAAoB,IAAI,SAAS;IA0C3C,SAAS,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,gBAAgB,GAAG,UAAU;IAyBjF,SAAS,CAAC,cAAc,IAAI,KAAK;IAaxB,QAAQ,IAAI,SAAS;IAgRrB,MAAM,IAAI,SAAS;IA2B5B;;;;;;OAMG;IACH,SAAS,CAAC,gDAAgD,CACtD,wBAAwB,EAAE,yBAAyB,GACpD,SAAS;IA6FZ,SAAS,CAAC,uBAAuB,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS;IAuC/D,gBAAgB,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO;IAwBrD,MAAM,IAAI,SAAS;IAkBnB,WAAW,IAAI,SAAS;IAuBjC;;;;OAIG;IACM,iBAAiB,IAAI,SAAS;IA2B9B,QAAQ,IAAI,SAAS;IAYrB,IAAI,IAAI,SAAS;IAYjB,KAAK,IAAI,SAAS;IAYlB,QAAQ,IAAI,SAAS;IAmBrB,mBAAmB,IAAI,SAAS;IAYhC,EAAE,IAAI,SAAS;IAYf,CAAC,IAAI,SAAS;IAYvB;;;OAGG;IACM,QAAQ,IAAI,SAAS;IA2D9B;;;OAGG;IACM,aAAa,IAAI,IAAI;IAkBrB,SAAS,IAAI,SAAS;IAKtB,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC;IAqBzC,SAAS,CAAC,8BAA8B,IAAI,UAAU;IAWtD,SAAS,CAAC,4BAA4B,IAAI,UAAU;IAK3C,kBAAkB,IAAI,QAAQ;IAU9B,kBAAkB,IAAI,QAAQ;IAc9B,iBAAiB,IAAI,OAAO;IAuE5B,iBAAiB,IAAI,OAAO;IAqBrC,SAAS,CAAC,mBAAmB,IAAI,SAAS;IAY1C,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAK3B,eAAe,IAAI,KAAK;IAcjC;;;;OAIG;IACM,kBAAkB,IAAI,QAAQ;IAQ9B,cAAc,IAAI,IAAI,GAAG,QAAQ;IAe1C,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,gBAAgB,GAAG,QAAQ;IAiCrE,SAAS,CAAC,yBAAyB,CAAC,WAAW,EAAE,gBAAgB,GAAG,IAAI;IAyC/D,iBAAiB,IAAI,OAAO;IA8B5B,YAAY,IAAI,EAAE;IAalB,gBAAgB,IAAI,MAAM;IAa1B,eAAe,IAAI,KAAK;IA4CjC,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAsCnC;;;;;;;OAOG;IACH,SAAS,CAAC,kBAAkB,IAAI,UAAU,GAAG,UAAU,EAAE;IA4EzD,SAAS,CAAC,mBAAmB,IAAI,SAAS;IA+C1C,SAAS,CAAC,iCAAiC,IAAI,GAAG,EAAE;IA6BpD,SAAS,CAAC,8CAA8C,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAkDxG;;;OAGG;IACH,SAAS,CAAC,qBAAqB,IAAI,GAAG,EAAE;IAuDxC,SAAS,CAAC,kCAAkC,IAAI,KAAK,EAAE;IA8BvD;;;OAGG;IACH,sBAAsB,IAAI,KAAK,EAAE;IAqDjC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAyBhD,SAAS,CAAC,qBAAqB,IAAI,kBAAkB,EAAE;IAiCvD,SAAS,CAAE,qBAAqB,CAAC,cAAc,EAAE,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC;IAQ3E,SAAS,CAAE,kBAAkB,CAAC,WAAW,EAAE,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;IAiBlE,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,EAAE;IAkBlD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IA0E5C,kBAAkB,IAAI,MAAM;IA8DrC;;;;;;;;;;;OAWG;IACM,6BAA6B,IAAI,UAAU,GAAG,UAAU,EAAE;IA2BnE;;;;OAIG;IACH,SAAS,CAAC,WAAW,IAAI,IAAI;IAuB7B,SAAS,CAAC,uBAAuB;IA4BjC,QAAQ,CACJ,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAChD,WAAW,EAAE,MAAM,GACpB,yBAAyB,CAAC,UAAU,CAAC;CAiC3C"}
1
+ {"version":3,"file":"avaliador-sintatico.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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"}