@designliquido/delegua 1.13.2 → 1.15.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 (88) hide show
  1. package/analisador-documentario/index.d.ts +1 -1
  2. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  3. package/analisador-semantico/analisador-semantico.js +12 -2
  4. package/analisador-semantico/analisador-semantico.js.map +1 -1
  5. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  6. package/avaliador-sintatico/avaliador-sintatico.js +10 -0
  7. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  8. package/avaliador-sintatico/dialetos/avaliador-sintatico-calango.d.ts +25 -5
  9. package/avaliador-sintatico/dialetos/avaliador-sintatico-calango.d.ts.map +1 -1
  10. package/avaliador-sintatico/dialetos/avaliador-sintatico-calango.js +301 -25
  11. package/avaliador-sintatico/dialetos/avaliador-sintatico-calango.js.map +1 -1
  12. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  13. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +4 -10
  14. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  15. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.d.ts.map +1 -1
  16. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js +33 -2
  17. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js.map +1 -1
  18. package/bibliotecas/biblioteca-global.d.ts.map +1 -1
  19. package/bibliotecas/biblioteca-global.js +3 -7
  20. package/bibliotecas/biblioteca-global.js.map +1 -1
  21. package/bibliotecas/dialetos/tenda/biblioteca-global.d.ts +3 -0
  22. package/bibliotecas/dialetos/tenda/biblioteca-global.d.ts.map +1 -0
  23. package/bibliotecas/dialetos/tenda/biblioteca-global.js +365 -0
  24. package/bibliotecas/dialetos/tenda/biblioteca-global.js.map +1 -0
  25. package/bin/package.json +1 -1
  26. package/construtos/vetor.d.ts.map +1 -1
  27. package/construtos/vetor.js.map +1 -1
  28. package/interfaces/documentario/documentario-analisado.d.ts +2 -2
  29. package/interfaces/documentario/index.d.ts +3 -3
  30. package/interpretador/depuracao/interpretador-com-depuracao.d.ts.map +1 -1
  31. package/interpretador/depuracao/interpretador-com-depuracao.js +8 -0
  32. package/interpretador/depuracao/interpretador-com-depuracao.js.map +1 -1
  33. package/interpretador/dialetos/calango/interpretador-calango.d.ts +2 -0
  34. package/interpretador/dialetos/calango/interpretador-calango.d.ts.map +1 -1
  35. package/interpretador/dialetos/calango/interpretador-calango.js +15 -0
  36. package/interpretador/dialetos/calango/interpretador-calango.js.map +1 -1
  37. package/interpretador/dialetos/index.d.ts +1 -0
  38. package/interpretador/dialetos/index.d.ts.map +1 -1
  39. package/interpretador/dialetos/index.js +1 -0
  40. package/interpretador/dialetos/index.js.map +1 -1
  41. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts.map +1 -1
  42. package/interpretador/dialetos/pitugues/interpretador-pitugues.js.map +1 -1
  43. package/interpretador/dialetos/tenda/index.d.ts +2 -0
  44. package/interpretador/dialetos/tenda/index.d.ts.map +1 -0
  45. package/interpretador/dialetos/tenda/index.js +18 -0
  46. package/interpretador/dialetos/tenda/index.js.map +1 -0
  47. package/interpretador/dialetos/tenda/interpretador-tenda.d.ts +13 -0
  48. package/interpretador/dialetos/tenda/interpretador-tenda.d.ts.map +1 -0
  49. package/interpretador/dialetos/tenda/interpretador-tenda.js +31 -0
  50. package/interpretador/dialetos/tenda/interpretador-tenda.js.map +1 -0
  51. package/interpretador/interpretador.d.ts +2 -1
  52. package/interpretador/interpretador.d.ts.map +1 -1
  53. package/interpretador/interpretador.js +24 -1
  54. package/interpretador/interpretador.js.map +1 -1
  55. package/interpretador/pilha-escopos-execucao.d.ts.map +1 -1
  56. package/interpretador/pilha-escopos-execucao.js +3 -0
  57. package/interpretador/pilha-escopos-execucao.js.map +1 -1
  58. package/lexador/dialetos/lexador-calango.d.ts +1 -0
  59. package/lexador/dialetos/lexador-calango.d.ts.map +1 -1
  60. package/lexador/dialetos/lexador-calango.js +77 -0
  61. package/lexador/dialetos/lexador-calango.js.map +1 -1
  62. package/lexador/dialetos/lexador-pitugues.d.ts.map +1 -1
  63. package/lexador/dialetos/lexador-pitugues.js +2 -4
  64. package/lexador/dialetos/lexador-pitugues.js.map +1 -1
  65. package/lexador/dialetos/palavras-reservadas/calango.d.ts +31 -4
  66. package/lexador/dialetos/palavras-reservadas/calango.d.ts.map +1 -1
  67. package/lexador/dialetos/palavras-reservadas/calango.js +31 -4
  68. package/lexador/dialetos/palavras-reservadas/calango.js.map +1 -1
  69. package/package.json +1 -1
  70. package/tipos-de-simbolos/calango.d.ts +28 -0
  71. package/tipos-de-simbolos/calango.d.ts.map +1 -1
  72. package/tipos-de-simbolos/calango.js +28 -0
  73. package/tipos-de-simbolos/calango.js.map +1 -1
  74. package/tradutores/index.d.ts +2 -0
  75. package/tradutores/index.d.ts.map +1 -1
  76. package/tradutores/index.js +2 -0
  77. package/tradutores/index.js.map +1 -1
  78. package/tradutores/tradutor-assembly-risc-v.d.ts +99 -0
  79. package/tradutores/tradutor-assembly-risc-v.d.ts.map +1 -0
  80. package/tradutores/tradutor-assembly-risc-v.js +685 -0
  81. package/tradutores/tradutor-assembly-risc-v.js.map +1 -0
  82. package/tradutores/tradutor-assemblyscript.js +1 -1
  83. package/tradutores/tradutor-assemblyscript.js.map +1 -1
  84. package/tradutores/tradutor-webassembly.d.ts +159 -0
  85. package/tradutores/tradutor-webassembly.d.ts.map +1 -0
  86. package/tradutores/tradutor-webassembly.js +901 -0
  87. package/tradutores/tradutor-webassembly.js.map +1 -0
  88. package/umd/delegua.js +2066 -279
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico-calango.d.ts","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-calango.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,SAAS,EAET,eAAe,EACf,IAAI,EAGP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,KAAK,EACL,UAAU,EACV,QAAQ,EACR,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,EAAE,EACF,GAAG,EACN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMhD,qBAAa,yBAA0B,SAAQ,sBAAsB;IACjE,YAAY,EAAE,YAAY,CAAC;;cAQX,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;IA4B9C,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;cAI9B,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC;IAI5C,SAAS,CAAC,kBAAkB,IAAI,OAAO,CAAC,QAAQ,CAAC;IAIjD,SAAS,CAAC,iBAAiB,IAAI,OAAO;cAKtB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IA+BrD;;;OAGG;cACa,2BAA2B,IAAI,OAAO,CAAC,iBAAiB,CAAC;IA8BzE,SAAS,CAAC,kBAAkB,IAAI,GAAG,EAAE;IAuCrC,SAAS,CAAC,eAAe,IAAI,KAAK;IAIlC,SAAS,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;cAIpC,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;cAkBvD,YAAY,IAAI,OAAO,CAAC,EAAE,CAAC;cA6B3B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;cAwB9B,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;IAsC/B,6BAA6B,IAAI,OAAO,CACnD,UAAU,GAAG,UAAU,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,GAAG,CAC5D;IAqBD,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAI/D,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,wBAAwB;IAI1B,QAAQ,CACV,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAChD,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;CAqCpD"}
1
+ {"version":3,"file":"avaliador-sintatico-calango.d.ts","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-calango.ts"],"names":[],"mappings":"AAAA,OAAO,EAOH,SAAS,EAET,eAAe,EACf,IAAI,EAIP,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,KAAK,EACL,UAAU,EACV,QAAQ,EACR,OAAO,EACP,OAAO,EACP,iBAAiB,EAEjB,KAAK,EACL,gBAAgB,EAChB,IAAI,EACJ,OAAO,EACP,EAAE,EAEF,GAAG,EACN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAG/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOhD,qBAAa,yBAA0B,SAAQ,sBAAsB;IACjE,YAAY,EAAE,YAAY,CAAC;IAC3B;wFACoF;IACpF,OAAO,CAAC,kBAAkB,CAAS;;cAQnB,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;IA4B9C,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;cAI9B,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC;cAyB5B,kBAAkB,IAAI,OAAO,CAAC,QAAQ,CAAC;cAwBvC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;cAqCrC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IA+BrD;;;OAGG;cACa,2BAA2B,IAAI,OAAO,CAAC,iBAAiB,CAAC;IA8BzE,OAAO,CAAC,mBAAmB;IAwD3B,SAAS,CAAC,kBAAkB,IAAI,GAAG,EAAE;IAIrC,SAAS,CAAC,eAAe,IAAI,GAAG,EAAE;IAIlC,SAAS,CAAC,iBAAiB,IAAI,GAAG,EAAE;IAIpC,SAAS,CAAC,oBAAoB,IAAI,GAAG,EAAE;IAIvC,SAAS,CAAC,gBAAgB,IAAI,GAAG,EAAE;cAInB,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC;cA4BjC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD/C;;;;OAIG;cACsB,mBAAmB,IAAI,OAAO,CAAC,SAAS,CAAC;cAqBlD,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;cAuBvD,YAAY,IAAI,OAAO,CAAC,EAAE,CAAC;cA+B3B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;cAwB9B,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;IAgD/B,6BAA6B,IAAI,OAAO,CACnD,UAAU,GAAG,UAAU,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,GAAG,CAC5D;IA4CD,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAIhE,wEAAwE;IACxE,OAAO,CAAC,UAAU;YAWJ,yBAAyB;cAkBvB,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC;cA+B7C,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,CAAC;cA2BnD,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAOrD,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,wBAAwB;IAI1B,QAAQ,CACV,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAChD,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;CAoDpD"}
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AvaliadorSintaticoCalango = void 0;
7
7
  const construtos_1 = require("../../construtos");
