@designliquido/potigol 0.1.3 → 0.1.5

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 (84) hide show
  1. package/analisador-semantico/analisador-semantico-potigol.d.ts +24 -0
  2. package/analisador-semantico/analisador-semantico-potigol.d.ts.map +1 -0
  3. package/analisador-semantico/analisador-semantico-potigol.js +26 -0
  4. package/analisador-semantico/analisador-semantico-potigol.js.map +1 -0
  5. package/analisador-semantico/index.d.ts +1 -0
  6. package/analisador-semantico/index.d.ts.map +1 -0
  7. package/analisador-semantico/index.js +1 -0
  8. package/analisador-semantico/index.js.map +1 -0
  9. package/avaliador-sintatico/avaliador-sintatico-potigol.d.ts +22 -6
  10. package/avaliador-sintatico/avaliador-sintatico-potigol.d.ts.map +1 -1
  11. package/avaliador-sintatico/avaliador-sintatico-potigol.js +114 -32
  12. package/avaliador-sintatico/avaliador-sintatico-potigol.js.map +1 -1
  13. package/avaliador-sintatico/micro-avaliador-sintatico-potigol.d.ts.map +1 -1
  14. package/avaliador-sintatico/micro-avaliador-sintatico-potigol.js +2 -2
  15. package/avaliador-sintatico/micro-avaliador-sintatico-potigol.js.map +1 -1
  16. package/avaliador-sintatico/pilha-escopos-variaveis-conhecidas.d.ts +11 -0
  17. package/avaliador-sintatico/pilha-escopos-variaveis-conhecidas.d.ts.map +1 -0
  18. package/avaliador-sintatico/pilha-escopos-variaveis-conhecidas.js +34 -0
  19. package/avaliador-sintatico/pilha-escopos-variaveis-conhecidas.js.map +1 -0
  20. package/bibliotecas/biblioteca-global.d.ts +11 -11
  21. package/construtos/constante-ou-variavel.d.ts +20 -0
  22. package/construtos/constante-ou-variavel.d.ts.map +1 -0
  23. package/construtos/constante-ou-variavel.js +26 -0
  24. package/construtos/constante-ou-variavel.js.map +1 -0
  25. package/construtos/index.d.ts +2 -0
  26. package/construtos/index.d.ts.map +1 -0
  27. package/construtos/index.js +18 -0
  28. package/construtos/index.js.map +1 -0
  29. package/declaracoes/index.d.ts +2 -0
  30. package/declaracoes/index.d.ts.map +1 -0
  31. package/declaracoes/index.js +18 -0
  32. package/declaracoes/index.js.map +1 -0
  33. package/declaracoes/reatribuicao-variavel.d.ts +18 -0
  34. package/declaracoes/reatribuicao-variavel.d.ts.map +1 -0
  35. package/declaracoes/reatribuicao-variavel.js +22 -0
  36. package/declaracoes/reatribuicao-variavel.js.map +1 -0
  37. package/estruturas/potigol-funcao.d.ts +4 -0
  38. package/estruturas/potigol-funcao.d.ts.map +1 -0
  39. package/estruturas/potigol-funcao.js +8 -0
  40. package/estruturas/potigol-funcao.js.map +1 -0
  41. package/formatador/formatador-potigol.d.ts +26 -23
  42. package/formatador/formatador-potigol.d.ts.map +1 -1
  43. package/formatador/formatador-potigol.js +76 -33
  44. package/formatador/formatador-potigol.js.map +1 -1
  45. package/interfaces/index.d.ts +2 -1
  46. package/interfaces/index.d.ts.map +1 -1
  47. package/interfaces/index.js +2 -1
  48. package/interfaces/index.js.map +1 -1
  49. package/interfaces/interpretador-potigol-interface.d.ts +14 -0
  50. package/interfaces/interpretador-potigol-interface.d.ts.map +1 -0
  51. package/interfaces/{interpretador-interface-potigol.js → interpretador-potigol-interface.js} +1 -1
  52. package/interfaces/interpretador-potigol-interface.js.map +1 -0
  53. package/interfaces/visitante-comum-potigol-interface.d.ts +8 -0
  54. package/interfaces/visitante-comum-potigol-interface.d.ts.map +1 -0
  55. package/interfaces/visitante-comum-potigol-interface.js +3 -0
  56. package/interfaces/visitante-comum-potigol-interface.js.map +1 -0
  57. package/interpretador/comum.d.ts +10 -7
  58. package/interpretador/comum.d.ts.map +1 -1
  59. package/interpretador/comum.js +75 -2
  60. package/interpretador/comum.js.map +1 -1
  61. package/interpretador/interpretador-potigol-com-depuracao.d.ts +5 -1
  62. package/interpretador/interpretador-potigol-com-depuracao.d.ts.map +1 -1
  63. package/interpretador/interpretador-potigol-com-depuracao.js +6 -0
  64. package/interpretador/interpretador-potigol-com-depuracao.js.map +1 -1
  65. package/interpretador/interpretador-potigol.d.ts +7 -4
  66. package/interpretador/interpretador-potigol.d.ts.map +1 -1
  67. package/interpretador/interpretador-potigol.js +8 -2
  68. package/interpretador/interpretador-potigol.js.map +1 -1
  69. package/lexador/lexador-potigol.d.ts +1 -1
  70. package/lexador/lexador-potigol.d.ts.map +1 -1
  71. package/lexador/lexador-potigol.js +3 -3
  72. package/lexador/lexador-potigol.js.map +1 -1
  73. package/lexador/micro-lexador-potigol.d.ts +2 -1
  74. package/lexador/micro-lexador-potigol.d.ts.map +1 -1
  75. package/lexador/micro-lexador-potigol.js +2 -2
  76. package/lexador/micro-lexador-potigol.js.map +1 -1
  77. package/package.json +2 -2
  78. package/tipos-de-simbolos/lexico-regular.d.ts +1 -0
  79. package/tipos-de-simbolos/lexico-regular.d.ts.map +1 -1
  80. package/tipos-de-simbolos/lexico-regular.js +1 -0
  81. package/tipos-de-simbolos/lexico-regular.js.map +1 -1
  82. package/interfaces/interpretador-interface-potigol.d.ts +0 -6
  83. package/interfaces/interpretador-interface-potigol.d.ts.map +0 -1
  84. package/interfaces/interpretador-interface-potigol.js.map +0 -1
