@designliquido/delegua 0.36.2 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/analisador-semantico/analisador-semantico.js.map +1 -1
  2. package/avaliador-sintatico/avaliador-sintatico-base.d.ts +71 -50
  3. package/avaliador-sintatico/avaliador-sintatico-base.d.ts.map +1 -1
  4. package/avaliador-sintatico/avaliador-sintatico-base.js +52 -43
  5. package/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
  6. package/avaliador-sintatico/avaliador-sintatico.d.ts +24 -32
  7. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  8. package/avaliador-sintatico/avaliador-sintatico.js +49 -101
  9. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  10. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.d.ts +7 -1
  11. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.d.ts.map +1 -1
  12. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js +8 -1
  13. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js.map +1 -1
  14. package/avaliador-sintatico/micro-avaliador-sintatico.d.ts +4 -16
  15. package/avaliador-sintatico/micro-avaliador-sintatico.d.ts.map +1 -1
  16. package/avaliador-sintatico/micro-avaliador-sintatico.js +1 -84
  17. package/avaliador-sintatico/micro-avaliador-sintatico.js.map +1 -1
  18. package/bibliotecas/biblioteca-global.d.ts +1 -1
  19. package/bibliotecas/biblioteca-global.d.ts.map +1 -1
  20. package/bibliotecas/biblioteca-global.js +5 -15
  21. package/bibliotecas/biblioteca-global.js.map +1 -1
  22. package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
  23. package/bibliotecas/primitivas-vetor.js +1 -3
  24. package/bibliotecas/primitivas-vetor.js.map +1 -1
  25. package/bin/package.json +9 -9
  26. package/construtos/binario.d.ts.map +1 -1
  27. package/construtos/binario.js.map +1 -1
  28. package/construtos/chamada.d.ts +2 -2
  29. package/construtos/chamada.d.ts.map +1 -1
  30. package/construtos/chamada.js.map +1 -1
  31. package/construtos/comentario.d.ts +2 -2
  32. package/construtos/constante.d.ts.map +1 -1
  33. package/construtos/constante.js.map +1 -1
  34. package/construtos/decorador.d.ts +6 -2
  35. package/construtos/decorador.d.ts.map +1 -1
  36. package/construtos/decorador.js +2 -2
  37. package/construtos/decorador.js.map +1 -1
  38. package/construtos/expressao-regular.d.ts.map +1 -1
  39. package/construtos/expressao-regular.js.map +1 -1
  40. package/construtos/qual-tipo.d.ts.map +1 -1
  41. package/construtos/qual-tipo.js.map +1 -1
  42. package/construtos/tipo-de.d.ts.map +1 -1
  43. package/construtos/tipo-de.js.map +1 -1
  44. package/construtos/variavel.d.ts.map +1 -1
  45. package/construtos/variavel.js.map +1 -1
  46. package/declaracoes/const.d.ts +2 -2
  47. package/declaracoes/const.d.ts.map +1 -1
  48. package/declaracoes/const.js +2 -2
  49. package/declaracoes/const.js.map +1 -1
  50. package/declaracoes/declaracao.d.ts +3 -1
  51. package/declaracoes/declaracao.d.ts.map +1 -1
  52. package/declaracoes/declaracao.js +3 -2
  53. package/declaracoes/declaracao.js.map +1 -1
  54. package/declaracoes/expressao.d.ts +2 -2
  55. package/declaracoes/expressao.d.ts.map +1 -1
  56. package/declaracoes/expressao.js +2 -2
  57. package/declaracoes/expressao.js.map +1 -1
  58. package/declaracoes/tendo-como.d.ts.map +1 -1
  59. package/declaracoes/tendo-como.js.map +1 -1
  60. package/declaracoes/var.d.ts +2 -2
  61. package/declaracoes/var.d.ts.map +1 -1
  62. package/declaracoes/var.js +2 -2
  63. package/declaracoes/var.js.map +1 -1
  64. package/estruturas/chamavel.d.ts.map +1 -1
  65. package/estruturas/chamavel.js.map +1 -1
  66. package/estruturas/classe-padrao.d.ts.map +1 -1
  67. package/estruturas/delegua-funcao.d.ts.map +1 -1
  68. package/estruturas/delegua-funcao.js +1 -2
  69. package/estruturas/delegua-funcao.js.map +1 -1
  70. package/formatadores/formatador-delegua.d.ts.map +1 -1
  71. package/formatadores/formatador-delegua.js +2 -2
  72. package/formatadores/formatador-delegua.js.map +1 -1
  73. package/interfaces/avaliador-sintatico-interface.d.ts +0 -45
  74. package/interfaces/avaliador-sintatico-interface.d.ts.map +1 -1
  75. package/interfaces/formatador-comum-interface.d.ts +2 -2
  76. package/interfaces/retornos/retorno-execucao-interface.d.ts +1 -1
  77. package/interfaces/variavel-interface.d.ts +1 -1
  78. package/interfaces/variavel-interface.d.ts.map +1 -1
  79. package/interpretador/comum.d.ts +1 -1
  80. package/interpretador/comum.d.ts.map +1 -1
  81. package/interpretador/comum.js.map +1 -1
  82. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts.map +1 -1
  83. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  84. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts.map +1 -1
  85. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  86. package/interpretador/inferenciador.d.ts +1 -1
  87. package/interpretador/inferenciador.d.ts.map +1 -1
  88. package/interpretador/inferenciador.js +1 -1
  89. package/interpretador/inferenciador.js.map +1 -1
  90. package/interpretador/interpretador-base.d.ts.map +1 -1
  91. package/interpretador/interpretador-base.js +3 -6
  92. package/interpretador/interpretador-base.js.map +1 -1
  93. package/interpretador/interpretador-com-depuracao.d.ts.map +1 -1
  94. package/interpretador/interpretador-com-depuracao.js +4 -2
  95. package/interpretador/interpretador-com-depuracao.js.map +1 -1
  96. package/interpretador/pilha-escopos-execucao.d.ts.map +1 -1
  97. package/interpretador/pilha-escopos-execucao.js +5 -5
  98. package/interpretador/pilha-escopos-execucao.js.map +1 -1
  99. package/package.json +9 -9
  100. package/tradutores/tradutor-assembly-x64.js +13 -13
  101. package/tradutores/tradutor-assemblyscript.js.map +1 -1
  102. package/tradutores/tradutor-javascript.js.map +1 -1
  103. package/tradutores/tradutor-python.js.map +1 -1
  104. package/umd/delegua.js +137 -276