8
+ const simbolo_1 = require("../../lexador/simbolo");
8
9
  const declaracoes_1 = require("../../declaracoes");
9
10
  const avaliador_sintatico_base_1 = require("../avaliador-sintatico-base");
10
11
  const pilha_escopos_1 = require("../pilha-escopos");
@@ -14,6 +15,9 @@ const calango_1 = __importDefault(require("../../tipos-de-simbolos/calango"));
14
15
  class AvaliadorSintaticoCalango extends avaliador_sintatico_base_1.AvaliadorSintaticoBase {
15
16
  constructor() {
16
17
  super();
18
+ /** Flag ativa quando se está a parsear a condição de um `se`, `enquanto` ou `faca/enquanto`.
19
+ * Permite que `=` seja tratado como igualdade (não atribuição) nesses contextos. */
20
+ this.emContextoCondicao = false;
17
21
  this.pilhaEscopos = new pilha_escopos_1.PilhaEscopos();
18
22
  }
19
23
  async atribuir() {
@@ -36,13 +40,77 @@ class AvaliadorSintaticoCalango extends avaliador_sintatico_base_1.AvaliadorSint
36
40
  throw new Error('Método não implementado.');
37
41
  }
38
42
  async chamar() {
39
- return await this.primario();
43
+ let expressao = await this.primario();
44
+ while (true) {
45
+ if (this.verificarSeSimboloAtualEIgualA(calango_1.default.PARENTESE_ESQUERDO)) {
46
+ const argumentos = [];
47
+ if (!this.verificarTipoSimboloAtual(calango_1.default.PARENTESE_DIREITO)) {
48
+ do {
49
+ argumentos.push(await this.expressao());
50
+ } while (this.verificarSeSimboloAtualEIgualA(calango_1.default.VIRGULA));
51
+ }
52
+ this.consumir(calango_1.default.PARENTESE_DIREITO, "Esperado ')' após argumentos da chamada.");
53
+ expressao = new construtos_1.Chamada(this.hashArquivo, expressao, argumentos);
54
+ }
55
+ else if (this.verificarSeSimboloAtualEIgualA(calango_1.default.COLCHETE_ESQUERDO)) {
56
+ const indice = await this.expressao();
57
+ const fechamento = this.consumir(calango_1.default.COLCHETE_DIREITO, "Esperado ']' após índice.");
58
+ expressao = new construtos_1.AcessoIndiceVariavel(this.hashArquivo, expressao, indice, fechamento);
59
+ }
60
+ else {
61
+ break;
62
+ }
63
+ }
64
+ return expressao;
40
65
  }
41
- declaracaoEnquanto() {
42
- throw new Error('Método não implementado.');
66
+ async declaracaoEnquanto() {
67
+ try {
68
+ this.blocos += 1;
69
+ this.avancarEDevolverAnterior(); // consome 'enquanto'
70
+ this.consumir(calango_1.default.PARENTESE_ESQUERDO, "Esperado '(' após 'enquanto'.");
71
+ this.emContextoCondicao = true;
72
+ const condicao = await this.ou();
73
+ this.emContextoCondicao = false;
74
+ this.consumir(calango_1.default.PARENTESE_DIREITO, "Esperado ')' após condição do 'enquanto'.");
75
+ this.consumir(calango_1.default.FACA, "Esperado 'faca' após condição do 'enquanto'.");
76
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.QUEBRA_LINHA);
77
+ const corpo = await this.resolverBloco(['fimEnquanto']);
78
+ this.consumir(calango_1.default.FIM_ENQUANTO, "Esperado 'fimEnquanto' para fechar o laço.");
79
+ return new declaracoes_1.Enquanto(condicao, corpo);
80
+ }
81
+ finally {
82
+ this.blocos -= 1;
83
+ }
43
84
  }
44
- declaracaoEscolha() {
45
- throw new Error('Método não implementado.');
85
+ async declaracaoEscolha() {
86
+ this.avancarEDevolverAnterior(); // consome 'escolha'
87
+ this.consumir(calango_1.default.PARENTESE_ESQUERDO, "Esperado '(' após 'escolha'.");
88
+ const identificador = await this.expressao();
89
+ this.consumir(calango_1.default.PARENTESE_DIREITO, "Esperado ')' após expressão do 'escolha'.");
90
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.QUEBRA_LINHA);
91
+ const caminhos = [];
92
+ let caminhoPadrao = null;
93
+ while (!this.estaNoFinal() &&
94
+ this.simbolos[this.atual].tipo !== calango_1.default.FIM_ESCOLHA) {
95
+ if (this.verificarSeSimboloAtualEIgualA(calango_1.default.CASO)) {
96
+ const condicao = await this.expressao();
97
+ this.consumir(calango_1.default.DOIS_PONTOS, "Esperado ':' após valor do 'caso'.");
98
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.QUEBRA_LINHA);
99
+ const bloco = await this.resolverBloco(['caso', 'outroCaso', 'fimEscolha']);
100
+ caminhos.push({ condicoes: [condicao], declaracoes: bloco.declaracoes });
101
+ }
102
+ else if (this.verificarSeSimboloAtualEIgualA(calango_1.default.OUTRO_CASO)) {
103
+ this.consumir(calango_1.default.DOIS_PONTOS, "Esperado ':' após 'outroCaso'.");
104
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.QUEBRA_LINHA);
105
+ const bloco = await this.resolverBloco(['fimEscolha']);
106
+ caminhoPadrao = { condicoes: [], declaracoes: bloco.declaracoes };
107
+ }
108
+ else {
109
+ break;
110
+ }
111
+ }
112
+ this.consumir(calango_1.default.FIM_ESCOLHA, "Esperado 'fimEscolha' para fechar o 'escolha'.");
113
+ return new declaracoes_1.Escolha(identificador, caminhos, caminhoPadrao);
46
114
  }