@@ -15,6 +15,25 @@ class FormatadorPotigol {
15
15
  this.devePularLinha = true;
16
16
  this.deveIndentar = true;
17
17
  }
18
+ visitarDeclaracaoReatribuicaoVariavel(declaracao) {
19
+ if (this.deveIndentar) {
20
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}`;
21
+ }
22
+ this.codigoFormatado += `${declaracao.simbolo.lexema}`;
23
+ if (declaracao.inicializador) {
24
+ this.codigoFormatado += ` := `;
25
+ this.deveIndentar = false;
26
+ this.formatarDeclaracaoOuConstruto(declaracao.inicializador);
27
+ this.deveIndentar = true;
28
+ }
29
+ // TODO: Talvez seja necessário mais futuramente.
30
+ /* if (this.devePularLinha) {
31
+ this.codigoFormatado += this.quebraLinha;
32
+ } */
33
+ }
34
+ visitarExpressaoQualTipo(expressao) {
35
+ throw new Error('Método não implementado.');
36
+ }
18
37
  /**
19
38
  * Aparentemente só existe comentário de uma linha só em Potigol.
20
39
  * @param declaracao A declaração de comentário.
@@ -103,9 +122,9 @@ class FormatadorPotigol {
103
122
  }
104
123
  }
105
124
  visitarDeclaracaoEnquanto(declaracao) {
106
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}enquanto(`;
125
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}enquanto `;
107
126
  this.formatarDeclaracaoOuConstruto(declaracao.condicao);
108
- this.codigoFormatado += ` ) faca`;
127
+ this.codigoFormatado += ` faca`;
109
128
  this.codigoFormatado += this.quebraLinha;
110
129
  this.devePularLinha = true;
111
130
  this.formatarDeclaracaoOuConstruto(declaracao.corpo);
@@ -123,36 +142,44 @@ class FormatadorPotigol {
123
142
  visitarDeclaracaoEscolha(declaracao) {
124
143
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}escolha `;
125
144
  this.formatarDeclaracaoOuConstruto(declaracao.identificadorOuLiteral);
145
+ this.codigoFormatado += this.quebraLinha;
126
146
  this.indentacaoAtual += this.tamanhoIndentacao;
147
+ this.deveIndentar = false;
127
148
  for (let caminho of declaracao.caminhos) {
128
- this.deveIndentar = false;
129
149
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}caso `;
130
150
  this.formatarBlocoOuVetorDeclaracoes(caminho.condicoes);
131
151
  this.codigoFormatado += ` => `;
152
+ this.devePularLinha = false;
153
+ this.deveIndentar = false;
132
154
  this.formatarBlocoOuVetorDeclaracoes(caminho.declaracoes);
133
155
  this.codigoFormatado += this.quebraLinha;
156
+ this.devePularLinha = true;
134
157
  this.deveIndentar = true;
135
158
  }
136
159
  if (declaracao.caminhoPadrao.declaracoes.length > 0) {
137
- this.deveIndentar = false;
138
160
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}caso _ => `;
161
+ this.devePularLinha = false;
162
+ this.deveIndentar = false;
139
163
  this.formatarBlocoOuVetorDeclaracoes(declaracao.caminhoPadrao.declaracoes);
164
+ this.codigoFormatado += this.quebraLinha;
165
+ this.devePularLinha = true;
140
166
  this.deveIndentar = true;
141
167
  }
142
168
  this.indentacaoAtual -= this.tamanhoIndentacao;