@@ -12,43 +12,24 @@ const erro_avaliador_sintatico_1 = require("./erro-avaliador-sintatico");
12
12
  const tuplas_1 = require("../construtos/tuplas");
13
13
  const declaracoes_1 = require("../declaracoes");
14
14
  const lexador_1 = require("../lexador");
15
+ const avaliador_sintatico_base_1 = require("./avaliador-sintatico-base");
15
16
  /**
16
17
  * O avaliador sintático (_Parser_) é responsável por transformar os símbolos do Lexador em estruturas de alto nível.
17
18
  * Essas estruturas de alto nível são as partes que executam lógica de programação de fato.
18
19
  * Há dois grupos de estruturas de alto nível: Construtos e Declarações.
19
20
  */
20
- class AvaliadorSintatico {
21
+ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBase {
21
22
  constructor(performance = false) {
23
+ super();
22
24
  this.hashArquivo = 0;
23
25
  this.atual = 0;
24
26
  this.blocos = 0;
25
27
  this.erros = [];
26
28
  this.performance = performance;
27
29
  }
28
- declaracaoDeVariavel() {
29
- throw new Error('Método não implementado.');
30
- }
31
- erro(simbolo, mensagemDeErro) {
32
- const excecao = new erro_avaliador_sintatico_1.ErroAvaliadorSintatico(simbolo, mensagemDeErro);
33
- this.erros.push(excecao);
34
- return excecao;
35
- }
36
- consumir(tipo, mensagemDeErro) {
37
- if (this.verificarTipoSimboloAtual(tipo))
38
- return this.avancarEDevolverAnterior();
39
- throw this.erro(this.simbolos[this.atual], mensagemDeErro);
40
- }
41
- verificarTipoSimboloAtual(tipo) {
42
- if (this.estaNoFinal())
43
- return false;
44
- return this.simbolos[this.atual].tipo === tipo;
45
- }
46
- verificarTipoProximoSimbolo(tipo) {
47
- return this.simbolos[this.atual + 1].tipo === tipo;
48
- }
49
30
  verificarDefinicaoTipoAtual() {
50
31
  const tipos = [...Object.values(delegua_1.default)];
51
- const lexema = this.simboloAtual().lexema.toLowerCase();
32
+ const lexema = this.simbolos[this.atual].lexema.toLowerCase();
52
33
  const contemTipo = tipos.find((tipo) => tipo === lexema);
53
34
  if (contemTipo && this.verificarTipoProximoSimbolo(delegua_2.default.COLCHETE_ESQUERDO)) {
54
35
  const tiposVetores = ['inteiro[]', 'numero[]', 'número[]', 'qualquer[]', 'real[]', 'texto[]'];
@@ -62,30 +43,6 @@ class AvaliadorSintatico {
62
43
  }
63
44
  return contemTipo;
64
45
  }
65
- simboloAtual() {
66
- return this.simbolos[this.atual];
67
- }
68
- simboloAnterior() {
69
- return this.simbolos[this.atual - 1];
70
- }
71
- estaNoFinal() {
72
- return this.atual === this.simbolos.length;
73
- }
74
- avancarEDevolverAnterior() {
75
- if (!this.estaNoFinal())
76
- this.atual += 1;
77
- return this.simbolos[this.atual - 1];
78
- }
79
- verificarSeSimboloAtualEIgualA(...argumentos) {
80
- for (let i = 0; i < argumentos.length; i++) {
81
- const tipoAtual = argumentos[i];
82
- if (this.verificarTipoSimboloAtual(tipoAtual)) {
83
- this.avancarEDevolverAnterior();
84
- return true;
85
- }
86
- }
87
- return false;
88
- }
89
46
  primario() {
90
47
  const simboloAtual = this.simbolos[this.atual];
91
48
  let valores = [];
@@ -208,7 +165,7 @@ class AvaliadorSintatico {
208
165
  if (eParExpressaoRegular) {
209
166
  this.avancarEDevolverAnterior();
210
167
  while (!this.verificarTipoSimboloAtual(delegua_2.default.EXPRESSAO_REGULAR)) {
211
- valor += this.simboloAtual().lexema || '';
168
+ valor += this.simbolos[this.atual].lexema || '';
212
169
  this.avancarEDevolverAnterior();
213
170
  }
214
171
  this.avancarEDevolverAnterior();
@@ -217,19 +174,6 @@ class AvaliadorSintatico {
217
174
  }
218
175
  throw this.erro(this.simbolos[this.atual], 'Esperado expressão.');
219
176
  }
220
- finalizarChamada(entidadeChamada) {
221
- const argumentos = [];
222
- if (!this.verificarTipoSimboloAtual(delegua_2.default.PARENTESE_DIREITO)) {
223
- do {
224
- if (argumentos.length >= 255) {
225
- throw this.erro(this.simbolos[this.atual], 'Não pode haver mais de 255 argumentos.');
226
- }
227
- argumentos.push(this.expressao());
228
- } while (this.verificarSeSimboloAtualEIgualA(delegua_2.default.VIRGULA));
229
- }
230
- const parenteseDireito = this.consumir(delegua_2.default.PARENTESE_DIREITO, "Esperado ')' após os argumentos.");
231
- return new construtos_1.Chamada(this.hashArquivo, entidadeChamada, parenteseDireito, argumentos);
232
- }
233
177
  chamar() {
234
178
  let expressao = this.primario();
235
179
  while (true) {
@@ -259,15 +203,6 @@ class AvaliadorSintatico {
259
203
  }
260
204
  return this.chamar();
261
205
  }
262
- exponenciacao() {
263
- let expressao = this.unario();
264
- while (this.verificarSeSimboloAtualEIgualA(delegua_2.default.EXPONENCIACAO)) {
265
- const operador = this.simbolos[this.atual - 1];
266
- const direito = this.unario();
267
- expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
268
- }
269
- return expressao;
270
- }
271
206
  multiplicar() {
272
207
  let expressao = this.exponenciacao();
273
208
  while (this.verificarSeSimboloAtualEIgualA(delegua_2.default.DIVISAO, delegua_2.default.DIVISAO_IGUAL, delegua_2.default.DIVISAO_INTEIRA, delegua_2.default.DIVISAO_INTEIRA_IGUAL, delegua_2.default.MODULO, delegua_2.default.MODULO_IGUAL, delegua_2.default.MULTIPLICACAO, delegua_2.default.MULTIPLICACAO_IGUAL)) {
@@ -322,7 +257,7 @@ class AvaliadorSintatico {
322
257
  let expressao = this.bitOu();
323
258
  while (this.verificarSeSimboloAtualEIgualA(delegua_2.default.MAIOR, delegua_2.default.MAIOR_IGUAL, delegua_2.default.MENOR, delegua_2.default.MENOR_IGUAL)) {
324
259
  const operador = this.simbolos[this.atual - 1];
325
- const direito = this.bitOu();
260
+ const direito = this.bitOu(); // Única diferença entre esta implementação e base.
326
261
  expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
327
262
  }
328
263
  return expressao;
@@ -354,15 +289,6 @@ class AvaliadorSintatico {
354
289
  }
355
290
  return expressao;
356
291
  }
357
- ou() {
358
- let expressao = this.e();
359
- while (this.verificarSeSimboloAtualEIgualA(delegua_2.default.OU)) {
360
- const operador = this.simbolos[this.atual - 1];
361
- const direito = this.e();
362
- expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
363
- }
364
- return expressao;
365
- }
366
292
  /**
367
293
  * Método que resolve atribuições.
368
294
  * @returns Um construto do tipo `Atribuir`, `Conjunto` ou `AtribuicaoPorIndice`.
@@ -452,7 +378,8 @@ class AvaliadorSintatico {
452
378
  const expressao = this.expressao();
453
379
  // Ponto-e-vírgula é opcional aqui.
454
380
  this.verificarSeSimboloAtualEIgualA(delegua_2.default.PONTO_E_VIRGULA);
455
- return new declaracoes_1.Expressao(expressao);
381
+ const decoradores = Array.from(this.pilhaDecoradores);
382
+ return new declaracoes_1.Expressao(expressao, decoradores);
456
383
  }
457
384
  declaracaoComentarioMultilinha() {
458
385
  let simboloComentario;
@@ -696,7 +623,6 @@ class AvaliadorSintatico {
696
623
  return new declaracoes_1.Tente(simboloTente.hashArquivo, Number(simboloTente.linha), blocoTente, blocoPegue, blocoSenao, blocoFinalmente);
697
624
  }
698
625
  resolverDecorador() {
699
- this.pilhaDecoradores = [];
700
626
  while (this.verificarTipoSimboloAtual(delegua_2.default.ARROBA)) {
701
627
  let nomeDecorador = '';
702
628
  let linha;
@@ -716,7 +642,14 @@ class AvaliadorSintatico {
716
642
  this.avancarEDevolverAnterior();
717
643
  nomeDecorador += simbolo.lexema || '.';
718
644
  }
719
- this.pilhaDecoradores.push(new construtos_1.Decorador(this.hashArquivo, linha, nomeDecorador, parametros));
645
+ const atributos = {};
646
+ for (const parametro of parametros) {
647
+ if (parametro.nome.lexema in atributos) {
648
+ throw this.erro(parametro.nome, `Atributo de decorador declarado duas ou mais vezes: ${parametro.nome.lexema}`);
649
+ }
650
+ atributos[parametro.nome.lexema] = parametro.valorPadrao;
651
+ }
652
+ this.pilhaDecoradores.push(new construtos_1.Decorador(this.hashArquivo, linha, nomeDecorador, atributos));
720
653
  }
721
654
  }
722
655
  /**
@@ -815,8 +748,11 @@ class AvaliadorSintatico {
815
748
  // como prefixo o nome do inicializador, e o sufixo o nome de cada propriedade.
816
749
  const retornos = [];
817
750
  for (let identificador of identificadores) {
818
- retornos.push(new declaracoes_1.Var(identificador, new construtos_1.AcessoMetodoOuPropriedade(this.hashArquivo, inicializador, identificador)));
751
+ const declaracaoVar = new declaracoes_1.Var(identificador, new construtos_1.AcessoMetodoOuPropriedade(this.hashArquivo, inicializador, identificador));
752
+ declaracaoVar.decoradores = Array.from(this.pilhaDecoradores);
753
+ retornos.push(declaracaoVar);
819
754
  }
755
+ this.pilhaDecoradores = [];
820
756
  return retornos;
821
757
  }
822
758
  /**
@@ -825,7 +761,7 @@ class AvaliadorSintatico {
825
761
  */
826
762
  declaracaoDeVariaveis() {
827
763
  const identificadores = [];
828
- let retorno = [];
764
+ const retorno = [];
829
765
  let tipo = null;
830
766
  if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.CHAVE_ESQUERDA)) {
831
767
  return this.declaracaoDesestruturacaoVariavel();
@@ -839,10 +775,11 @@ class AvaliadorSintatico {
839
775
  }
840
776
  if (!this.verificarSeSimboloAtualEIgualA(delegua_2.default.IGUAL)) {
841
777
  // Inicialização de variáveis sem valor.
842
- for (let [indice, identificador] of identificadores.entries()) {
843
- retorno.push(new declaracoes_1.Var(identificador, null, tipo));
778
+ for (let identificador of identificadores.values()) {
779
+ retorno.push(new declaracoes_1.Var(identificador, null, tipo, Array.from(this.pilhaDecoradores)));
844
780
  }
845
781
  this.verificarSeSimboloAtualEIgualA(delegua_2.default.PONTO_E_VIRGULA);
782
+ this.pilhaDecoradores = [];
846
783
  return retorno;
847
784
  }
848
785
  const inicializadores = [];
@@ -850,13 +787,14 @@ class AvaliadorSintatico {
850
787
  inicializadores.push(this.expressao());
851
788
  } while (this.verificarSeSimboloAtualEIgualA(delegua_2.default.VIRGULA));
852
789
  if (identificadores.length !== inicializadores.length) {
853
- throw this.erro(this.simboloAtual(), 'Quantidade de identificadores à esquerda do igual é diferente da quantidade de valores à direita.');
790
+ throw this.erro(this.simbolos[this.atual], 'Quantidade de identificadores à esquerda do igual é diferente da quantidade de valores à direita.');
854
791
  }
855
792
  for (let [indice, identificador] of identificadores.entries()) {
856
793
  tipo = inicializadores[indice] instanceof tuplas_1.Tupla ? delegua_1.default.TUPLA : tipo;
857
- retorno.push(new declaracoes_1.Var(identificador, inicializadores[indice], tipo));
794
+ retorno.push(new declaracoes_1.Var(identificador, inicializadores[indice], tipo, Array.from(this.pilhaDecoradores)));
858
795
  }
859
796
  this.verificarSeSimboloAtualEIgualA(delegua_2.default.PONTO_E_VIRGULA);
797
+ this.pilhaDecoradores = [];
860
798
  return retorno;
861
799
  }
862
800
  declaracaoDesestruturacaoConstante() {
@@ -871,7 +809,9 @@ class AvaliadorSintatico {
871
809
  // como prefixo o nome do inicializador, e o sufixo o nome de cada propriedade.
872
810
  const retornos = [];
873
811
  for (let identificador of identificadores) {
874
- retornos.push(new declaracoes_1.Const(identificador, new construtos_1.AcessoMetodoOuPropriedade(this.hashArquivo, inicializador, identificador)));
812
+ const declaracaoConst = new declaracoes_1.Const(identificador, new construtos_1.AcessoMetodoOuPropriedade(this.hashArquivo, inicializador, identificador));
813
+ declaracaoConst.decoradores = Array.from(this.pilhaDecoradores);
814
+ retornos.push(declaracaoConst);
875
815
  }
876
816
  return retornos;
877
817
  }
@@ -898,12 +838,13 @@ class AvaliadorSintatico {
898
838
  inicializadores.push(this.expressao());
899
839
  } while (this.verificarSeSimboloAtualEIgualA(delegua_2.default.VIRGULA));
900
840
  if (identificadores.length !== inicializadores.length) {
901
- throw this.erro(this.simboloAtual(), 'Quantidade de identificadores à esquerda do igual é diferente da quantidade de valores à direita.');
841
+ throw this.erro(this.simbolos[this.atual], 'Quantidade de identificadores à esquerda do igual é diferente da quantidade de valores à direita.');
902
842
  }
903
843
  let retorno = [];
904
844
  for (let [indice, identificador] of identificadores.entries()) {
905
- retorno.push(new declaracoes_1.Const(identificador, inicializadores[indice], tipo));
845
+ retorno.push(new declaracoes_1.Const(identificador, inicializadores[indice], tipo, Array.from(this.pilhaDecoradores)));
906
846
  }
847
+ this.pilhaDecoradores = [];
907
848
  this.verificarSeSimboloAtualEIgualA(delegua_2.default.PONTO_E_VIRGULA);
908
849
  return retorno;
909
850
  }
@@ -912,13 +853,14 @@ class AvaliadorSintatico {
912
853
  switch (this.simbolos[this.atual].tipo) {
913
854
  case delegua_2.default.CONSTRUTOR:
914
855
  simbolo = this.avancarEDevolverAnterior();
915
- this.pilhaDecoradores = [];
916
856
  break;
917
857
  default:
918
858
  simbolo = this.consumir(delegua_2.default.IDENTIFICADOR, `Esperado nome de ${tipo}.`);
919
859
  break;
920
860
  }
921
- return new declaracoes_1.FuncaoDeclaracao(simbolo, this.corpoDaFuncao(tipo), null, this.pilhaDecoradores);
861
+ const decoradores = Array.from(this.pilhaDecoradores);
862
+ this.pilhaDecoradores = [];
863
+ return new declaracoes_1.FuncaoDeclaracao(simbolo, this.corpoDaFuncao(tipo), null, decoradores);
922
864
  }
923
865
  logicaComumParametros() {
924
866
  const parametros = [];
@@ -940,7 +882,7 @@ class AvaliadorSintatico {
940
882
  parametro.tipoDado = {
941
883
  nome: this.simbolos[this.atual - 2].lexema,
942
884
  tipo: tipoDadoParametro,
943
- tipoInvalido: !tipoDadoParametro ? this.simboloAtual().lexema : null,
885
+ tipoInvalido: !tipoDadoParametro ? this.simbolos[this.atual].lexema : null,
944
886
  };
945
887
  this.avancarEDevolverAnterior();
946
888
  }
@@ -970,7 +912,7 @@ class AvaliadorSintatico {
970
912
  }
971
913
  declaracaoDeClasse() {
972
914
  const simbolo = this.consumir(delegua_2.default.IDENTIFICADOR, 'Esperado nome da classe.');
973
- const pilhaDecoradoresClasse = this.pilhaDecoradores;
915
+ const pilhaDecoradoresClasse = Array.from(this.pilhaDecoradores);
974
916
  let superClasse = null;
975
917
  if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.HERDA)) {
976
918
  this.consumir(delegua_2.default.IDENTIFICADOR, 'Esperado nome da Superclasse.');
@@ -993,14 +935,13 @@ class AvaliadorSintatico {
993
935
  switch (proximoSimbolo.tipo) {
994
936
  case delegua_2.default.PARENTESE_ESQUERDO:
995
937
  metodos.push(this.funcao('método'));
996
- this.pilhaDecoradores = [];
997
938
  break;
998
939
  case delegua_2.default.DOIS_PONTOS:
999
940
  const nomePropriedade = this.consumir(delegua_2.default.IDENTIFICADOR, 'Esperado identificador para nome de propriedade.');
1000
941
  this.consumir(delegua_2.default.DOIS_PONTOS, 'Esperado dois-pontos após nome de propriedade.');
1001
942
  const tipoPropriedade = this.avancarEDevolverAnterior();
1002
943
  this.verificarSeSimboloAtualEIgualA(delegua_2.default.PONTO_E_VIRGULA);
1003
- propriedades.push(new declaracoes_1.PropriedadeClasse(nomePropriedade, tipoPropriedade.lexema, this.pilhaDecoradores));
944
+ propriedades.push(new declaracoes_1.PropriedadeClasse(nomePropriedade, tipoPropriedade.lexema, Array.from(this.pilhaDecoradores)));
1004
945
  this.pilhaDecoradores = [];
1005
946
  break;
1006
947
  default:
@@ -1011,15 +952,22 @@ class AvaliadorSintatico {
1011
952
  return new declaracoes_1.Classe(simbolo, superClasse, metodos, propriedades, pilhaDecoradoresClasse);
1012
953
  }
1013
954
  /**
1014
- * Declarações fora de bloco precisam ser verificadas primeiro porque
1015
- * não é possível declarar uma classe/função dentro de um bloco `enquanto`,
1016
- * `fazer ... enquanto`, `para`, `escolha`, etc.
955
+ * Declarações fora de bloco precisam ser verificadas primeiro por
956
+ * uma série de motivos, como, por exemplo:
957
+ *
958
+ * - Não é possível declarar uma classe/função dentro de um bloco `enquanto`,
959
+ * `fazer ... enquanto`, `para`, `escolha`, etc;
960
+ * - Qualquer declaração pode ter um decorador.
1017
961
  * @returns Uma função ou classe se o símbolo atual resolver aqui.
1018
962
  * O retorno de `resolverDeclaracao()` em caso contrário.
1019
963
  * @see resolverDeclaracao
964
+ * @see resolverDecorador
1020
965
  */
1021
966
  resolverDeclaracaoForaDeBloco() {
1022
967
  try {
968
+ while (this.verificarTipoSimboloAtual(delegua_2.default.ARROBA)) {
969
+ this.resolverDecorador();
970
+ }
1023
971
  if ((this.verificarTipoSimboloAtual(delegua_2.default.FUNCAO) ||
1024
972
  this.verificarTipoSimboloAtual(delegua_2.default.FUNÇÃO)) &&
1025
973
  this.verificarTipoProximoSimbolo(delegua_2.default.IDENTIFICADOR)) {
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
1
  import { Construto, FuncaoConstruto } from '../../construtos';
2
- import { Escreva, Declaracao, Se, Enquanto, Para, Escolha, Fazer } from '../../declaracoes';
2
+ import { Escreva, Declaracao, Se, Enquanto, Para, Escolha, Fazer, Leia } from '../../declaracoes';
3
3
  import { RetornoLexador, RetornoAvaliadorSintatico } from '../../interfaces/retornos';
4
4
  import { AvaliadorSintaticoBase } from '../avaliador-sintatico-base';
5
5
  import { SimboloInterface } from '../../interfaces';
6
+ /**
7
+ * Este avaliador sintático é produto de uma reunião entre pessoas da
8
+ * Design Líquido e representantes de comunidades indígenas da América do Sul.
9
+ * Um dia pode ser terminado para virar um dialeto completo.
10
+ */
6
11
  export declare class AvaliadorSintaticoGuarani extends AvaliadorSintaticoBase {
12
+ protected declaracaoLeia(): Leia;
7
13
  primario(): Construto;
8
14
  chamar(): Construto;
9
15
  atribuir(): Construto;
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico-guarani.d.ts","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,SAAS,EAET,eAAe,EAGlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,qBAAa,yBAA0B,SAAQ,sBAAsB;IACjE,QAAQ,IAAI,SAAS;IAUrB,MAAM,IAAI,SAAS;IAwBnB,QAAQ,IAAI,SAAS;IAyCrB,iBAAiB,IAAI,OAAO;IAgB5B,WAAW,IAAI,UAAU,EAAE;IAI3B,YAAY,IAAI,EAAE;IAIlB,kBAAkB,IAAI,QAAQ;IAI9B,cAAc,IAAI,IAAI;IAItB,iBAAiB,IAAI,OAAO;IAI5B,eAAe,IAAI,KAAK;IAIxB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAqB5C,SAAS,IAAI,SAAS;IAKtB,6BAA6B,IAAI,UAAU,GAAG,UAAU,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,GAAG;IAU1F,QAAQ,CACJ,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAChD,WAAW,EAAE,MAAM,GACpB,yBAAyB,CAAC,UAAU,CAAC;CAkB3C"}
1
+ {"version":3,"file":"avaliador-sintatico-guarani.d.ts","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,eAAe,EAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,sBAAsB;IAEjE,SAAS,CAAC,cAAc,IAAI,IAAI;IAIhC,QAAQ,IAAI,SAAS;IAUrB,MAAM,IAAI,SAAS;IAwBnB,QAAQ,IAAI,SAAS;IAyCrB,iBAAiB,IAAI,OAAO;IAgB5B,WAAW,IAAI,UAAU,EAAE;IAI3B,YAAY,IAAI,EAAE;IAIlB,kBAAkB,IAAI,QAAQ;IAI9B,cAAc,IAAI,IAAI;IAItB,iBAAiB,IAAI,OAAO;IAI5B,eAAe,IAAI,KAAK;IAIxB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAqB5C,SAAS,IAAI,SAAS;IAItB,6BAA6B,IAAI,UAAU,GAAG,UAAU,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,GAAG;IAU1F,QAAQ,CACJ,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAChD,WAAW,EAAE,MAAM,GACpB,yBAAyB,CAAC,UAAU,CAAC;CAkB3C"}
@@ -8,7 +8,15 @@ const construtos_1 = require("../../construtos");
8
8
  const declaracoes_1 = require("../../declaracoes");
9
9
  const avaliador_sintatico_base_1 = require("../avaliador-sintatico-base");
10
10
  const guarani_1 = __importDefault(require("../../tipos-de-simbolos/guarani"));
11
+ /**
12
+ * Este avaliador sintático é produto de uma reunião entre pessoas da
13
+ * Design Líquido e representantes de comunidades indígenas da América do Sul.
14
+ * Um dia pode ser terminado para virar um dialeto completo.
15
+ */
11
16
  class AvaliadorSintaticoGuarani extends avaliador_sintatico_base_1.AvaliadorSintaticoBase {
17
+ declaracaoLeia() {
18
+ throw new Error('Method not implemented.');
19
+ }
12
20
  primario() {
13
21
  const simboloAtual = this.simbolos[this.atual];
14
22
  if (this.verificarSeSimboloAtualEIgualA(guarani_1.default.NUMERO, guarani_1.default.TEXTO)) {
@@ -118,7 +126,6 @@ class AvaliadorSintaticoGuarani extends avaliador_sintatico_base_1.AvaliadorSint
118
126
  return new construtos_1.FuncaoConstruto(this.hashArquivo, Number(parenteseEsquerdo.linha), parametros, corpo);
119
127
  }
120
128
  expressao() {
121
- // if (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos.LEIA)) return this.declaracaoLeia();
122
129
  return this.atribuir();
123
130
  }
124
131
  resolverDeclaracaoForaDeBloco() {
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico-guarani.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.ts"],"names":[],"mappings":";;;;;;AAAA,iDAW0B;AAC1B,mDAA4F;AAE5F,0EAAqE;AAErE,8EAA8D;AAG9D,MAAa,yBAA0B,SAAQ,iDAAsB;IACjE,QAAQ;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,8BAA8B,CAAC,iBAAe,CAAC,MAAM,EAAE,iBAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACrF,MAAM,eAAe,GAAqB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACxE,OAAO,IAAI,oBAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;QACjG,CAAC;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM;QACF,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhC;;;;;;;;;;;;;;;;YAgBI;QAEJ,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,QAAQ;QACJ,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAiCI;QAEJ,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,iBAAiB;QACb,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,QAAQ,CAAC,iBAAe,CAAC,kBAAkB,EAAE,2CAA2C,CAAC,CAAC;QAE/F,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,GAAG,CAAC;YACA,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACtC,CAAC,QAAQ,IAAI,CAAC,8BAA8B,CAAC,iBAAe,CAAC,OAAO,CAAC,EAAE;QAEvE,IAAI,CAAC,QAAQ,CAAC,iBAAe,CAAC,iBAAiB,EAAE,yCAAyC,CAAC,CAAC;QAE5F,OAAO,IAAI,qBAAO,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACzF,CAAC;IAED,WAAW;QACP,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,YAAY;QACR,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,kBAAkB;QACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,cAAc;QACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,iBAAiB;QACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,eAAe;QACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,aAAa,CAAC,IAAY;QACtB,4DAA4D;QAC5D,kBAAkB;QAClB,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CACnC,iBAAe,CAAC,kBAAkB,EAClC,4BAA4B,IAAI,GAAG,CACtC,CAAC;QAEF,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,iBAAe,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACrE,UAAU,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,iBAAe,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAC;QAClF,IAAI,CAAC,QAAQ,CAAC,iBAAe,CAAC,cAAc,EAAE,mCAAmC,IAAI,GAAG,CAAC,CAAC;QAE1F,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEjC,OAAO,IAAI,4BAAe,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACrG,CAAC;IAED,SAAS;QACL,+FAA+F;QAC/F,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,6BAA6B;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,iBAAe,CAAC,GAAG;gBACpB,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACpC;gBACI,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,CAAC;IACL,CAAC;IAED,QAAQ,CACJ,cAAgD,EAChD,WAAmB;QAEnB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhB,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,KAAI,EAAE,CAAC;QAE/C,MAAM,WAAW,GAAiB,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAgB,CAAC,CAAC;QACzE,CAAC;QAED,OAAO;YACH,WAAW,EAAE,WAAW;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;SACqB,CAAC;IAC/C,CAAC;CACJ;AA7KD,8DA6KC"}
1
+ {"version":3,"file":"avaliador-sintatico-guarani.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.ts"],"names":[],"mappings":"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"}
@@ -2,33 +2,21 @@ import { Construto } from '../construtos';
2
2
  import { Declaracao } from '../declaracoes';
3
3
  import { SimboloInterface } from '../interfaces';
4
4
  import { RetornoAvaliadorSintatico, RetornoLexador } from '../interfaces/retornos';
5
- import { ErroAvaliadorSintatico } from './erro-avaliador-sintatico';
6
5
  import { MicroAvaliadorSintaticoBase } from './micro-avaliador-sintatico-base';
7
6
  /**
8
7
  * O MicroAvaliadorSintatico funciona apenas dentro de interpolações de texto.
9
8
  */
10
9
  export declare class MicroAvaliadorSintatico extends MicroAvaliadorSintaticoBase {
11
- avancarEDevolverAnterior(): SimboloInterface;
12
- verificarTipoSimboloAtual(tipo: string): boolean;
13
- verificarSeSimboloAtualEIgualA(...argumentos: string[]): boolean;
14
- erro(simbolo: SimboloInterface, mensagemDeErro: string): ErroAvaliadorSintatico;
15
- consumir(tipo: string, mensagemDeErro: string): SimboloInterface;
16
10
  primario(): Construto;
17
11
  finalizarChamada(entidadeChamada: Construto): Construto;
18
12
  chamar(): Construto;
19
13
  unario(): Construto;
20
- exponenciacao(): Construto;
21
- multiplicar(): Construto;
22
- adicaoOuSubtracao(): Construto;
23
- bitShift(): Construto;
24
- bitE(): Construto;
25
- bitOu(): Construto;
14
+ protected bitShift(): Construto;
15
+ protected bitE(): Construto;
16
+ protected bitOu(): Construto;
26
17
  comparar(): Construto;
27
- comparacaoIgualdade(): Construto;
28
- em(): Construto;
18
+ protected em(): Construto;
29
19
  e(): Construto;
30
- ou(): Construto;
31
- declaracao(): Declaracao | Construto;
32
20
  analisar(retornoLexador: RetornoLexador<SimboloInterface>, linha: number): RetornoAvaliadorSintatico<Declaracao>;
33
21
  }
34
22
  //# sourceMappingURL=micro-avaliador-sintatico.d.ts.map