47
115
  // Em Calango, método "escreval"
48
116
  async declaracaoEscreva() {
@@ -78,31 +146,131 @@ class AvaliadorSintaticoCalango extends avaliador_sintatico_base_1.AvaliadorSint
78
146
  this.verificarSeSimboloAtualEIgualA(calango_1.default.PONTO_E_VIRGULA);
79
147
  return new declaracoes_1.EscrevaMesmaLinha(Number(simboloAtual.linha), this.hashArquivo, argumentos);
80
148
  }
81
- declaracaoInteiros() {
82
- const simboloInteiro = this.consumir(calango_1.default.INTEIRO, '');
149
+ declaracaoVariaveis(_tipoToken, tipoDelégua, valorPadrao) {
150
+ const simboloTipo = this.avancarEDevolverAnterior();
83
151
  const inicializacoes = [];
84
152
  do {
85
- const identificador = this.consumir(calango_1.default.IDENTIFICADOR, "Esperado identificador após palavra reservada 'inteiro'.");
86
- // Inicializações de variáveis podem ter valores definidos.
87
- let valorInicializacao = 0;
88
- inicializacoes.push(new declaracoes_1.Var(identificador, new construtos_1.Literal(this.hashArquivo, Number(simboloInteiro.linha), valorInicializacao, 'inteiro')));
89
- this.pilhaEscopos.definirInformacoesVariavel(identificador.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(identificador.lexema, 'inteiro'));
153
+ const identificador = this.consumir(calango_1.default.IDENTIFICADOR, `Esperado identificador após palavra reservada '${simboloTipo.lexema}'.`);
154
+ // Vetor com tamanho fixo: inteiro v[10];
155
+ if (this.verificarSeSimboloAtualEIgualA(calango_1.default.COLCHETE_ESQUERDO)) {
156
+ const tamanhoSimbolo = this.consumir(calango_1.default.NUMERO, 'Esperado tamanho do vetor.');
157
+ const tamanho = Number(tamanhoSimbolo.literal);
158
+ if (!Number.isInteger(tamanho) || tamanho < 0) {
159
+ throw this.erro(tamanhoSimbolo, 'Tamanho do vetor deve ser um inteiro não-negativo.');
160
+ }
161
+ this.consumir(calango_1.default.COLCHETE_DIREITO, "Esperado ']' após tamanho do vetor.");
162
+ const elementos = Array.from({ length: tamanho }, () => new construtos_1.Literal(this.hashArquivo, Number(simboloTipo.linha), valorPadrao, tipoDelégua));
163
+ const tipoVetor = `${tipoDelégua}[]`;
164
+ inicializacoes.push(new declaracoes_1.Var(identificador, new construtos_1.Vetor(this.hashArquivo, Number(simboloTipo.linha), elementos, tipoVetor)));
165
+ this.pilhaEscopos.definirInformacoesVariavel(identificador.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(identificador.lexema, tipoVetor));
166
+ }
167
+ else {
168
+ inicializacoes.push(new declaracoes_1.Var(identificador, new construtos_1.Literal(this.hashArquivo, Number(simboloTipo.linha), valorPadrao, tipoDelégua)));
169
+ this.pilhaEscopos.definirInformacoesVariavel(identificador.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(identificador.lexema, tipoDelégua));
170
+ }
90
171
  } while (this.verificarSeSimboloAtualEIgualA(calango_1.default.VIRGULA));
91
172
  this.consumir(calango_1.default.PONTO_E_VIRGULA, 'Esperado ponto e vírgula após declaração de variáveis.');
92
173
  return inicializacoes;
93
174
  }
94
- declaracaoFazer() {
95
- throw new Error('Método não implementado.');
175
+ declaracaoInteiros() {
176
+ return this.declaracaoVariaveis(calango_1.default.INTEIRO, 'inteiro', 0);
96
177
  }
97
- declaracaoPara() {
98
- throw new Error('Método não implementado.');
178
+ declaracaoReais() {
179
+ return this.declaracaoVariaveis(calango_1.default.REAL, 'real', 0.0);
180
+ }
181
+ declaracaoLogicos() {
182
+ return this.declaracaoVariaveis(calango_1.default.LOGICO, 'lógico', false);
183
+ }
184
+ declaracaoCaracteres() {
185
+ return this.declaracaoVariaveis(calango_1.default.CARACTER, 'caracter', '');
186
+ }
187
+ declaracaoTextos() {
188
+ return this.declaracaoVariaveis(calango_1.default.TIPO_TEXTO, 'texto', '');
189
+ }
190
+ async declaracaoFazer() {
191
+ try {
192
+ this.blocos += 1;
193
+ const simboloFaca = this.avancarEDevolverAnterior(); // consome 'faca'
194
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.QUEBRA_LINHA);
195
+ // Corpo termina quando encontramos o 'enquanto' do do-while.
196
+ // LIMITAÇÃO CONHECIDA: um `enquanto...fimEnquanto` (while) aninhado dentro deste bloco
197
+ // causará término prematuro, pois o parser não consegue distinguir o 'enquanto' de
198
+ // fechamento do do-while do 'enquanto' de abertura de um while aninhado sem lookahead
199
+ // arbitrário. Este é um defeito da gramática do Calango, presente também no interpretador
200
+ // de referência (github.com/GeovanaRamos/calango-interpreter). Não deve ser corrigido.
201
+ const corpo = await this.resolverBloco(['enquanto']);
202
+ this.consumir(calango_1.default.ENQUANTO, "Esperado 'enquanto' após corpo do 'faca'.");
203
+ this.consumir(calango_1.default.PARENTESE_ESQUERDO, "Esperado '(' após 'enquanto' no 'faca'.");
204
+ this.emContextoCondicao = true;
205
+ const condicao = await this.ou();
206
+ this.emContextoCondicao = false;
207
+ this.consumir(calango_1.default.PARENTESE_DIREITO, "Esperado ')' após condição do 'faca'.");
208
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.PONTO_E_VIRGULA);
209
+ return new declaracoes_1.Fazer(this.hashArquivo, Number(simboloFaca.linha), corpo, condicao);
210
+ }
211
+ finally {
212
+ this.blocos -= 1;
213
+ }
214
+ }
215
+ async declaracaoPara() {
216
+ try {
217
+ this.blocos += 1;
218
+ const simboloPara = this.avancarEDevolverAnterior(); // consome 'para'
219
+ const identificador = this.consumir(calango_1.default.IDENTIFICADOR, "Esperado identificador após 'para'.");
220
+ this.consumir(calango_1.default.DE, "Esperado 'de' após variável do 'para'.");
221
+ const inicioExpr = await this.expressao();
222
+ this.consumir(calango_1.default.ATE, "Esperado 'ate' após valor inicial do 'para'.");
223
+ const fimExpr = await this.expressao();
224
+ let passoExpr = new construtos_1.Literal(this.hashArquivo, Number(simboloPara.linha), 1, 'inteiro');
225
+ if (this.verificarSeSimboloAtualEIgualA(calango_1.default.PASSO)) {
226
+ passoExpr = await this.expressao();
227
+ }
228
+ this.consumir(calango_1.default.FACA, "Esperado 'faca' após condição do 'para'.");
229
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.QUEBRA_LINHA);
230
+ const corpo = await this.resolverBloco(['fimPara']);
231
+ this.consumir(calango_1.default.FIM_PARA, "Esperado 'fimPara' para fechar o laço 'para'.");
232
+ const linha = Number(simboloPara.linha);
233
+ const varIteracao = new construtos_1.Variavel(this.hashArquivo, identificador, 'inteiro');
234
+ const simboloMenorIgual = new simbolo_1.Simbolo(calango_1.default.MENOR_IGUAL, '<=', null, linha, this.hashArquivo);
235
+ const simboloAdicao = new simbolo_1.Simbolo(calango_1.default.ADICAO, '+', null, linha, this.hashArquivo);
236
+ const inicializador = new declaracoes_1.Expressao(new construtos_1.Atribuir(this.hashArquivo, varIteracao, inicioExpr));
237
+ const condicao = new construtos_1.Binario(this.hashArquivo, varIteracao, simboloMenorIgual, fimExpr);
238
+ const incrementar = new construtos_1.Atribuir(this.hashArquivo, varIteracao, new construtos_1.Binario(this.hashArquivo, varIteracao, simboloAdicao, passoExpr));
239
+ return new declaracoes_1.Para(this.hashArquivo, linha, inicializador, condicao, incrementar, corpo);
240
+ }
241
+ finally {
242
+ this.blocos -= 1;
243
+ }
244
+ }
245
+ /**
246
+ * Em Calango, `=` é usado tanto para atribuição (em comandos) quanto para igualdade (em condições).
247
+ * Este override só trata `IGUAL_ATRIBUICAO` como igualdade quando `emContextoCondicao` estiver ativo,
248
+ * evitando que `i = i + 1` dentro de blocos seja erroneamente interpretado como comparação.
249
+ */
250
+ async comparacaoIgualdade() {
251
+ let expressao = await this.comparar();
252
+ while (this.verificarSeSimboloAtualEIgualA(calango_1.default.DIFERENTE, calango_1.default.IGUAL, calango_1.default.IGUAL_IGUAL) || (this.emContextoCondicao && this.verificarSeSimboloAtualEIgualA(calango_1.default.IGUAL_ATRIBUICAO))) {
253
+ let operador = this.simbolos[this.atual - 1];
254
+ if (operador.tipo === calango_1.default.IGUAL_ATRIBUICAO) {
255
+ operador = new simbolo_1.Simbolo(calango_1.default.IGUAL_IGUAL, '=', null, operador.linha, operador.hashArquivo);
256
+ }
257
+ const direito = await this.comparar();
258
+ expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
259
+ }
260
+ return expressao;
99
261
  }