143
- this.codigoFormatado += `${this.quebraLinha}${' '.repeat(this.indentacaoAtual)}fim${this.quebraLinha}`;
169
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}fim${this.quebraLinha}`;
144
170
  }
145
171
  visitarDeclaracaoEscreva(declaracao) {
146
172
  if (this.deveIndentar) {
147
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}escreva (`;
173
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}escreva `;
148
174
  }
149
175
  else {
150
- this.codigoFormatado += `escreva (`;
176
+ this.codigoFormatado += `escreva `;
151
177
  }
178
+ this.deveIndentar = false;
152
179
  for (let argumento of declaracao.argumentos) {
153
180
  this.formatarDeclaracaoOuConstruto(argumento);
154
181
  }
155
- this.codigoFormatado += `)`;
182
+ this.deveIndentar = true;
156
183
  if (this.devePularLinha) {
157
184
  this.codigoFormatado += this.quebraLinha;
158
185
  }
@@ -165,7 +192,6 @@ class FormatadorPotigol {
165
192
  }
166
193
  visitarDeclaracaoPara(declaracao) {
167
194
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}para `;
168
- this.indentacaoAtual += this.tamanhoIndentacao;
169
195
  this.devePularLinha = false;
170
196
  if (declaracao.inicializador) {
171
197
  if (Array.isArray(declaracao.inicializador)) {
@@ -186,26 +212,25 @@ class FormatadorPotigol {
186
212
  this.codigoFormatado += ` faca${this.quebraLinha}`;
187
213
  this.formatarDeclaracaoOuConstruto(declaracao.incrementar);
188
214
  this.formatarBlocoOuVetorDeclaracoes(declaracao.corpo.declaracoes);
189
- this.indentacaoAtual -= this.tamanhoIndentacao;
190
215
  this.codigoFormatado += `${this.quebraLinha}${' '.repeat(this.indentacaoAtual)}fim${this.quebraLinha}`;
191
216
  }
192
217
  visitarDeclaracaoParaCada(declaracao) {
193
218
  throw new Error('Método não implementado');
194
219
  }
195
220
  visitarDeclaracaoSe(declaracao) {
196
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}se ( `;
221
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}se `;
197
222
  this.formatarDeclaracaoOuConstruto(declaracao.condicao);
198
- this.codigoFormatado += ` ) entao${this.quebraLinha}`;
223
+ this.codigoFormatado += ` entao${this.quebraLinha}`;
199
224
  this.indentacaoAtual += this.tamanhoIndentacao;
200
225
  for (let declaracaoBloco of declaracao.caminhoEntao.declaracoes) {
201
226
  this.formatarDeclaracaoOuConstruto(declaracaoBloco);
202
227
  }
203
228
  this.indentacaoAtual -= this.tamanhoIndentacao;
204
229
  if (declaracao.caminhoSenao) {
205
- this.codigoFormatado += `${this.quebraLinha}${' '.repeat(this.indentacaoAtual)}senao${this.quebraLinha}`;
230
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}senao${this.quebraLinha}`;
206
231
  this.formatarDeclaracaoOuConstruto(declaracao.caminhoSenao);
207
232
  }
208
- this.codigoFormatado += `${this.quebraLinha}${' '.repeat(this.indentacaoAtual)}fim${this.quebraLinha}`;
233
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}fim${this.quebraLinha}`;
209
234
  }
210
235
  visitarDeclaracaoTente(declaracao) {
211
236
  throw new Error('Método não implementado');
@@ -247,12 +272,17 @@ class FormatadorPotigol {
247
272
  throw new Error('Método não implementado');
248
273
  }
249
274
  visitarExpressaoBinaria(expressao) {
250
- /* this.codigoFormatado += `${" ".repeat(this.indentacaoAtual)}` */
251
275
  this.formatarDeclaracaoOuConstruto(expressao.esquerda);
252
276
  switch (expressao.operador.tipo) {
253
277
  case lexico_regular_1.default.ADICAO:
254
278
  this.codigoFormatado += ' + ';
255
279
  break;
280
+ case lexico_regular_1.default.CONCATENACAO_LISTA:
281
+ this.codigoFormatado += ` :: `;
282
+ break;
283
+ case lexico_regular_1.default.DIFERENTE:
284
+ this.codigoFormatado += ` <> `;
285
+ break;
256
286
  case lexico_regular_1.default.DIVISAO:
257
287
  this.codigoFormatado += ' / ';
258
288
  break;
@@ -262,6 +292,9 @@ class FormatadorPotigol {
262
292
  case lexico_regular_1.default.IGUAL:
263
293
  this.codigoFormatado += ' = ';
264
294
  break;
295
+ case lexico_regular_1.default.IGUAL_IGUAL:
296
+ this.codigoFormatado += ` == `;
297
+ break;
265
298
  case lexico_regular_1.default.MAIOR:
266
299
  this.codigoFormatado += ' > ';
267
300
  break;
@@ -286,12 +319,6 @@ class FormatadorPotigol {
286
319
  case lexico_regular_1.default.EXPONENCIACAO:
287
320
  this.codigoFormatado += ` ^ `;
288
321
  break;
289
- case lexico_regular_1.default.IGUAL_IGUAL:
290
- this.codigoFormatado += ` == `;
291
- break;
292
- case lexico_regular_1.default.DIFERENTE:
293
- this.codigoFormatado += ` <> `;
294
- break;
295
322
  default:
296
323
  console.log(expressao.operador.tipo);
297
324
  break;
@@ -314,7 +341,10 @@ class FormatadorPotigol {
314
341
  throw new Error('Método não implementado');
315
342
  }
316
343
  visitarExpressaoDeVariavel(expressao) {
317
- throw new Error('Método não implementado');
344
+ if (this.deveIndentar) {
345
+ this.codigoFormatado += ' '.repeat(this.indentacaoAtual);
346
+ }
347
+ this.codigoFormatado += `${expressao.simbolo.lexema}`;
318
348
  }
319
349
  visitarExpressaoDicionario(expressao) {
320
350
  throw new Error('Método não implementado');
@@ -364,11 +394,18 @@ class FormatadorPotigol {
364
394
  this.codigoFormatado += `, `;
365
395
  }
366
396
  }
367
- this.codigoFormatado = `${this.codigoFormatado.slice(0, -2)}): `;
397
+ this.codigoFormatado = `${this.codigoFormatado.slice(0, -2)})`;
368
398
  }
399
+ // Se há tipo de retorno definido
400
+ if (expressao.tipoRetorno) {
401
+ this.codigoFormatado += `: ${expressao.tipoRetorno}`;
402
+ }
403
+ this.codigoFormatado += ` = `;
404
+ this.deveIndentar = false;
369
405
  for (let declaracaoCorpo of expressao.corpo) {
370
406
  this.formatarDeclaracaoOuConstruto(declaracaoCorpo);
371
407
  }
408
+ this.deveIndentar = true;
372
409
  this.indentacaoAtual -= this.tamanhoIndentacao;
373
410
  }
374
411
  visitarExpressaoIsto(expressao) {
@@ -454,9 +491,12 @@ class FormatadorPotigol {
454
491
  throw new Error('Método não implementado');
455
492
  }
456
493
  visitarDeclaracaoConstante(expressao) {
494
+ if (this.deveIndentar) {
495
+ this.codigoFormatado += ' '.repeat(this.indentacaoAtual);
496
+ }
457
497
  this.codigoFormatado += `${expressao.simbolo.lexema}`;
458
498
  }
459
- formatarDeclaraTuplas(declaracao) {
499
+ formatarDeclaracaoTuplas(declaracao) {
460
500
  const declaracoes = Object.keys(declaracao);
461
501
  this.codigoFormatado += "(";
462
502
  for (let chaveDeclaracao of declaracoes) {
@@ -467,31 +507,31 @@ class FormatadorPotigol {
467
507
  this.codigoFormatado += ")";
468
508
  }
469
509
  visitarExpressaoDupla(expressao) {
470
- this.formatarDeclaraTuplas(expressao);
510
+ this.formatarDeclaracaoTuplas(expressao);
471
511
  }
472
512
  visitarExpressaoTrio(expressao) {
473
- this.formatarDeclaraTuplas(expressao);
513
+ this.formatarDeclaracaoTuplas(expressao);
474
514
  }
475
515
  visitarExpressaoQuarteto(expressao) {
476
- this.formatarDeclaraTuplas(expressao);
516
+ this.formatarDeclaracaoTuplas(expressao);
477
517
  }
478
518
  visitarExpressaoQuinteto(expressao) {
479
- this.formatarDeclaraTuplas(expressao);
519
+ this.formatarDeclaracaoTuplas(expressao);
480
520
  }
481
521
  visitarExpressaoSexteto(expressao) {
482
- this.formatarDeclaraTuplas(expressao);
522
+ this.formatarDeclaracaoTuplas(expressao);
483
523
  }
484
524
  visitarExpressaoSepteto(expressao) {
485
- this.formatarDeclaraTuplas(expressao);
525
+ this.formatarDeclaracaoTuplas(expressao);
486
526
  }
487
527
  visitarExpressaoOcteto(expressao) {
488
- this.formatarDeclaraTuplas(expressao);
528
+ this.formatarDeclaracaoTuplas(expressao);
489
529
  }
490
530
  visitarExpressaoNoneto(expressao) {
491
- this.formatarDeclaraTuplas(expressao);
531
+ this.formatarDeclaracaoTuplas(expressao);
492
532
  }
493
533
  visitarExpressaoDeceto(expressao) {
494
- this.formatarDeclaraTuplas(expressao);
534
+ this.formatarDeclaracaoTuplas(expressao);
495
535
  }
496
536
  formatarDeclaracaoOuConstruto(declaracaoOuConstruto) {
497
537
  switch (declaracaoOuConstruto.constructor.name) {
@@ -609,6 +649,9 @@ class FormatadorPotigol {
609
649
  case 'ParaCada':
610
650
  this.visitarDeclaracaoParaCada(declaracaoOuConstruto);
611
651
  break;
652
+ case 'ReatribuicaoVariavel':
653
+ this.visitarDeclaracaoReatribuicaoVariavel(declaracaoOuConstruto);
654
+ break;
612
655
  case 'Retorna':
613
656
  this.visitarExpressaoRetornar(declaracaoOuConstruto);
614
657
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"formatador-potigol.js","sourceRoot":"","sources":["../../fontes/formatador/formatador-potigol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatador-potigol.js","sourceRoot":"","sources":["../../fontes/formatador/formatador-potigol.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- export * from './interpretador-interface-potigol';
1
+ export * from './interpretador-potigol-interface';
2
+ export * from './visitante-comum-potigol-interface';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC"}
@@ -14,5 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./interpretador-interface-potigol"), exports);
17
+ __exportStar(require("./interpretador-potigol-interface"), exports);
18
+ __exportStar(require("./visitante-comum-potigol-interface"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oEAAkD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oEAAkD;AAClD,sEAAoD"}
@@ -0,0 +1,14 @@
1
+ import { MicroAvaliadorSintaticoBase } from '@designliquido/delegua/avaliador-sintatico/micro-avaliador-sintatico-base';
2
+ import { Const, ConstMultiplo, Var, VarMultiplo } from '@designliquido/delegua/declaracoes';
3
+ import { InterpretadorInterface, VariavelInterface } from '@designliquido/delegua/interfaces';
4
+ import { MicroLexadorPotigol } from '../lexador';
5
+ import { VisitanteComumPotigolInterface } from './visitante-comum-potigol-interface';
6
+ import { ReatribuicaoVariavel } from 'fontes/declaracoes';
7
+ export interface InterpretadorPotigolInterface extends InterpretadorInterface, VisitanteComumPotigolInterface {
8
+ microLexador: MicroLexadorPotigol;
9
+ microAvaliadorSintatico: MicroAvaliadorSintaticoBase;
10
+ regexInterpolacao: RegExp;
11
+ avaliacaoDeclaracaoVarOuConst(declaracao: Const | ConstMultiplo | Var | VarMultiplo | ReatribuicaoVariavel): Promise<any>;
12
+ eIgual(esquerda: VariavelInterface | any, direita: VariavelInterface | any): boolean;
13
+ }
14
+ //# sourceMappingURL=interpretador-potigol-interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpretador-potigol-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/interpretador-potigol-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,2EAA2E,CAAC;AACxH,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,WAAW,6BAA8B,SAAQ,sBAAsB,EAAE,8BAA8B;IACzG,YAAY,EAAE,mBAAmB,CAAC;IAClC,uBAAuB,EAAE,2BAA2B,CAAC;IACrD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6BAA6B,CAAC,UAAU,EAAE,KAAK,GAAG,aAAa,GAAG,GAAG,GAAG,WAAW,GAAG,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACzH,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,GAAG,GAAG,OAAO,CAAA;CACvF"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=interpretador-interface-potigol.js.map
3
+ //# sourceMappingURL=interpretador-potigol-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpretador-potigol-interface.js","sourceRoot":"","sources":["../../fontes/interfaces/interpretador-potigol-interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { QualTipo } from '@designliquido/delegua/construtos';
2
+ import { VisitanteComumInterface } from "@designliquido/delegua/interfaces";
3
+ import { ReatribuicaoVariavel } from '../declaracoes/reatribuicao-variavel';
4
+ export interface VisitanteComumPotigolInterface extends VisitanteComumInterface {
5
+ visitarDeclaracaoReatribuicaoVariavel(declaracao: ReatribuicaoVariavel): Promise<any> | void;
6
+ visitarExpressaoQualTipo(expressao: QualTipo): Promise<string> | void;
7
+ }
8
+ //# sourceMappingURL=visitante-comum-potigol-interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visitante-comum-potigol-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/visitante-comum-potigol-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,MAAM,WAAW,8BAA+B,SAAQ,uBAAuB;IAC3E,qCAAqC,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7F,wBAAwB,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CACzE"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=visitante-comum-potigol-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visitante-comum-potigol-interface.js","sourceRoot":"","sources":["../../fontes/interfaces/visitante-comum-potigol-interface.ts"],"names":[],"mappings":""}
@@ -1,31 +1,34 @@
1
1
  import { AcessoMetodoOuPropriedade, Construto, QualTipo, Tupla } from '@designliquido/delegua/construtos';
2
- import { InterpretadorBase } from '@designliquido/delegua/interpretador';
3
2
  import { LeiaMultiplo } from '@designliquido/delegua';
4
3
  import { PilhaEscoposExecucaoInterface } from '@designliquido/delegua/interfaces/pilha-escopos-execucao-interface';
5
4
  import { EstruturaTupla } from '../estruturas';
5
+ import { InterpretadorPotigolInterface } from '../interfaces';
6
+ import { ReatribuicaoVariavel } from 'fontes/declaracoes';
6
7
  export declare function carregarBibliotecaGlobal(pilhaEscoposExecucao: PilhaEscoposExecucaoInterface): void;
8
+ export declare function visitarDeclaracaoReatribuicaoVariavel(interpretador: InterpretadorPotigolInterface, declaracao: ReatribuicaoVariavel): Promise<any>;
7
9
  /**
8
10
  * Executa um acesso a método, normalmente de um objeto de classe.
9
11
  * @param expressao A expressão de acesso.
10
12
  * @returns O resultado da execução.
11
13
  */
12
- export declare function visitarExpressaoAcessoMetodo(interpretador: InterpretadorBase, expressao: AcessoMetodoOuPropriedade): Promise<any>;
13
- export declare function visitarExpressaoLeiaMultiplo(interpretador: InterpretadorBase, expressao: LeiaMultiplo): Promise<any>;
14
- export declare function visitarExpressaoQualTipo(interpretador: InterpretadorBase, expressao: QualTipo): Promise<string>;
15
- export declare function visitarExpressaoTupla(interpretador: InterpretadorBase, expressao: Tupla): Promise<EstruturaTupla>;
14
+ export declare function visitarExpressaoAcessoMetodo(interpretador: InterpretadorPotigolInterface, expressao: AcessoMetodoOuPropriedade): Promise<any>;
15
+ export declare function visitarExpressaoBinaria(interpretador: InterpretadorPotigolInterface, expressao: any): Promise<any>;
16
+ export declare function visitarExpressaoLeiaMultiplo(interpretador: InterpretadorPotigolInterface, expressao: LeiaMultiplo): Promise<any>;
17
+ export declare function visitarExpressaoQualTipo(interpretador: InterpretadorPotigolInterface, expressao: QualTipo): Promise<string>;
18
+ export declare function visitarExpressaoTupla(interpretador: InterpretadorPotigolInterface, expressao: Tupla): Promise<EstruturaTupla>;
16
19
  /**
17
20
  * `escreva` em Potigol tem apenas um argumento.
18
21
  * @param interpretador A instância do interpretador.
19
22
  * @param argumento
20
23
  * @returns
21
24
  */
22
- export declare function avaliarArgumentosEscreva(interpretador: InterpretadorBase, argumento: Construto): Promise<string>;
25
+ export declare function avaliarArgumentosEscreva(interpretador: InterpretadorPotigolInterface, argumento: Construto): Promise<string>;
23
26
  /**
24
27
  * Resolve todas as interpolações em um texto.
25
28
  * @param {texto} textoOriginal O texto original com as variáveis interpoladas.
26
29
  * @returns Uma lista de variáveis interpoladas.
27
30
  */
28
- export declare function resolverInterpolacoes(interpretador: InterpretadorBase, textoOriginal: string, linha: number): Promise<any[]>;
31
+ export declare function resolverInterpolacoes(interpretador: InterpretadorPotigolInterface, textoOriginal: string, linha: number): Promise<any[]>;
29
32
  /**
30
33
  * Retira a interpolação de um texto.
31
34
  * @param {texto} texto O texto
@@ -1 +1 @@
1
- {"version":3,"file":"comum.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAgC,SAAS,EAAW,QAAQ,EAAE,KAAK,EAAoB,MAAM,mCAAmC,CAAC;AAInK,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oEAAoE,CAAC;AAGnH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAO/C,wBAAgB,wBAAwB,CAAC,oBAAoB,EAAE,6BAA6B,QA4D3F;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CAC9C,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAE,yBAAyB,GACrC,OAAO,CAAC,GAAG,CAAC,CAkEd;AAED,wBAAsB,4BAA4B,CAC9C,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAE,YAAY,GACxB,OAAO,CAAC,GAAG,CAAC,CA6Bd;AAED,wBAAsB,wBAAwB,CAC1C,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAE,QAAQ,GACpB,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAsB,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAUvH;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC1C,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAE,SAAS,GACrB,OAAO,CAAC,MAAM,CAAC,CAejB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACvC,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,GAAG,EAAE,CAAC,CA2BhB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAY3E"}
1
+ {"version":3,"file":"comum.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAW,SAAS,EAAW,QAAQ,EAAE,KAAK,EAAoB,MAAM,mCAAmC,CAAC;AAI9I,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oEAAoE,CAAC;AAGnH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAQ9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAS1D,wBAAgB,wBAAwB,CAAC,oBAAoB,EAAE,6BAA6B,QA4D3F;AAED,wBAAsB,qCAAqC,CACvD,aAAa,EAAE,6BAA6B,EAC5C,UAAU,EAAE,oBAAoB,GACjC,OAAO,CAAC,GAAG,CAAC,CAMd;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CAC9C,aAAa,EAAE,6BAA6B,EAC5C,SAAS,EAAE,yBAAyB,GACrC,OAAO,CAAC,GAAG,CAAC,CAkEd;AAED,wBAAsB,uBAAuB,CACzC,aAAa,EAAE,6BAA6B,EAC5C,SAAS,EAAE,GAAG,GACf,OAAO,CAAC,GAAG,CAAC,CA8Ed;AAED,wBAAsB,4BAA4B,CAC9C,aAAa,EAAE,6BAA6B,EAC5C,SAAS,EAAE,YAAY,GACxB,OAAO,CAAC,GAAG,CAAC,CA6Bd;AAED,wBAAsB,wBAAwB,CAC1C,aAAa,EAAE,6BAA6B,EAC5C,SAAS,EAAE,QAAQ,GACpB,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAsB,qBAAqB,CACvC,aAAa,EAAE,6BAA6B,EAC5C,SAAS,EAAE,KAAK,GACjB,OAAO,CAAC,cAAc,CAAC,CAUzB;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC1C,aAAa,EAAE,6BAA6B,EAC5C,SAAS,EAAE,SAAS,GACrB,OAAO,CAAC,MAAM,CAAC,CAejB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACvC,aAAa,EAAE,6BAA6B,EAC5C,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,GAAG,EAAE,CAAC,CA2BhB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,CAY3E"}
@@ -26,16 +26,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.retirarInterpolacao = exports.resolverInterpolacoes = exports.avaliarArgumentosEscreva = exports.visitarExpressaoTupla = exports.visitarExpressaoQualTipo = exports.visitarExpressaoLeiaMultiplo = exports.visitarExpressaoAcessoMetodo = exports.carregarBibliotecaGlobal = void 0;
29
+ exports.retirarInterpolacao = exports.resolverInterpolacoes = exports.avaliarArgumentosEscreva = exports.visitarExpressaoTupla = exports.visitarExpressaoQualTipo = exports.visitarExpressaoLeiaMultiplo = exports.visitarExpressaoBinaria = exports.visitarExpressaoAcessoMetodo = exports.visitarDeclaracaoReatribuicaoVariavel = exports.carregarBibliotecaGlobal = void 0;
30
30
  const construtos_1 = require("@designliquido/delegua/construtos");
31
31
  const estruturas_1 = require("@designliquido/delegua/estruturas");
32
32
  const excecoes_1 = require("@designliquido/delegua/excecoes");
33
33
  const inferenciador_1 = require("./inferenciador");
34
34
  const estruturas_2 = require("../estruturas");
35
+ const construtos_2 = require("../construtos");
35
36
  const bibliotecaGlobal = __importStar(require("../bibliotecas/biblioteca-global"));
36
37
  const primitivas_numero_1 = __importDefault(require("../bibliotecas/primitivas-numero"));
37
38
  const primitivas_texto_1 = __importDefault(require("../bibliotecas/primitivas-texto"));
38
39
  const primitivas_vetor_1 = __importDefault(require("../bibliotecas/primitivas-vetor"));
40
+ const lexico_regular_1 = __importDefault(require("../tipos-de-simbolos/lexico-regular"));
41
+ const tiposNumericos = [
42
+ 'inteiro',
43
+ 'numero',
44
+ 'número',
45
+ 'real'
46
+ ];
39
47
  function carregarBibliotecaGlobal(pilhaEscoposExecucao) {
40
48
  pilhaEscoposExecucao.definirVariavel('abs', new estruturas_1.FuncaoPadrao(1, bibliotecaGlobal.abs));
41
49
  pilhaEscoposExecucao.definirVariavel('aleatório', new estruturas_1.FuncaoPadrao(0, bibliotecaGlobal.aleatorio));
@@ -51,6 +59,12 @@ function carregarBibliotecaGlobal(pilhaEscoposExecucao) {
51
59
  pilhaEscoposExecucao.definirVariavel('tg', new estruturas_1.FuncaoPadrao(1, bibliotecaGlobal.tg));
52
60
  }
53
61
  exports.carregarBibliotecaGlobal = carregarBibliotecaGlobal;
62
+ async function visitarDeclaracaoReatribuicaoVariavel(interpretador, declaracao) {
63
+ const valorFinal = await interpretador.avaliacaoDeclaracaoVarOuConst(declaracao);
64
+ interpretador.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, valorFinal, declaracao.tipo);
65
+ return null;
66
+ }
67
+ exports.visitarDeclaracaoReatribuicaoVariavel = visitarDeclaracaoReatribuicaoVariavel;
54
68
  /**
55
69
  * Executa um acesso a método, normalmente de um objeto de classe.
56
70
  * @param expressao A expressão de acesso.
@@ -110,6 +124,65 @@ async function visitarExpressaoAcessoMetodo(interpretador, expressao) {
110
124
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.simbolo, `Método para objeto ou primitiva não encontrado: ${expressao.simbolo.lexema}.`, expressao.linha));
111
125
  }
112
126
  exports.visitarExpressaoAcessoMetodo = visitarExpressaoAcessoMetodo;
127
+ async function visitarExpressaoBinaria(interpretador, expressao) {
128
+ const esquerda = await interpretador.avaliar(expressao.esquerda);
129
+ const direita = await interpretador.avaliar(expressao.direita);
130
+ const valorEsquerdo = (esquerda === null || esquerda === void 0 ? void 0 : esquerda.hasOwnProperty('valor')) ? esquerda.valor : esquerda;
131
+ const valorDireito = (direita === null || direita === void 0 ? void 0 : direita.hasOwnProperty('valor')) ? direita.valor : direita;
132
+ const tipoEsquerdo = (esquerda === null || esquerda === void 0 ? void 0 : esquerda.hasOwnProperty('tipo')) ? esquerda.tipo : (0, inferenciador_1.inferirTipoVariavel)(esquerda);
133
+ const tipoDireito = (direita === null || direita === void 0 ? void 0 : direita.hasOwnProperty('tipo')) ? direita.tipo : (0, inferenciador_1.inferirTipoVariavel)(direita);
134
+ switch (expressao.operador.tipo) {
135
+ case lexico_regular_1.default.EXPONENCIACAO:
136
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
137
+ return Math.pow(valorEsquerdo, valorDireito);
138
+ case lexico_regular_1.default.MAIOR:
139
+ if (tiposNumericos.includes(tipoEsquerdo) && tiposNumericos.includes(tipoDireito)) {
140
+ return Number(valorEsquerdo) > Number(valorDireito);
141
+ }
142
+ return String(valorEsquerdo) > String(valorDireito);
143
+ case lexico_regular_1.default.MAIOR_IGUAL:
144
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
145
+ return Number(valorEsquerdo) >= Number(valorDireito);
146
+ case lexico_regular_1.default.MENOR:
147
+ if (tiposNumericos.includes(tipoEsquerdo) && tiposNumericos.includes(tipoDireito)) {
148
+ return Number(valorEsquerdo) < Number(valorDireito);
149
+ }
150
+ return String(valorEsquerdo) < String(valorDireito);
151
+ case lexico_regular_1.default.MENOR_IGUAL:
152
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
153
+ return Number(valorEsquerdo) <= Number(valorDireito);
154
+ case lexico_regular_1.default.SUBTRACAO:
155
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
156
+ return Number(valorEsquerdo) - Number(valorDireito);
157
+ case lexico_regular_1.default.ADICAO:
158
+ if (tiposNumericos.includes(tipoEsquerdo) &&
159
+ tiposNumericos.includes(tipoDireito)) {
160
+ return Number(valorEsquerdo) + Number(valorDireito);
161
+ }
162
+ return this.paraTexto(valorEsquerdo) + this.paraTexto(valorDireito);
163
+ case lexico_regular_1.default.DIVISAO:
164
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
165
+ return Number(valorEsquerdo) / Number(valorDireito);
166
+ case lexico_regular_1.default.DIVISAO_INTEIRA:
167
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
168
+ return Math.floor(Number(valorEsquerdo) / Number(valorDireito));
169
+ case lexico_regular_1.default.MULTIPLICACAO:
170
+ return Number(valorEsquerdo) * Number(valorDireito);
171
+ case lexico_regular_1.default.MODULO:
172
+ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
173
+ return Number(valorEsquerdo) % Number(valorDireito);
174
+ case lexico_regular_1.default.DIFERENTE:
175
+ return !interpretador.eIgual(valorEsquerdo, valorDireito);
176
+ case lexico_regular_1.default.IGUAL_IGUAL:
177
+ return interpretador.eIgual(valorEsquerdo, valorDireito);
178
+ case lexico_regular_1.default.CONCATENACAO_LISTA:
179
+ if (!Array.isArray(valorDireito)) {
180
+ throw new excecoes_1.ErroEmTempoDeExecucao(expressao.operador, "Lado direito da concatenação não parece ser uma lista.");
181
+ }
182
+ return [valorEsquerdo].concat(valorDireito);
183
+ }
184
+ }
185
+ exports.visitarExpressaoBinaria = visitarExpressaoBinaria;
113
186
  async function visitarExpressaoLeiaMultiplo(interpretador, expressao) {
114
187
  let respostas = [];
115
188
  // O argumento sempre vem preenchido aqui.
@@ -141,7 +214,7 @@ async function visitarExpressaoLeiaMultiplo(interpretador, expressao) {
141
214
  exports.visitarExpressaoLeiaMultiplo = visitarExpressaoLeiaMultiplo;
142
215
  async function visitarExpressaoQualTipo(interpretador, expressao) {
143
216
  let qualTipo = expressao.valor;
144
- if ((expressao === null || expressao === void 0 ? void 0 : expressao.valor) instanceof construtos_1.ConstanteOuVariavel) {
217
+ if ((expressao === null || expressao === void 0 ? void 0 : expressao.valor) instanceof construtos_2.ConstanteOuVariavel) {
145
218
  const nome = expressao === null || expressao === void 0 ? void 0 : expressao.valor.simbolo.lexema;
146
219
  qualTipo = interpretador.pilhaEscoposExecucao.topoDaPilha().ambiente.valores[nome].valor;
147
220
  }