@designliquido/delegua 1.24.2 → 1.24.4
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/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.js +67 -22
- package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +27 -12
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
- package/bin/package.json +1 -1
- package/interpretador/depuracao/comum.d.ts.map +1 -1
- package/interpretador/depuracao/comum.js +16 -13
- package/interpretador/depuracao/comum.js.map +1 -1
- package/interpretador/interpretador-base.d.ts.map +1 -1
- package/interpretador/interpretador-base.js +24 -30
- package/interpretador/interpretador-base.js.map +1 -1
- package/interpretador/interpretador.d.ts +3 -1
- package/interpretador/interpretador.d.ts.map +1 -1
- package/interpretador/interpretador.js +45 -6
- package/interpretador/interpretador.js.map +1 -1
- package/lexador/lexador.d.ts +19 -44
- package/lexador/lexador.d.ts.map +1 -1
- package/lexador/lexador.js +260 -489
- package/lexador/lexador.js.map +1 -1
- package/package.json +1 -1
- package/tradutores/tradutor-ruby.d.ts.map +1 -1
- package/tradutores/tradutor-ruby.js +1 -1
- package/tradutores/tradutor-ruby.js.map +1 -1
- package/umd/delegua.js +425 -561
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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"}
|
|
@@ -630,10 +630,11 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
630
630
|
}
|
|
631
631
|
return new construtos_1.TipoDe(this.hashArquivo, simboloAtual, construto);
|
|
632
632
|
}
|
|
633
|
-
// TODO: O correto seria emitir algum aviso aqui que este avaliador sintático não consegue
|
|
634
|
-
// lidar com tópicos de ajuda neste ponto.
|
|
635
633
|
if (this.emAjuda) {
|
|
636
|
-
|
|
634
|
+
const simboloNaoTratado = this.simbolos[this.atual];
|
|
635
|
+
this.erros.push(this.erro(simboloNaoTratado, `Avaliador sintático não consegue lidar com o tópico de ajuda '${simboloNaoTratado.lexema}'.`));
|
|
636
|
+
this.avancarEDevolverAnterior();
|
|
637
|
+
return new construtos_1.Literal(this.hashArquivo, Number(simboloNaoTratado.linha), null, 'nulo');
|
|
637
638
|
}
|
|
638
639
|
throw this.erro(this.simbolos[this.atual], 'Esperado expressão.');
|
|
639
640
|
}
|
|
@@ -1584,16 +1585,16 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
1584
1585
|
throw this.erro(this.simbolos[this.atual], "Esperado palavras reservadas 'em' ou 'de' após variável de iteração em instrução 'para cada'.");
|
|
1585
1586
|
}
|
|
1586
1587
|
let vetorOuDicionario = await this.expressao();
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1588
|
+
// Quando o iterável é um acesso a índice de dicionário, o tipo dos elementos
|
|
1589
|
+
// não é determinável estaticamente — assume-se 'qualquer[]' para não bloquear a iteração.
|
|
1590
|
+
let tipoVetor;
|
|
1591
|
+
if (vetorOuDicionario.constructor === construtos_1.AcessoIndiceVariavel &&
|
|
1592
|
+
vetorOuDicionario.entidadeChamada.tipo === 'dicionário') {
|
|
1593
|
+
tipoVetor = 'qualquer[]';
|
|
1594
|
+
}
|
|
1595
|
+
else {
|
|
1596
|
+
tipoVetor = vetorOuDicionario.tipo;
|
|
1595
1597
|
}
|
|
1596
|
-
const tipoVetor = vetorOuDicionario.tipo;
|
|
1597
1598
|
if (!tipoVetor.endsWith('[]') &&
|
|
1598
1599
|
!['dicionário', 'qualquer', 'texto', 'vetor'].includes(tipoVetor)) {
|
|
1599
1600
|
throw this.erro(simboloPara, `Variável ou constante em 'para cada' não é iterável. Tipo resolvido: ${tipoVetor}.`);
|
|
@@ -1770,12 +1771,29 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
1770
1771
|
const entidadeChamadaVariavel = construtoChamada.entidadeChamada;
|
|
1771
1772
|
tipoInicializacao = entidadeChamadaVariavel.tipo;
|
|
1772
1773
|
break;
|
|
1773
|
-
|
|
1774
|
+
case construtos_1.ReferenciaFuncao:
|
|
1775
|
+
const entidadeChamadaReferenciaFuncao = construtoChamada.entidadeChamada;
|
|
1776
|
+
tipoInicializacao = entidadeChamadaReferenciaFuncao.tipo;
|
|
1777
|
+
break;
|
|
1778
|
+
case construtos_1.ArgumentoReferenciaFuncao:
|
|
1779
|
+
tipoInicializacao = 'qualquer';
|
|
1780
|
+
break;
|
|
1774
1781
|
default:
|
|
1775
1782
|
break;
|
|
1776
1783
|
}
|
|
1777
1784
|
break;
|
|
1778
|
-
|
|
1785
|
+
case construtos_1.Variavel:
|
|
1786
|
+
tipoInicializacao = expressaoInicializacao.tipo;
|
|
1787
|
+
break;
|
|
1788
|
+
case construtos_1.Literal:
|
|
1789
|
+
tipoInicializacao = expressaoInicializacao.tipo;
|
|
1790
|
+
break;
|
|
1791
|
+
case construtos_1.FuncaoConstruto:
|
|
1792
|
+
tipoInicializacao = `função<${expressaoInicializacao.tipo}>`;
|
|
1793
|
+
break;
|
|
1794
|
+
case construtos_1.AcessoIndiceVariavel:
|
|
1795
|
+
tipoInicializacao = expressaoInicializacao.tipo;
|
|
1796
|
+
break;
|
|
1779
1797
|
default:
|
|
1780
1798
|
break;
|
|
1781
1799
|
}
|
|
@@ -1898,13 +1916,23 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
1898
1916
|
const entidadeChamadaAcessoMetodo = entidadeChamadaChamada;
|
|
1899
1917
|
const tipoRetornoAcessoMetodoResolvido = entidadeChamadaAcessoMetodo.tipoRetornoMetodo.replace('<T>', entidadeChamadaAcessoMetodo.objeto.tipo);
|
|
1900
1918
|
return tipoRetornoAcessoMetodoResolvido;
|
|
1901
|
-
case construtos_1.AcessoMetodoOuPropriedade:
|
|
1902
|
-
|
|
1919
|
+
case construtos_1.AcessoMetodoOuPropriedade: {
|
|
1920
|
+
const tipoMetodo = this.logicaComumInferenciaTiposAcessoMetodoOuPropriedade(entidadeChamadaChamada);
|
|
1921
|
+
// logicaComumInferenciaTiposAcessoMetodoOuPropriedade retorna o tipo da
|
|
1922
|
+
// função ('função<X>') para métodos definidos em código. Em contexto de
|
|
1923
|
+
// Chamada, queremos o tipo de retorno X, não o tipo da função em si.
|
|
1924
|
+
const correspondencia = tipoMetodo.match(/^função<(.+)>$/);
|
|
1925
|
+
return correspondencia ? correspondencia[1] : tipoMetodo;
|
|
1926
|
+
}
|
|
1903
1927
|
case construtos_1.AcessoPropriedade:
|
|
1904
1928
|
const entidadeChamadaAcessoPropriedade = entidadeChamadaChamada;
|
|
1905
1929
|
return entidadeChamadaAcessoPropriedade.tipoRetornoPropriedade;
|
|
1906
1930
|
case construtos_1.ArgumentoReferenciaFuncao:
|
|
1907
|
-
|
|
1931
|
+
const entidadeChamadaArgumentoReferencia = entidadeChamadaChamada;
|
|
1932
|
+
const referenciaFuncaoArgumentada = this.pilhaEscopos.obterReferenciaFuncao(entidadeChamadaArgumentoReferencia.simboloFuncao.lexema);
|
|
1933
|
+
if (referenciaFuncaoArgumentada) {
|
|
1934
|
+
return referenciaFuncaoArgumentada.tipo;
|
|
1935
|
+
}
|
|
1908
1936
|
return 'qualquer';
|
|
1909
1937
|
case construtos_1.ReferenciaFuncao:
|
|
1910
1938
|
const entidadeChamadaReferenciaFuncao = entidadeChamadaChamada;
|
|
@@ -2180,10 +2208,11 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2180
2208
|
}
|
|
2181
2209
|
tiposRetornos.delete('qualquer');
|
|
2182
2210
|
if (tipoRetorno === 'qualquer') {
|
|
2183
|
-
if (tiposRetornos.size > 0) {
|
|
2184
|
-
// Se o tipo de retorno é 'qualquer'
|
|
2211
|
+
if (tiposRetornos.size > 0 && !definicaoExplicitaDeTipo) {
|
|
2212
|
+
// Se o tipo de retorno é 'qualquer' implícito (não anotado),
|
|
2185
2213
|
// este avaliador sintático pode restringir o tipo baseado nos construtos
|
|
2186
2214
|
// de retornos encontrados nos blocos internos da função.
|
|
2215
|
+
// Se o tipo foi explicitamente anotado como 'qualquer', respeitamos a anotação.
|
|
2187
2216
|
const tipoRetornoDeduzido = tiposRetornos.values().next().value;
|
|
2188
2217
|
tipoRetorno = tipoRetornoDeduzido;
|
|
2189
2218
|
}
|
|
@@ -2342,7 +2371,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2342
2371
|
const retornaChamadoExplicitamente = tiposRetornos.size > 0;
|
|
2343
2372
|
tiposRetornos.delete('qualquer');
|
|
2344
2373
|
if (tipoRetorno === 'qualquer') {
|
|
2345
|
-
if (tiposRetornos.size > 0) {
|
|
2374
|
+
if (tiposRetornos.size > 0 && !definicaoExplicitaDeTipo) {
|
|
2346
2375
|
tipoRetorno = tiposRetornos.values().next().value;
|
|
2347
2376
|
}
|
|
2348
2377
|
else if (!retornaChamadoExplicitamente && !definicaoExplicitaDeTipo) {
|
|
@@ -2693,7 +2722,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2693
2722
|
const retornaChamadoExplicitamente = tiposRetornos.size > 0;
|
|
2694
2723
|
tiposRetornos.delete('qualquer');
|
|
2695
2724
|
if (tipoRetorno === 'qualquer') {
|
|
2696
|
-
if (tiposRetornos.size > 0) {
|
|
2725
|
+
if (tiposRetornos.size > 0 && !definicaoExplicitaDeTipo) {
|
|
2697
2726
|
tipoRetorno = tiposRetornos.values().next().value;
|
|
2698
2727
|
}
|
|
2699
2728
|
else if (!retornaChamadoExplicitamente && !definicaoExplicitaDeTipo) {
|
|
@@ -2961,6 +2990,10 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2961
2990
|
new informacao_elemento_sintatico_1.InformacaoElementoSintatico('vetor', 'qualquer[]'),
|
|
2962
2991
|
new informacao_elemento_sintatico_1.InformacaoElementoSintatico('funcaoPesquisa', 'função'),
|
|
2963
2992
|
]));
|
|
2993
|
+
this.pilhaEscopos.definirInformacoesVariavel('arredondar', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('arredondar', 'número', true, [
|
|
2994
|
+
new informacao_elemento_sintatico_1.InformacaoElementoSintatico('numero', 'número'),
|
|
2995
|
+
new informacao_elemento_sintatico_1.InformacaoElementoSintatico('casasDecimais', 'número'),
|
|
2996
|
+
]));
|
|
2964
2997
|
this.pilhaEscopos.definirInformacoesVariavel('clonar', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('clonar', 'qualquer', true, [
|
|
2965
2998
|
new informacao_elemento_sintatico_1.InformacaoElementoSintatico('valor', 'qualquer'),
|
|
2966
2999
|
]));
|
|
@@ -3061,6 +3094,9 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
3061
3094
|
new informacao_elemento_sintatico_1.InformacaoElementoSintatico('funcaoReducao', 'função'),
|
|
3062
3095
|
new informacao_elemento_sintatico_1.InformacaoElementoSintatico('valorInicial', 'qualquer'),
|
|
3063
3096
|
]));
|
|
3097
|
+
this.pilhaEscopos.definirInformacoesVariavel('somar', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('somar', 'número', true, [
|
|
3098
|
+
new informacao_elemento_sintatico_1.InformacaoElementoSintatico('vetor', 'qualquer[]'),
|
|
3099
|
+
]));
|
|
3064
3100
|
this.pilhaEscopos.definirInformacoesVariavel('tamanho', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('tamanho', 'inteiro', true, [
|
|
3065
3101
|
new informacao_elemento_sintatico_1.InformacaoElementoSintatico('objeto', 'qualquer'),
|
|
3066
3102
|
]));
|
|
@@ -3081,11 +3117,20 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
3081
3117
|
this.pilhaEscopos.definirInformacoesVariavel('tupla', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('tupla', 'tupla', true, [
|
|
3082
3118
|
new informacao_elemento_sintatico_1.InformacaoElementoSintatico('vetor', 'qualquer[]'),
|
|
3083
3119
|
]));
|
|
3120
|
+
this.pilhaEscopos.definirInformacoesVariavel('vetor', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('vetor', 'qualquer[]', true, [
|
|
3121
|
+
new informacao_elemento_sintatico_1.InformacaoElementoSintatico('tupla', 'qualquer'),
|
|
3122
|
+
]));
|
|
3084
3123
|
// Classe base global `Objeto`, registrada pelo interpretador em tempo de execução.
|
|
3085
3124
|
this.pilhaEscopos.definirInformacoesVariavel('Objeto', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('Objeto', 'qualquer'));
|
|
3086
|
-
// TODO: Escrever algum tipo de validação aqui.
|
|
3087
3125
|
for (const tipos of Object.values(this.tiposDeFerramentasExternas)) {
|
|
3088
3126
|
for (const [nomeTipo, tipo] of Object.entries(tipos)) {
|
|
3127
|
+
if (!nomeTipo || !tipo) {
|
|
3128
|
+
continue;
|
|
3129
|
+
}
|
|
3130
|
+
if (nomeTipo in this.tiposDefinidosEmCodigo) {
|
|
3131
|
+
this.erros.push(new erro_avaliador_sintatico_1.ErroAvaliadorSintatico(new simbolo_1.Simbolo(delegua_2.default.IDENTIFICADOR, nomeTipo, nomeTipo, 0, 0), `Tipo '${nomeTipo}' de ferramenta externa conflita com tipo já definido em código.`));
|
|
3132
|
+
continue;
|
|
3133
|
+
}
|
|
3089
3134
|
this.pilhaEscopos.definirInformacoesVariavel(nomeTipo, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(nomeTipo, tipo));
|
|
3090
3135
|
}
|
|
3091
3136
|
}
|