100
262
  async resolverBloco(simbolosParada) {
101
263
  const declaracoes = [];
102
264
  this.pilhaEscopos.empilhar(new informacao_escopo_1.InformacaoEscopo());
103
265
  const primeiroSimbolo = this.simbolos[this.atual];
104
266
  while (!this.estaNoFinal() && !simbolosParada.includes(this.simbolos[this.atual].lexema)) {
105
- declaracoes.push(await this.resolverDeclaracaoForaDeBloco());
267
+ const resolucao = await this.resolverDeclaracaoForaDeBloco();
268
+ if (Array.isArray(resolucao)) {
269
+ declaracoes.push(...resolucao);
270
+ }
271
+ else {
272
+ declaracoes.push(resolucao);
273
+ }
106
274
  }
107
275
  this.pilhaEscopos.removerUltimo();
108
276
  return new declaracoes_1.Bloco(this.hashArquivo, primeiroSimbolo.linha, declaracoes.filter((d) => d));
@@ -110,7 +278,9 @@ class AvaliadorSintaticoCalango extends avaliador_sintatico_base_1.AvaliadorSint
110
278
  async declaracaoSe() {
111
279
  this.avancarEDevolverAnterior();
112
280
  this.consumir(calango_1.default.PARENTESE_ESQUERDO, "Esperado '(' após 'se'");
113
- const condicao = await this.expressao();
281
+ this.emContextoCondicao = true;
282
+ const condicao = await this.ou();
283
+ this.emContextoCondicao = false;
114
284
  this.consumir(calango_1.default.PARENTESE_DIREITO, "Esperado ')' após condição do 'se'");
115
285
  this.consumir(calango_1.default.ENTAO, "Esperado 'entao' após condição");
116
286
  this.verificarSeSimboloAtualEIgualA(calango_1.default.QUEBRA_LINHA);
@@ -149,11 +319,21 @@ class AvaliadorSintaticoCalango extends avaliador_sintatico_base_1.AvaliadorSint
149
319
  throw this.erro(simboloIdentificador, erro.message);
150
320
  }
151
321
  return new construtos_1.Variavel(this.hashArquivo, simboloIdentificador, tipoOperando);
152
- case calango_1.default.INTEIRO:
153
- case calango_1.default.NUMERO: // Precisamos substituir 'NUMERO' por 'REAL' pois Calango não possui 'NUMERO'
322
+ case calango_1.default.NUMERO:
323
+ const simboloNumero = this.avancarEDevolverAnterior();
324
+ return new construtos_1.Literal(this.hashArquivo, Number(simboloNumero.linha), simboloNumero.literal, Number.isInteger(simboloNumero.literal) ? 'inteiro' : 'real');
154
325
  case calango_1.default.TEXTO:
155
- const simboloAnterior = this.avancarEDevolverAnterior();
156
- return new construtos_1.Literal(this.hashArquivo, Number(simboloAnterior.linha), simboloAnterior.literal, simboloAnterior.tipo == calango_1.default.TEXTO ? 'texto' : 'inteiro');
326
+ const simboloTexto = this.avancarEDevolverAnterior();
327
+ return new construtos_1.Literal(this.hashArquivo, Number(simboloTexto.linha), simboloTexto.literal, 'texto');
328
+ case calango_1.default.LITERAL_CARACTER:
329
+ const simboloCaracter = this.avancarEDevolverAnterior();
330
+ return new construtos_1.Literal(this.hashArquivo, Number(simboloCaracter.linha), simboloCaracter.literal, 'caracter');
331
+ case calango_1.default.VERDADEIRO:
332
+ const simboloVerdadeiro = this.avancarEDevolverAnterior();
333
+ return new construtos_1.Literal(this.hashArquivo, Number(simboloVerdadeiro.linha), true, 'lógico');
334
+ case calango_1.default.FALSO:
335
+ const simboloFalso = this.avancarEDevolverAnterior();
336
+ return new construtos_1.Literal(this.hashArquivo, Number(simboloFalso.linha), false, 'lógico');
157
337
  case calango_1.default.PARENTESE_ESQUERDO:
158
338
  this.avancarEDevolverAnterior();
159
339
  const expressao = await this.expressao();
@@ -172,18 +352,101 @@ class AvaliadorSintaticoCalango extends avaliador_sintatico_base_1.AvaliadorSint
172
352
  return await this.expressaoLeia();
173
353
  case calango_1.default.INTEIRO:
174
354
  return this.declaracaoInteiros();
355
+ case calango_1.default.REAL:
356
+ return this.declaracaoReais();
357
+ case calango_1.default.LOGICO:
358
+ return this.declaracaoLogicos();
359
+ case calango_1.default.CARACTER:
360
+ return this.declaracaoCaracteres();
361
+ case calango_1.default.TIPO_TEXTO:
362
+ return this.declaracaoTextos();
363
+ case calango_1.default.ENQUANTO:
364
+ return await this.declaracaoEnquanto();
365
+ case calango_1.default.ESCOLHA:
366
+ return await this.declaracaoEscolha();
367
+ case calango_1.default.INTERROMPA:
368
+ return new declaracoes_1.Sustar(this.avancarEDevolverAnterior());
369
+ case calango_1.default.RETORNA:
370
+ return await this.declaracaoRetorna();
371
+ case calango_1.default.FACA:
372
+ return await this.declaracaoFazer();
373
+ case calango_1.default.PARA:
374
+ return await this.declaracaoPara();
175
375
  case calango_1.default.SE:
176
376
  return await this.declaracaoSe();
177
377
  case calango_1.default.QUEBRA_LINHA:
178
378
  this.avancarEDevolverAnterior();
179
379
  return null;
180
- default:
181
- return await this.expressao();
380
+ default: {
381
+ const resultado = await this.expressao();
382
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.PONTO_E_VIRGULA);
383
+ return resultado;
384
+ }
182
385
  }
