@designliquido/potigol 0.8.17 → 0.9.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.
- package/analisador-semantico/analisador-semantico-potigol.d.ts +18 -3
- package/analisador-semantico/analisador-semantico-potigol.d.ts.map +1 -1
- package/analisador-semantico/analisador-semantico-potigol.js +255 -3
- package/analisador-semantico/analisador-semantico-potigol.js.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico-potigol.d.ts +9 -2
- package/avaliador-sintatico/avaliador-sintatico-potigol.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico-potigol.js +147 -45
- package/avaliador-sintatico/avaliador-sintatico-potigol.js.map +1 -1
- package/bibliotecas/biblioteca-global.d.ts +2 -2
- package/bibliotecas/biblioteca-global.d.ts.map +1 -1
- package/bibliotecas/biblioteca-global.js +27 -4
- package/bibliotecas/biblioteca-global.js.map +1 -1
- package/bibliotecas/primitivas-cubo.d.ts +10 -0
- package/bibliotecas/primitivas-cubo.d.ts.map +1 -0
- package/bibliotecas/primitivas-cubo.js +14 -0
- package/bibliotecas/primitivas-cubo.js.map +1 -0
- package/bibliotecas/primitivas-matriz.d.ts +9 -0
- package/bibliotecas/primitivas-matriz.d.ts.map +1 -0
- package/bibliotecas/primitivas-matriz.js +13 -0
- package/bibliotecas/primitivas-matriz.js.map +1 -0
- package/bibliotecas/primitivas-numero.d.ts +2 -2
- package/bibliotecas/primitivas-numero.d.ts.map +1 -1
- package/bibliotecas/primitivas-numero.js +5 -1
- package/bibliotecas/primitivas-numero.js.map +1 -1
- package/bibliotecas/primitivas-texto.d.ts +29 -25
- package/bibliotecas/primitivas-texto.d.ts.map +1 -1
- package/bibliotecas/primitivas-texto.js +115 -4
- package/bibliotecas/primitivas-texto.js.map +1 -1
- package/bibliotecas/primitivas-vetor.d.ts +6 -3
- package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
- package/bibliotecas/primitivas-vetor.js +49 -10
- package/bibliotecas/primitivas-vetor.js.map +1 -1
- package/declaracoes/alias-tipo.d.ts +11 -0
- package/declaracoes/alias-tipo.d.ts.map +1 -0
- package/declaracoes/alias-tipo.js +19 -0
- package/declaracoes/alias-tipo.js.map +1 -0
- package/declaracoes/index.d.ts +2 -0
- package/declaracoes/index.d.ts.map +1 -1
- package/declaracoes/index.js +2 -0
- package/declaracoes/index.js.map +1 -1
- package/declaracoes/para-gere.d.ts +16 -0
- package/declaracoes/para-gere.d.ts.map +1 -0
- package/declaracoes/para-gere.js +23 -0
- package/declaracoes/para-gere.js.map +1 -0
- package/formatador/formatador-potigol.d.ts +16 -12
- package/formatador/formatador-potigol.d.ts.map +1 -1
- package/formatador/formatador-potigol.js +262 -89
- package/formatador/formatador-potigol.js.map +1 -1
- package/interfaces/visitante-comum-potigol-interface.d.ts +3 -1
- package/interfaces/visitante-comum-potigol-interface.d.ts.map +1 -1
- package/interpretador/comum.d.ts +4 -2
- package/interpretador/comum.d.ts.map +1 -1
- package/interpretador/comum.js +159 -11
- package/interpretador/comum.js.map +1 -1
- package/interpretador/estruturas/cubo.d.ts +47 -0
- package/interpretador/estruturas/cubo.d.ts.map +1 -0
- package/interpretador/estruturas/cubo.js +106 -0
- package/interpretador/estruturas/cubo.js.map +1 -0
- package/interpretador/estruturas/index.d.ts +2 -0
- package/interpretador/estruturas/index.d.ts.map +1 -1
- package/interpretador/estruturas/index.js +2 -0
- package/interpretador/estruturas/index.js.map +1 -1
- package/interpretador/estruturas/matriz.d.ts +40 -0
- package/interpretador/estruturas/matriz.d.ts.map +1 -0
- package/interpretador/estruturas/matriz.js +84 -0
- package/interpretador/estruturas/matriz.js.map +1 -0
- package/interpretador/inferenciador.d.ts +1 -1
- package/interpretador/inferenciador.d.ts.map +1 -1
- package/interpretador/inferenciador.js +20 -2
- package/interpretador/inferenciador.js.map +1 -1
- package/interpretador/interpretador-potigol-com-depuracao.d.ts +5 -2
- package/interpretador/interpretador-potigol-com-depuracao.d.ts.map +1 -1
- package/interpretador/interpretador-potigol-com-depuracao.js +9 -0
- package/interpretador/interpretador-potigol-com-depuracao.js.map +1 -1
- package/interpretador/interpretador-potigol.d.ts +7 -2
- package/interpretador/interpretador-potigol.d.ts.map +1 -1
- package/interpretador/interpretador-potigol.js +44 -0
- package/interpretador/interpretador-potigol.js.map +1 -1
- package/lexador/lexador-potigol.d.ts.map +1 -1
- package/lexador/lexador-potigol.js +13 -1
- package/lexador/lexador-potigol.js.map +1 -1
- package/lexador/palavras-reservadas.d.ts +9 -0
- package/lexador/palavras-reservadas.d.ts.map +1 -1
- package/lexador/palavras-reservadas.js +9 -0
- package/lexador/palavras-reservadas.js.map +1 -1
- package/package.json +4 -4
- package/tipos-de-dados.d.ts +3 -0
- package/tipos-de-dados.d.ts.map +1 -1
- package/tipos-de-dados.js +3 -0
- package/tipos-de-dados.js.map +1 -1
- package/tipos-de-simbolos/lexico-regular.d.ts +8 -0
- package/tipos-de-simbolos/lexico-regular.d.ts.map +1 -1
- package/tipos-de-simbolos/lexico-regular.js +8 -0
- package/tipos-de-simbolos/lexico-regular.js.map +1 -1
- package/tipos-de-simbolos/micro-lexico.d.ts +1 -0
- package/tipos-de-simbolos/micro-lexico.d.ts.map +1 -1
- package/tipos-de-simbolos/micro-lexico.js +1 -0
- package/tipos-de-simbolos/micro-lexico.js.map +1 -1
|
@@ -35,6 +35,7 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
35
35
|
};
|
|
36
36
|
this.declaracoes = [];
|
|
37
37
|
this.pilhaEscoposVariaveisConhecidas = new pilha_escopos_variaveis_conhecidas_1.PilhaEscoposVariaveisConhecidas();
|
|
38
|
+
this.tiposDefinidosEmCodigo = {};
|
|
38
39
|
}
|
|
39
40
|
/**
|
|
40
41
|
* Com não há um `leia()` genérico em Potigol, mas sim três tipos de `leia` fortemente
|
|
@@ -42,7 +43,7 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
42
43
|
* @see primario
|
|
43
44
|
*/
|
|
44
45
|
declaracaoLeia() {
|
|
45
|
-
throw
|
|
46
|
+
throw this.erro(this.simbolos[this.atual] || this.simboloAnterior(), "Potigol não possui um comando genérico 'leia'. Use uma das formas tipadas, como 'leia_inteiro', 'leia_real' ou 'leia_texto'.");
|
|
46
47
|
}
|
|
47
48
|
/**
|
|
48
49
|
* Testa se o primeiro parâmetro na lista de símbolos
|
|
@@ -54,7 +55,7 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
54
55
|
testePrimeiroParametro(simbolos) {
|
|
55
56
|
let atual = 0;
|
|
56
57
|
// Primeiro teste: literal ou identificador
|
|
57
|
-
if ([lexico_regular_1.default.INTEIRO, lexico_regular_1.default.LOGICO, lexico_regular_1.default.REAL, lexico_regular_1.default.TEXTO].includes(simbolos[atual].tipo)) {
|
|
58
|
+
if ([lexico_regular_1.default.INTEIRO, lexico_regular_1.default.INTEIRO_GRANDE, lexico_regular_1.default.LOGICO, lexico_regular_1.default.REAL, lexico_regular_1.default.TEXTO, lexico_regular_1.default.MATRIZ, lexico_regular_1.default.CUBO].includes(simbolos[atual].tipo)) {
|
|
58
59
|
return false;
|
|
59
60
|
}
|
|
60
61
|
// Segundo teste: vírgula imediatamente após identificador,
|
|
@@ -162,7 +163,8 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
162
163
|
* @param mensagemErro A mensagem de erro caso o símbolo atual não seja de tipo.
|
|
163
164
|
*/
|
|
164
165
|
verificacaoTipo(simbolo, mensagemErro) {
|
|
165
|
-
if (![lexico_regular_1.default.INTEIRO, lexico_regular_1.default.LOGICO, lexico_regular_1.default.REAL, lexico_regular_1.default.TEXTO].includes(simbolo.tipo)
|
|
166
|
+
if (![lexico_regular_1.default.INTEIRO, lexico_regular_1.default.INTEIRO_GRANDE, lexico_regular_1.default.LOGICO, lexico_regular_1.default.REAL, lexico_regular_1.default.TEXTO, lexico_regular_1.default.MATRIZ, lexico_regular_1.default.CUBO].includes(simbolo.tipo)
|
|
167
|
+
&& !(simbolo.lexema in this.tiposDefinidosEmCodigo)) {
|
|
166
168
|
throw this.erro(simbolo, mensagemErro);
|
|
167
169
|
}
|
|
168
170
|
}
|
|
@@ -236,6 +238,13 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
236
238
|
logicaArgumentosTipados(primeiroArgumento) {
|
|
237
239
|
// Quando esta função executa, já sabemos que o próximo símbolo será um
|
|
238
240
|
// dois-pontos.
|
|
241
|
+
const simboloPrimeiroArgumento = primeiroArgumento.simbolo;
|
|
242
|
+
const simbolosEntreParenteses = [];
|
|
243
|
+
while (!this.verificarTipoSimboloAtual(lexico_regular_1.default.PARENTESE_DIREITO)) {
|
|
244
|
+
simbolosEntreParenteses.push(this.avancarEDevolverAnterior());
|
|
245
|
+
}
|
|
246
|
+
const todosOsSimbolos = [simboloPrimeiroArgumento, ...simbolosEntreParenteses];
|
|
247
|
+
return this.logicaComumParametrosPotigol(todosOsSimbolos);
|
|
239
248
|
}
|
|
240
249
|
logicaFuncaoAnonimaOuTupla(primeiroConstruto) {
|
|
241
250
|
const simbolosEntreParenteses = [];
|
|
@@ -298,9 +307,23 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
298
307
|
switch (this.simbolos[this.atual].tipo) {
|
|
299
308
|
case lexico_regular_1.default.DOIS_PONTOS:
|
|
300
309
|
const argumentosFuncao = this.logicaArgumentosTipados(expressao);
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
310
|
+
if (!argumentosFuncao.tipagemDefinida) {
|
|
311
|
+
throw this.erro(this.simbolos[this.atual], 'Não foi encontrado um tipo válido na definição de parâmetros para função.');
|
|
312
|
+
}
|
|
313
|
+
this.consumir(lexico_regular_1.default.PARENTESE_DIREITO, "Esperado ')' após parâmetros.");
|
|
314
|
+
const tipoUltimoParametro = argumentosFuncao.parametros[argumentosFuncao.parametros.length - 1].tipoDado;
|
|
315
|
+
for (const parametro of argumentosFuncao.parametros) {
|
|
316
|
+
if (parametro.tipoDado === undefined) {
|
|
317
|
+
parametro.tipoDado = tipoUltimoParametro;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
let tipoRetorno = undefined;
|
|
321
|
+
if (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.DOIS_PONTOS)) {
|
|
322
|
+
this.verificacaoTipo(this.simbolos[this.atual], 'Esperado tipo válido após dois-pontos como retorno de função.');
|
|
323
|
+
tipoRetorno = this.avancarEDevolverAnterior();
|
|
324
|
+
}
|
|
325
|
+
this.consumir(lexico_regular_1.default.SETA, `Esperado seta para definição de corpo de função anônima após leitura de parâmetros. Atual: ${this.simbolos[this.atual].tipo}.`);
|
|
326
|
+
return this.declaracaoFuncaoPotigolIniciadaPorIgualOuSeta({ hashArquivo: expressao.hashArquivo, linha: expressao.linha }, argumentosFuncao.parametros, tipoRetorno);
|
|
304
327
|
case lexico_regular_1.default.VIRGULA:
|
|
305
328
|
return this.logicaFuncaoAnonimaOuTupla(expressao);
|
|
306
329
|
default:
|
|
@@ -323,6 +346,7 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
323
346
|
return new construtos_1.Vetor(this.hashArquivo, Number(simboloAtual.linha), valores);
|
|
324
347
|
case lexico_regular_1.default.CARACTERE:
|
|
325
348
|
case lexico_regular_1.default.INTEIRO:
|
|
349
|
+
case lexico_regular_1.default.INTEIRO_GRANDE:
|
|
326
350
|
case lexico_regular_1.default.LOGICO:
|
|
327
351
|
case lexico_regular_1.default.REAL:
|
|
328
352
|
case lexico_regular_1.default.TEXTO:
|
|
@@ -330,6 +354,7 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
330
354
|
const dicionarioTiposDelegua = {
|
|
331
355
|
CARACTERE: 'texto',
|
|
332
356
|
INTEIRO: 'inteiro',
|
|
357
|
+
INTEIRO_GRANDE: 'InteiroGrande',
|
|
333
358
|
LOGICO: 'lógico',
|
|
334
359
|
REAL: 'número',
|
|
335
360
|
TEXTO: 'texto',
|
|
@@ -377,8 +402,9 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
377
402
|
*/
|
|
378
403
|
async concatenacaoLista() {
|
|
379
404
|
let expressao = await this.formato();
|
|
380
|
-
|
|
381
|
-
if (this.simbolos[this.atual]
|
|
405
|
+
while (true) {
|
|
406
|
+
if (this.simbolos[this.atual] &&
|
|
407
|
+
this.simbolos[this.atual].tipo === lexico_regular_1.default.DOIS_PONTOS &&
|
|
382
408
|
this.verificarTipoProximoSimbolo(lexico_regular_1.default.DOIS_PONTOS)) {
|
|
383
409
|
const primeiroDoisPontos = this.avancarEDevolverAnterior();
|
|
384
410
|
this.avancarEDevolverAnterior();
|
|
@@ -392,6 +418,15 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
392
418
|
const ladoDireitoComoConstante = new construtos_1.Constante(ladoDireito.hashArquivo, ladoDireito.simbolo);
|
|
393
419
|
expressao = new construtos_1.Binario(this.hashArquivo, expressao, new lexador_1.Simbolo(lexico_regular_1.default.CONCATENACAO_LISTA, '::', '::', primeiroDoisPontos.linha, primeiroDoisPontos.hashArquivo), ladoDireitoComoConstante);
|
|
394
420
|
}
|
|
421
|
+
else if (this.simbolos[this.atual] &&
|
|
422
|
+
this.simbolos[this.atual].tipo === lexico_regular_1.default.PONTO_PONTO) {
|
|
423
|
+
const simboloRange = this.avancarEDevolverAnterior();
|
|
424
|
+
const ladoDireito = await this.formato();
|
|
425
|
+
expressao = new construtos_1.Binario(this.hashArquivo, expressao, simboloRange, ladoDireito);
|
|
426
|
+
}
|
|
427
|
+
else {
|
|
428
|
+
break;
|
|
429
|
+
}
|
|
395
430
|
}
|
|
396
431
|
return expressao;
|
|
397
432
|
}
|
|
@@ -463,10 +498,9 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
463
498
|
}
|
|
464
499
|
verificarDefinicaoTipoAtual() {
|
|
465
500
|
const tipos = [...Object.values(tipos_de_dados_1.default)];
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
} */
|
|
501
|
+
if (this.simbolos[this.atual].lexema in this.tiposDefinidosEmCodigo) {
|
|
502
|
+
return this.tiposDefinidosEmCodigo[this.simbolos[this.atual].lexema];
|
|
503
|
+
}
|
|
470
504
|
const lexemaElementar = this.simbolos[this.atual].lexema.toLowerCase();
|
|
471
505
|
const tipoElementarResolvido = tipos.find((tipo) => tipo.toLowerCase() === lexemaElementar);
|
|
472
506
|
if (!tipoElementarResolvido) {
|
|
@@ -642,6 +676,7 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
642
676
|
// Só que, se a avaliação entra na dica, só
|
|
643
677
|
// podemos ter uma constante apenas.
|
|
644
678
|
this.avancarEDevolverAnterior();
|
|
679
|
+
const simboloTipo = this.simbolos[this.atual];
|
|
645
680
|
if (![
|
|
646
681
|
lexico_regular_1.default.CARACTERE,
|
|
647
682
|
lexico_regular_1.default.INTEIRO,
|
|
@@ -649,7 +684,8 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
649
684
|
lexico_regular_1.default.LÓGICO,
|
|
650
685
|
lexico_regular_1.default.REAL,
|
|
651
686
|
lexico_regular_1.default.TEXTO,
|
|
652
|
-
].includes(
|
|
687
|
+
].includes(simboloTipo.tipo)
|
|
688
|
+
&& !(simboloTipo.lexema in this.tiposDefinidosEmCodigo)) {
|
|
653
689
|
throw this.erro(this.simbolos[this.atual], 'Esperado tipo após dois-pontos e nome de identificador.');
|
|
654
690
|
}
|
|
655
691
|
return this.avancarEDevolverAnterior();
|
|
@@ -708,15 +744,26 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
708
744
|
declaracoes.push(await this.resolverDeclaracaoForaDeBloco());
|
|
709
745
|
} while (![lexico_regular_1.default.SENAO, lexico_regular_1.default.FIM].includes(this.simbolos[this.atual].tipo));
|
|
710
746
|
let caminhoSenao = null;
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
const
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
747
|
+
let consumirFimExterno = true;
|
|
748
|
+
if (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.SENAO) || this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.SENAOSE)) {
|
|
749
|
+
const ehSenaose = this.simbolos[this.atual - 1].tipo === lexico_regular_1.default.SENAOSE;
|
|
750
|
+
if (this.simbolos[this.atual].tipo === lexico_regular_1.default.SE || ehSenaose) {
|
|
751
|
+
// "senao se" ou "senaose": o Se aninhado vai consumir o próprio fim
|
|
752
|
+
caminhoSenao = await this.declaracaoSe();
|
|
753
|
+
consumirFimExterno = false;
|
|
754
|
+
}
|
|
755
|
+
else {
|
|
756
|
+
const simboloSenao = this.simbolos[this.atual - 1];
|
|
757
|
+
const declaracoesSenao = [];
|
|
758
|
+
do {
|
|
759
|
+
declaracoesSenao.push(await this.resolverDeclaracaoForaDeBloco());
|
|
760
|
+
} while (![lexico_regular_1.default.FIM].includes(this.simbolos[this.atual].tipo));
|
|
761
|
+
caminhoSenao = new declaracoes_1.Bloco(this.hashArquivo, Number(simboloSenao.linha), declaracoesSenao.filter((d) => d));
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
if (consumirFimExterno) {
|
|
765
|
+
this.consumir(lexico_regular_1.default.FIM, "Esperado palavra-chave 'fim' para fechamento de declaração 'se'.");
|
|
718
766
|
}
|
|
719
|
-
this.consumir(lexico_regular_1.default.FIM, "Esperado palavra-chave 'fim' para fechamento de declaração 'se'.");
|
|
720
767
|
return new declaracoes_1.Se(condicao, new declaracoes_1.Bloco(this.hashArquivo, Number(simboloSe.linha), declaracoes.filter((d) => d)), [], caminhoSenao);
|
|
721
768
|
}
|
|
722
769
|
async declaracaoEnquanto() {
|
|
@@ -733,6 +780,19 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
733
780
|
async declaracaoPara() {
|
|
734
781
|
const simboloPara = this.avancarEDevolverAnterior();
|
|
735
782
|
const variavelIteracao = this.consumir(lexico_regular_1.default.IDENTIFICADOR, "Esperado identificador de variável após 'para'.");
|
|
783
|
+
if (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.EM)) {
|
|
784
|
+
const colecao = await this.expressao();
|
|
785
|
+
this.consumir(lexico_regular_1.default.FACA, "Esperado palavra reservada 'faca' após coleção em laço 'para ... em'.");
|
|
786
|
+
const declaracoesBloco = [];
|
|
787
|
+
let simboloAtual = this.simbolos[this.atual];
|
|
788
|
+
while (simboloAtual.tipo !== lexico_regular_1.default.FIM) {
|
|
789
|
+
declaracoesBloco.push(await this.resolverDeclaracaoForaDeBloco());
|
|
790
|
+
simboloAtual = this.simbolos[this.atual];
|
|
791
|
+
}
|
|
792
|
+
this.consumir(lexico_regular_1.default.FIM, '');
|
|
793
|
+
const corpo = new declaracoes_1.Bloco(this.hashArquivo, Number(simboloPara.linha) + 1, declaracoesBloco.filter((d) => d));
|
|
794
|
+
return new declaracoes_1.ParaCada(this.hashArquivo, Number(simboloPara.linha), new construtos_1.Variavel(this.hashArquivo, variavelIteracao), colecao, corpo);
|
|
795
|
+
}
|
|
736
796
|
this.consumir(lexico_regular_1.default.DE, "Esperado palavra reservada 'de' após variável de controle de 'para'.");
|
|
737
797
|
const literalOuVariavelInicio = await this.adicaoOuSubtracao();
|
|
738
798
|
this.consumir(lexico_regular_1.default.ATE, "Esperado palavra reservada 'ate' após valor inicial do laço de repetição 'para'.");
|
|
@@ -768,7 +828,24 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
768
828
|
resolverIncrementoEmExecucao = true;
|
|
769
829
|
}
|
|
770
830
|
}
|
|
771
|
-
|
|
831
|
+
let condicaoGere = undefined;
|
|
832
|
+
if (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.SE)) {
|
|
833
|
+
condicaoGere = await this.expressao();
|
|
834
|
+
}
|
|
835
|
+
if (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.GERE)) {
|
|
836
|
+
const declaracoesGere = [];
|
|
837
|
+
let simboloAtualBlocoGere = this.simbolos[this.atual];
|
|
838
|
+
while (simboloAtualBlocoGere.tipo !== lexico_regular_1.default.FIM) {
|
|
839
|
+
declaracoesGere.push(await this.resolverDeclaracaoForaDeBloco());
|
|
840
|
+
simboloAtualBlocoGere = this.simbolos[this.atual];
|
|
841
|
+
}
|
|
842
|
+
this.consumir(lexico_regular_1.default.FIM, "Esperado 'fim' após bloco de 'gere'.");
|
|
843
|
+
return new declaracoes_2.ParaGere(this.hashArquivo, Number(simboloPara.linha), variavelIteracao, literalOuVariavelInicio, literalOuVariavelFim, declaracoesGere.filter((d) => d), passo, condicaoGere);
|
|
844
|
+
}
|
|
845
|
+
if (condicaoGere) {
|
|
846
|
+
throw this.erro(this.simbolos[this.atual] || this.simboloAnterior(), "A guarda 'se' em laço 'para' só é suportada com a forma 'gere' neste dialeto.");
|
|
847
|
+
}
|
|
848
|
+
this.consumir(lexico_regular_1.default.FACA, "Esperado palavra reservada 'faca' após valor final do laço de repetição 'para', ou 'gere' para compreensão.");
|
|
772
849
|
const declaracoesBlocoPara = [];
|
|
773
850
|
let simboloAtualBlocoPara = this.simbolos[this.atual];
|
|
774
851
|
while (simboloAtualBlocoPara.tipo !== lexico_regular_1.default.FIM) {
|
|
@@ -809,6 +886,13 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
809
886
|
continue;
|
|
810
887
|
}
|
|
811
888
|
const caminhoCondicoes = [await this.expressao()];
|
|
889
|
+
while (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.VIRGULA)) {
|
|
890
|
+
caminhoCondicoes.push(await this.expressao());
|
|
891
|
+
}
|
|
892
|
+
let guarda = null;
|
|
893
|
+
if (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.SE)) {
|
|
894
|
+
guarda = await this.expressao();
|
|
895
|
+
}
|
|
812
896
|
this.consumir(lexico_regular_1.default.SETA, "Esperado '=>' após palavra reservada 'caso'.");
|
|
813
897
|
const declaracoes = [await this.resolverDeclaracaoForaDeBloco()];
|
|
814
898
|
// TODO: Verificar se Potigol admite bloco de escopo para `escolha`.
|
|
@@ -819,39 +903,42 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
819
903
|
caminhos.push({
|
|
820
904
|
condicoes: caminhoCondicoes,
|
|
821
905
|
declaracoes,
|
|
906
|
+
guarda,
|
|
822
907
|
});
|
|
823
908
|
}
|
|
824
909
|
return new declaracoes_1.Escolha(condicao, caminhos, caminhoPadrao);
|
|
825
910
|
}
|
|
826
911
|
declaracaoFazer() {
|
|
827
|
-
throw
|
|
912
|
+
throw this.erro(this.simbolos[this.atual] || this.simboloAnterior(), "A construção iniciada por 'faca' não é suportada como declaração isolada neste dialeto. Use 'enquanto ... faca ... fim' ou 'para ... faca ... fim'.");
|
|
828
913
|
}
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
async declaracaoTipo() {
|
|
914
|
+
declaracaoUse() {
|
|
915
|
+
this.avancarEDevolverAnterior();
|
|
916
|
+
const caminho = this.consumir(lexico_regular_1.default.TEXTO, "Esperado caminho textual após 'use'.");
|
|
917
|
+
return new declaracoes_1.Importar(new construtos_1.Literal(this.hashArquivo, Number(caminho.linha), caminho.literal, 'texto'));
|
|
918
|
+
}
|
|
919
|
+
async declaracaoTipoOuAlias() {
|
|
836
920
|
const simboloTipo = this.avancarEDevolverAnterior();
|
|
837
|
-
const
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
921
|
+
const tipoAbstrato = this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.ABSTRATO);
|
|
922
|
+
const simboloNomeTipo = this.consumir(lexico_regular_1.default.IDENTIFICADOR, "Esperado nome após palavra reservada 'tipo'.");
|
|
923
|
+
if (this.verificarSeSimboloAtualEIgualA(lexico_regular_1.default.IGUAL)) {
|
|
924
|
+
if (tipoAbstrato) {
|
|
925
|
+
throw this.erro(this.simboloAnterior(), "Não é permitido declarar alias com 'tipo abstrato'. Use 'tipo Nome = Tipo' ou 'tipo abstrato Nome ... fim'.");
|
|
926
|
+
}
|
|
927
|
+
const tipoOriginal = this.verificarDefinicaoTipoAtual();
|
|
928
|
+
this.avancarEDevolverAnterior();
|
|
929
|
+
this.tiposDefinidosEmCodigo[simboloNomeTipo.lexema] = tipoOriginal;
|
|
930
|
+
return new declaracoes_2.AliasTipo(simboloNomeTipo, tipoOriginal);
|
|
931
|
+
}
|
|
932
|
+
const construto = new construtos_2.ConstanteOuVariavel(this.hashArquivo, simboloNomeTipo);
|
|
844
933
|
const metodos = [];
|
|
845
934
|
const propriedades = [];
|
|
846
935
|
while (!this.estaNoFinal() && !this.verificarTipoSimboloAtual(lexico_regular_1.default.FIM)) {
|
|
847
936
|
const identificador = this.consumir(lexico_regular_1.default.IDENTIFICADOR, 'Esperado nome de propriedade ou método.');
|
|
848
937
|
if (this.simbolos[this.atual].tipo === lexico_regular_1.default.PARENTESE_ESQUERDO) {
|
|
849
|
-
// Método
|
|
850
938
|
const construtoMetodo = new construtos_1.Constante(identificador.hashArquivo, identificador);
|
|
851
939
|
metodos.push(await this.declaracaoDeFuncaoOuMetodo(construtoMetodo));
|
|
852
940
|
}
|
|
853
941
|
else {
|
|
854
|
-
// Propriedade
|
|
855
942
|
this.consumir(lexico_regular_1.default.DOIS_PONTOS, 'Esperado dois-pontos após nome de propriedade em declaração de tipo.');
|
|
856
943
|
this.verificacaoTipo(this.simbolos[this.atual], 'Esperado tipo do argumento após dois-pontos, em definição de função.');
|
|
857
944
|
const tipoPropriedade = this.avancarEDevolverAnterior();
|
|
@@ -859,9 +946,6 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
859
946
|
}
|
|
860
947
|
}
|
|
861
948
|
this.consumir(lexico_regular_1.default.FIM, "Esperado 'fim' após o escopo do tipo.");
|
|
862
|
-
// Depois de verificadas todas as propriedades anotadas com tipo,
|
|
863
|
-
// Precisamos gerar um construtor com todas elas na ordem em que
|
|
864
|
-
// foram lidas.
|
|
865
949
|
const instrucoesConstrutor = [];
|
|
866
950
|
for (let propriedade of propriedades) {
|
|
867
951
|
instrucoesConstrutor.push(new declaracoes_1.Expressao(new construtos_1.DefinirValor(propriedade.hashArquivo, propriedade.linha, new construtos_1.Isto(propriedade.hashArquivo, propriedade.linha, new lexador_1.Simbolo(lexico_regular_1.default.ISTO, 'isto', undefined, simboloTipo.linha, simboloTipo.hashArquivo)), propriedade.nome, new construtos_1.Variavel(propriedade.hashArquivo, propriedade.nome))));
|
|
@@ -872,7 +956,20 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
872
956
|
})), instrucoesConstrutor);
|
|
873
957
|
const construtor = new declaracoes_1.FuncaoDeclaracao(new lexador_1.Simbolo(lexico_regular_1.default.CONSTRUTOR, 'construtor', undefined, simboloTipo.hashArquivo, simboloTipo.linha), construtorConstruto, undefined);
|
|
874
958
|
metodos.unshift(construtor);
|
|
875
|
-
return new declaracoes_1.Classe(construto.simbolo, undefined, metodos, propriedades);
|
|
959
|
+
return new declaracoes_1.Classe(construto.simbolo, undefined, metodos, propriedades, undefined, tipoAbstrato);
|
|
960
|
+
}
|
|
961
|
+
/**
|
|
962
|
+
* Uma declaração de tipo nada mais é do que um declaração de classe.
|
|
963
|
+
* Em Potigol, classe e tipo são praticamente a mesma coisa.
|
|
964
|
+
*
|
|
965
|
+
* @returns Um construto do tipo `Classe`.
|
|
966
|
+
*/
|
|
967
|
+
async declaracaoTipo() {
|
|
968
|
+
const declaracaoTipo = await this.declaracaoTipoOuAlias();
|
|
969
|
+
if (declaracaoTipo instanceof declaracoes_2.AliasTipo) {
|
|
970
|
+
throw this.erro(declaracaoTipo.simbolo, 'Alias de tipo não pode ser usado em um contexto que exige declaração de classe.');
|
|
971
|
+
}
|
|
972
|
+
return declaracaoTipo;
|
|
876
973
|
}
|
|
877
974
|
async atribuir() {
|
|
878
975
|
const expressao = await this.ou();
|
|
@@ -918,7 +1015,7 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
918
1015
|
* `leia_textos`.
|
|
919
1016
|
*/
|
|
920
1017
|
async expressaoLeia() {
|
|
921
|
-
throw
|
|
1018
|
+
throw this.erro(this.simbolos[this.atual] || this.simboloAnterior(), "Potigol não possui uma expressão genérica 'leia'. Use uma das formas tipadas, como 'leia_inteiro', 'leia_real', 'leia_texto', 'leia_inteiros', 'leia_reais' ou 'leia_textos'.");
|
|
922
1019
|
}
|
|
923
1020
|
/**
|
|
924
1021
|
* Em Potigol, uma definição de função pode simplesmente começar com um
|
|
@@ -956,6 +1053,8 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
956
1053
|
return this.declaracaoEscolha();
|
|
957
1054
|
case lexico_regular_1.default.ESCREVA:
|
|
958
1055
|
return this.declaracaoEscreva();
|
|
1056
|
+
case lexico_regular_1.default.FACA:
|
|
1057
|
+
return this.declaracaoFazer();
|
|
959
1058
|
case lexico_regular_1.default.IMPRIMA:
|
|
960
1059
|
return this.declaracaoImprima();
|
|
961
1060
|
case lexico_regular_1.default.PARA:
|
|
@@ -963,7 +1062,9 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
963
1062
|
case lexico_regular_1.default.SE:
|
|
964
1063
|
return this.declaracaoSe();
|
|
965
1064
|
case lexico_regular_1.default.TIPO:
|
|
966
|
-
return this.
|
|
1065
|
+
return this.declaracaoTipoOuAlias();
|
|
1066
|
+
case lexico_regular_1.default.USE:
|
|
1067
|
+
return this.declaracaoUse();
|
|
967
1068
|
case lexico_regular_1.default.VAL:
|
|
968
1069
|
return this.declaracaoDeConstanteExplicita();
|
|
969
1070
|
case lexico_regular_1.default.VARIAVEL:
|
|
@@ -979,6 +1080,7 @@ class AvaliadorSintaticoPotigol extends avaliador_sintatico_base_1.AvaliadorSint
|
|
|
979
1080
|
this.blocos = 0;
|
|
980
1081
|
this.pilhaEscoposVariaveisConhecidas = new pilha_escopos_variaveis_conhecidas_1.PilhaEscoposVariaveisConhecidas();
|
|
981
1082
|
this.pilhaEscoposVariaveisConhecidas.empilhar([]);
|
|
1083
|
+
this.tiposDefinidosEmCodigo = {};
|
|
982
1084
|
this.hashArquivo = hashArquivo || 0;
|
|
983
1085
|
this.simbolos = (retornoLexador === null || retornoLexador === void 0 ? void 0 : retornoLexador.simbolos) || [];
|
|
984
1086
|
this.declaracoes = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico-potigol.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-potigol.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico-potigol.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-potigol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { InterpretadorPotigolInterface } from '../interfaces';
|
|
2
2
|
export declare function abs(interpretador: InterpretadorPotigolInterface, valor: number): Promise<number>;
|
|
3
|
-
export declare function aleatorio(): Promise<
|
|
3
|
+
export declare function aleatorio(interpretadorOuPrimeiro?: InterpretadorPotigolInterface | number, primeiroOuUltimo?: number | Array<any>, ultimo?: number): Promise<any>;
|
|
4
4
|
export declare function arccos(interpretador: InterpretadorPotigolInterface, valor: number): Promise<number>;
|
|
5
5
|
export declare function arcsen(interpretador: InterpretadorPotigolInterface, valor: number): Promise<number>;
|
|
6
6
|
export declare function arctg(interpretador: InterpretadorPotigolInterface, valor: number): Promise<number>;
|
|
@@ -8,7 +8,7 @@ export declare function cos(interpretador: InterpretadorPotigolInterface, valor:
|
|
|
8
8
|
export declare function log(interpretador: InterpretadorPotigolInterface, valor: number): Promise<number>;
|
|
9
9
|
export declare function log10(interpretador: InterpretadorPotigolInterface, valor: number): Promise<number>;
|
|
10
10
|
export declare function pi(): Promise<number>;
|
|
11
|
-
export declare function raiz(
|
|
11
|
+
export declare function raiz(interpretadorOuValor: InterpretadorPotigolInterface | number, valorOuIndice: number, indice?: number): Promise<number>;
|
|
12
12
|
export declare function sen(interpretador: InterpretadorPotigolInterface, valor: number): Promise<number>;
|
|
13
13
|
export declare function tg(interpretador: InterpretadorPotigolInterface, valor: number): Promise<number>;
|
|
14
14
|
//# sourceMappingURL=biblioteca-global.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"biblioteca-global.d.ts","sourceRoot":"","sources":["../../fontes/bibliotecas/biblioteca-global.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAE9D,wBAAsB,GAAG,CAAC,aAAa,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtG;AAED,wBAAsB,SAAS,
|
|
1
|
+
{"version":3,"file":"biblioteca-global.d.ts","sourceRoot":"","sources":["../../fontes/bibliotecas/biblioteca-global.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAE9D,wBAAsB,GAAG,CAAC,aAAa,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtG;AAED,wBAAsB,SAAS,CAC3B,uBAAuB,CAAC,EAAE,6BAA6B,GAAG,MAAM,EAChE,gBAAgB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EACtC,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,CA0Bd;AAED,wBAAsB,MAAM,CAAC,aAAa,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEzG;AAED,wBAAsB,MAAM,CAAC,aAAa,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEzG;AAED,wBAAsB,KAAK,CAAC,aAAa,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAExG;AAED,wBAAsB,GAAG,CAAC,aAAa,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtG;AAED,wBAAsB,GAAG,CAAC,aAAa,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtG;AAED,wBAAsB,KAAK,CAAC,aAAa,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAExG;AAED,wBAAsB,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,CAE1C;AAED,wBAAsB,IAAI,CACtB,oBAAoB,EAAE,6BAA6B,GAAG,MAAM,EAC5D,aAAa,EAAE,MAAM,EACrB,MAAM,SAAI,mBAKb;AAED,wBAAsB,GAAG,CAAC,aAAa,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,mBAEpF;AAED,wBAAsB,EAAE,CAAC,aAAa,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,mBAEnF"}
|
|
@@ -15,8 +15,29 @@ exports.tg = tg;
|
|
|
15
15
|
async function abs(interpretador, valor) {
|
|
16
16
|
return Promise.resolve(Math.abs(valor));
|
|
17
17
|
}
|
|
18
|
-
async function aleatorio() {
|
|
19
|
-
|
|
18
|
+
async function aleatorio(interpretadorOuPrimeiro, primeiroOuUltimo, ultimo) {
|
|
19
|
+
// Sobrecarga: aleatorio(lista) — retorna elemento aleatório da lista
|
|
20
|
+
if (Array.isArray(primeiroOuUltimo)) {
|
|
21
|
+
const lista = primeiroOuUltimo;
|
|
22
|
+
if (lista.length === 0)
|
|
23
|
+
return Promise.resolve(undefined);
|
|
24
|
+
return Promise.resolve(lista[Math.floor(Math.random() * lista.length)]);
|
|
25
|
+
}
|
|
26
|
+
const primeiroArgumentoEValor = typeof interpretadorOuPrimeiro === 'number';
|
|
27
|
+
const primeiro = primeiroArgumentoEValor ? interpretadorOuPrimeiro : primeiroOuUltimo;
|
|
28
|
+
const segundo = primeiroArgumentoEValor ? primeiroOuUltimo : ultimo;
|
|
29
|
+
if (typeof primeiro !== 'number') {
|
|
30
|
+
return Promise.resolve(Math.random());
|
|
31
|
+
}
|
|
32
|
+
if (typeof segundo !== 'number') {
|
|
33
|
+
const maximo = Math.trunc(primeiro);
|
|
34
|
+
const aleatorioNoIntervalo = Math.floor(Math.random() * maximo) + 1;
|
|
35
|
+
return Promise.resolve(aleatorioNoIntervalo);
|
|
36
|
+
}
|
|
37
|
+
const minimo = Math.min(Math.trunc(primeiro), Math.trunc(segundo));
|
|
38
|
+
const maximo = Math.max(Math.trunc(primeiro), Math.trunc(segundo));
|
|
39
|
+
const faixa = maximo - minimo + 1;
|
|
40
|
+
return Promise.resolve(Math.floor(Math.random() * faixa) + minimo);
|
|
20
41
|
}
|
|
21
42
|
async function arccos(interpretador, valor) {
|
|
22
43
|
return Promise.resolve(Math.acos(valor));
|
|
@@ -39,8 +60,10 @@ async function log10(interpretador, valor) {
|
|
|
39
60
|
async function pi() {
|
|
40
61
|
return Promise.resolve(Math.PI);
|
|
41
62
|
}
|
|
42
|
-
async function raiz(
|
|
43
|
-
|
|
63
|
+
async function raiz(interpretadorOuValor, valorOuIndice, indice = 2) {
|
|
64
|
+
const valor = typeof interpretadorOuValor === 'number' ? interpretadorOuValor : valorOuIndice;
|
|
65
|
+
const indiceEfetivo = typeof interpretadorOuValor === 'number' ? valorOuIndice : indice;
|
|
66
|
+
return Promise.resolve(Math.pow(valor, 1 / indiceEfetivo));
|
|
44
67
|
}
|
|
45
68
|
async function sen(interpretador, valor) {
|
|
46
69
|
return Promise.resolve(Math.sin(valor));
|