183
386
  }
184
- corpoDaFuncao(tipo) {
387
+ corpoDaFuncao(_tipo) {
185
388
  throw new Error('Método não implementado.');
186
389
  }
390
+ /** Mapeia um tipo de token Calango para a string de tipo da Delégua. */
391
+ mapearTipo(tipoToken) {
392
+ switch (tipoToken) {
393
+ case calango_1.default.INTEIRO: return 'inteiro';
394
+ case calango_1.default.REAL: return 'real';
395
+ case calango_1.default.LOGICO: return 'lógico';
396
+ case calango_1.default.CARACTER: return 'caracter';
397
+ case calango_1.default.TIPO_TEXTO: return 'texto';
398
+ default: return 'qualquer';
399
+ }
400
+ }
401
+ async analisarParametrosCalango() {
402
+ const parametros = [];
403
+ if (this.verificarTipoSimboloAtual(calango_1.default.PARENTESE_DIREITO)) {
404
+ return parametros;
405
+ }
406
+ do {
407
+ const tipoTipo = this.mapearTipo(this.simbolos[this.atual].tipo);
408
+ this.avancarEDevolverAnterior(); // consome o token de tipo
409
+ const nome = this.consumir(calango_1.default.IDENTIFICADOR, 'Esperado nome de parâmetro.');
410
+ this.pilhaEscopos.definirInformacoesVariavel(nome.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(nome.lexema, tipoTipo));
411
+ parametros.push({ abrangencia: 'padrao', nome, tipoDado: tipoTipo });
412
+ } while (this.verificarSeSimboloAtualEIgualA(calango_1.default.VIRGULA));
413
+ return parametros;
414
+ }
415
+ async declaracaoFuncao() {
416
+ this.avancarEDevolverAnterior(); // consome 'funcao'
417
+ const simboloNome = this.consumir(calango_1.default.IDENTIFICADOR, "Esperado nome da função.");
418
+ this.pilhaEscopos.definirInformacoesVariavel(simboloNome.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(simboloNome.lexema, 'qualquer'));
419
+ this.consumir(calango_1.default.PARENTESE_ESQUERDO, "Esperado '(' após nome da função.");
420
+ const parametros = await this.analisarParametrosCalango();
421
+ this.consumir(calango_1.default.PARENTESE_DIREITO, "Esperado ')' após parâmetros.");
422
+ this.consumir(calango_1.default.DOIS_PONTOS, "Esperado ':' após ')' na função.");
423
+ const tipoRetorno = this.mapearTipo(this.simbolos[this.atual].tipo);
424
+ this.avancarEDevolverAnterior(); // consome o tipo de retorno
425
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.QUEBRA_LINHA);
426
+ const bloco = await this.resolverBloco(['fimFuncao']);
427
+ this.consumir(calango_1.default.FIM_FUNCAO, "Esperado 'fimFuncao' para fechar a função.");
428
+ const funcaoConstruto = new construtos_1.FuncaoConstruto(this.hashArquivo, Number(simboloNome.linha), parametros, bloco.declaracoes, tipoRetorno, true);
429
+ return new declaracoes_1.FuncaoDeclaracao(simboloNome, funcaoConstruto, tipoRetorno);
430
+ }
431
+ async declaracaoProcedimento() {
432
+ this.avancarEDevolverAnterior(); // consome 'procedimento'
433
+ const simboloNome = this.consumir(calango_1.default.IDENTIFICADOR, "Esperado nome do procedimento.");
434
+ this.pilhaEscopos.definirInformacoesVariavel(simboloNome.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(simboloNome.lexema, 'qualquer'));
435
+ this.consumir(calango_1.default.PARENTESE_ESQUERDO, "Esperado '(' após nome do procedimento.");
436
+ const parametros = await this.analisarParametrosCalango();
437
+ this.consumir(calango_1.default.PARENTESE_DIREITO, "Esperado ')' após parâmetros.");
438
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.QUEBRA_LINHA);
439
+ const bloco = await this.resolverBloco(['fimProcedimento']);
440
+ this.consumir(calango_1.default.FIM_PROCEDIMENTO, "Esperado 'fimProcedimento' para fechar o procedimento.");
441
+ const funcaoConstruto = new construtos_1.FuncaoConstruto(this.hashArquivo, Number(simboloNome.linha), parametros, bloco.declaracoes, 'vazio', false);
442
+ return new declaracoes_1.FuncaoDeclaracao(simboloNome, funcaoConstruto, 'vazio');
443
+ }
444
+ async declaracaoRetorna() {
445
+ const simbolo = this.avancarEDevolverAnterior(); // consome 'retorna'
446
+ const valor = await this.expressao();
447
+ this.verificarSeSimboloAtualEIgualA(calango_1.default.PONTO_E_VIRGULA);
448
+ return new declaracoes_1.Retorna(simbolo, valor);
449
+ }
187
450
  validarSegmentoAlgoritmo() {
188
451
  this.consumir(calango_1.default.ALGORITMO, `Expressão 'algoritmo' não declarada`);
189
452
  this.consumir(calango_1.default.IDENTIFICADOR, `Esperado identificador após 'algoritmo'.`);
@@ -205,6 +468,19 @@ class AvaliadorSintaticoCalango extends avaliador_sintatico_base_1.AvaliadorSint
205
468
  }
206
469
  let declaracoes = [];
207
470
  this.validarSegmentoAlgoritmo();
471
+ // Declarações de funções e procedimentos antes do bloco principal
472
+ while (!this.estaNoFinal() &&
473
+ this.simbolos[this.atual].tipo !== calango_1.default.PRINCIPAL) {
474
+ if (this.simbolos[this.atual].tipo === calango_1.default.FUNCAO) {
475
+ declaracoes.push(await this.declaracaoFuncao());
476
+ }
477
+ else if (this.simbolos[this.atual].tipo === calango_1.default.PROCEDIMENTO) {
478
+ declaracoes.push(await this.declaracaoProcedimento());
479
+ }
480
+ else {
481
+ this.avancarEDevolverAnterior(); // pula tokens inesperados
482
+ }
483
+ }
208
484
  this.validarSegmentoPrincipal('principal');
209
485
  while (!this.estaNoFinal() &&
210
486
  this.simbolos[this.atual].tipo !== calango_1.default.FIM_PRINCIPAL) {
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico-calango.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-calango.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico-calango.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-calango.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico-pitugues.d.ts","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico-pitugues.d.ts","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.ts"],"names":[],"mappings":"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"}
@@ -768,7 +768,7 @@ class AvaliadorSintaticoPitugues {
768
768
  while (this.verificarSeSimboloAtualEIgualA(pitugues_2.default.SE)) {
769
769
  const operador = this.simbolos[this.atual - 1];
770
770
  const expressaoOuCondicao = await this.seTernario();
771
- this.consumir(pitugues_2.default.SENAO, `Esperado 'senão' ou 'senao' após caminho positivo em se ternário. Atual:
771
+ this.consumir(pitugues_2.default.SENAO, `Esperado 'senão' ou 'senao' após caminho positivo em se ternário. Atual:
772
772
  ${this.simbolos[this.atual].lexema}.`);
773
773
  const expressaoSenao = await this.seTernario();
774
774
  expressaoEntao = new construtos_1.SeTernario(this.hashArquivo, expressaoOuCondicao, expressaoEntao, operador, expressaoSenao);
@@ -877,12 +877,8 @@ class AvaliadorSintaticoPitugues {
877
877
  }
878
878
  else {
879
879
  // Bloco de múltiplas linhas baseado em indentação
880
- let espacosAtual = this
881
- .localizacoes[simboloAtual.linha]
882
- .espacosIndentacao;
883
- const espacosAnterior = this
884
- .localizacoes[simboloAnterior.linha]
885
- .espacosIndentacao;
880
+ let espacosAtual = this.localizacoes[simboloAtual.linha].espacosIndentacao;
881
+ const espacosAnterior = this.localizacoes[simboloAnterior.linha].espacosIndentacao;
886
882
  if (espacosAtual <= espacosAnterior) {
887
883
  throw this.erro(simboloAtual, `Indentação inconsistente na linha ${simboloAtual.linha}. ` +
888
884
  `Esperado: >= ${espacosAnterior}. ` +
@@ -896,9 +892,7 @@ class AvaliadorSintaticoPitugues {
896
892
  declaracoes = declaracoes.concat(retorno);
897
893
  simboloAtual = this.simboloAtual();
898
894
  if (simboloAtual) {
899
- espacosAtual = this
900
- .localizacoes[simboloAtual.linha]
901
- .espacosIndentacao;
895
+ espacosAtual = this.localizacoes[simboloAtual.linha].espacosIndentacao;
902
896
  }
903
897
  }
904
898
  }