@designliquido/delegua 1.15.6 → 1.16.1
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-documentario/index.js +2 -4
- package/analisador-documentario/index.js.map +1 -1
- package/analisador-semantico/analisador-semantico-base.d.ts +6 -2
- package/analisador-semantico/analisador-semantico-base.d.ts.map +1 -1
- package/analisador-semantico/analisador-semantico-base.js +30 -12
- package/analisador-semantico/analisador-semantico-base.js.map +1 -1
- package/analisador-semantico/analisador-semantico.d.ts +6 -1
- package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
- package/analisador-semantico/analisador-semantico.js +39 -53
- package/analisador-semantico/analisador-semantico.js.map +1 -1
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts +6 -1
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts.map +1 -1
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +35 -46
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.d.ts +1 -0
- package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.js +64 -14
- package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/avaliador-sintatico/comum.js +3 -4
- package/avaliador-sintatico/comum.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-calango.js +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-calango.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +4 -5
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.js +2 -3
- package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js +2 -3
- package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js.map +1 -1
- package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js +1 -1
- package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js.map +1 -1
- package/avaliador-sintatico/micro-avaliador-sintatico.js +1 -1
- package/avaliador-sintatico/micro-avaliador-sintatico.js.map +1 -1
- package/bibliotecas/biblioteca-global.js +9 -11
- package/bibliotecas/biblioteca-global.js.map +1 -1
- package/bibliotecas/dialetos/tenda/biblioteca-global.js +3 -3
- package/bibliotecas/dialetos/tenda/biblioteca-global.js.map +1 -1
- package/bin/package.json +1 -1
- package/construtos/atribuir.js +2 -2
- package/construtos/atribuir.js.map +1 -1
- package/declaracoes/classe.d.ts +2 -1
- package/declaracoes/classe.d.ts.map +1 -1
- package/declaracoes/classe.js +5 -5
- package/declaracoes/classe.js.map +1 -1
- package/declaracoes/const.js +1 -1
- package/declaracoes/const.js.map +1 -1
- package/declaracoes/var.js +1 -1
- package/declaracoes/var.js.map +1 -1
- package/estilizador/estilizador-delegua.js +2 -3
- package/estilizador/estilizador-delegua.js.map +1 -1
- package/formatadores/formatador-delegua.d.ts.map +1 -1
- package/formatadores/formatador-delegua.js +24 -2
- package/formatadores/formatador-delegua.js.map +1 -1
- package/formatadores/formatador-pitugues.js +1 -2
- package/formatadores/formatador-pitugues.js.map +1 -1
- package/interpretador/comum.d.ts.map +1 -1
- package/interpretador/comum.js +117 -11
- package/interpretador/comum.js.map +1 -1
- package/interpretador/depuracao/comum.js +9 -5
- package/interpretador/depuracao/comum.js.map +1 -1
- package/interpretador/depuracao/interpretador-base-com-depuracao.js +1 -1
- package/interpretador/depuracao/interpretador-base-com-depuracao.js.map +1 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +1 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
- package/interpretador/dialetos/pitugues/comum.js +1 -2
- package/interpretador/dialetos/pitugues/comum.js.map +1 -1
- package/interpretador/dialetos/pitugues/interpretador-pitugues.js +1 -2
- package/interpretador/dialetos/pitugues/interpretador-pitugues.js.map +1 -1
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +2 -2
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
- package/interpretador/estruturas/delegua-funcao-nativa.js +1 -2
- package/interpretador/estruturas/delegua-funcao-nativa.js.map +1 -1
- package/interpretador/estruturas/delegua-funcao.d.ts +3 -0
- package/interpretador/estruturas/delegua-funcao.d.ts.map +1 -1
- package/interpretador/estruturas/delegua-funcao.js +12 -4
- package/interpretador/estruturas/delegua-funcao.js.map +1 -1
- package/interpretador/estruturas/descritor-tipo-classe.d.ts +4 -3
- package/interpretador/estruturas/descritor-tipo-classe.d.ts.map +1 -1
- package/interpretador/estruturas/descritor-tipo-classe.js +16 -17
- package/interpretador/estruturas/descritor-tipo-classe.js.map +1 -1
- package/interpretador/estruturas/index.d.ts +1 -0
- package/interpretador/estruturas/index.d.ts.map +1 -1
- package/interpretador/estruturas/index.js +1 -0
- package/interpretador/estruturas/index.js.map +1 -1
- package/interpretador/estruturas/metodo-polimorfico.js +5 -10
- package/interpretador/estruturas/metodo-polimorfico.js.map +1 -1
- package/interpretador/estruturas/objeto-base.js +4 -6
- package/interpretador/estruturas/objeto-base.js.map +1 -1
- package/interpretador/estruturas/objeto-delegua-classe.js +8 -10
- package/interpretador/estruturas/objeto-delegua-classe.js.map +1 -1
- package/interpretador/estruturas/super-proxy.d.ts +24 -0
- package/interpretador/estruturas/super-proxy.d.ts.map +1 -0
- package/interpretador/estruturas/super-proxy.js +38 -0
- package/interpretador/estruturas/super-proxy.js.map +1 -0
- package/interpretador/interpretador-base.d.ts.map +1 -1
- package/interpretador/interpretador-base.js +14 -16
- package/interpretador/interpretador-base.js.map +1 -1
- package/interpretador/interpretador.d.ts +17 -5
- package/interpretador/interpretador.d.ts.map +1 -1
- package/interpretador/interpretador.js +118 -32
- package/interpretador/interpretador.js.map +1 -1
- package/lexador/filtro-paradigma.js +1 -1
- package/lexador/filtro-paradigma.js.map +1 -1
- package/lexador/mapeamento-paradigmas.js +2 -3
- package/lexador/mapeamento-paradigmas.js.map +1 -1
- package/lexador/palavras-reservadas.d.ts +1 -0
- package/lexador/palavras-reservadas.d.ts.map +1 -1
- package/lexador/palavras-reservadas.js +1 -0
- package/lexador/palavras-reservadas.js.map +1 -1
- package/package.json +1 -1
- package/tipos-de-simbolos/delegua.d.ts +1 -0
- package/tipos-de-simbolos/delegua.d.ts.map +1 -1
- package/tipos-de-simbolos/delegua.js +1 -0
- package/tipos-de-simbolos/delegua.js.map +1 -1
- package/tradutores/tradutor-assembly-arm.js +12 -24
- package/tradutores/tradutor-assembly-arm.js.map +1 -1
- package/tradutores/tradutor-assembly-risc-v.js +10 -20
- package/tradutores/tradutor-assembly-risc-v.js.map +1 -1
- package/tradutores/tradutor-assembly-x64.js +12 -24
- package/tradutores/tradutor-assembly-x64.js.map +1 -1
- package/tradutores/tradutor-assemblyscript.js +12 -13
- package/tradutores/tradutor-assemblyscript.js.map +1 -1
- package/tradutores/tradutor-elixir.d.ts +1 -0
- package/tradutores/tradutor-elixir.d.ts.map +1 -1
- package/tradutores/tradutor-elixir.js +31 -9
- package/tradutores/tradutor-elixir.js.map +1 -1
- package/tradutores/tradutor-javascript.js +10 -13
- package/tradutores/tradutor-javascript.js.map +1 -1
- package/tradutores/tradutor-mermaidjs.d.ts.map +1 -1
- package/tradutores/tradutor-mermaidjs.js +4 -4
- package/tradutores/tradutor-mermaidjs.js.map +1 -1
- package/tradutores/tradutor-python.js +4 -5
- package/tradutores/tradutor-python.js.map +1 -1
- package/tradutores/tradutor-reverso-javascript.js +1 -1
- package/tradutores/tradutor-reverso-javascript.js.map +1 -1
- package/tradutores/tradutor-reverso-tenda.js +7 -10
- package/tradutores/tradutor-reverso-tenda.js.map +1 -1
- package/tradutores/tradutor-ruby.js +4 -5
- package/tradutores/tradutor-ruby.js.map +1 -1
- package/tradutores/tradutor-webassembly.js +20 -35
- package/tradutores/tradutor-webassembly.js.map +1 -1
- package/umd/delegua.js +970 -710
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"AAEA,OAAO,EAGH,yBAAyB,EAGzB,kBAAkB,EAKlB,OAAO,EAGP,SAAS,EACT,SAAS,EAET,UAAU,EAEV,qBAAqB,EAGrB,eAAe,EACf,qBAAqB,EAErB,IAAI,EACJ,gBAAgB,EAGhB,qBAAqB,EACrB,iBAAiB,EAMjB,KAAK,EAGL,QAAQ,EAEX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAElG,OAAO,EAEH,sBAAsB,EAEzB,MAAM,4BAA4B,CAAC;AAcpC,OAAO,EACH,KAAK,EAEL,KAAK,EACL,MAAM,EACN,UAAU,EACV,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,EACR,MAAM,EACN,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACR,mBAAmB,EACnB,IAAI,EACJ,QAAQ,EAER,OAAO,EACP,EAAE,EACF,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACN,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAa7D;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,kBACT,SAAQ,sBACR,YAAW,2BAA2B,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAEpE,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,sBAAsB,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IAC3D,oBAAoB,EAAE;QAAE,CAAC,aAAa,EAAE,MAAM,GAAG,mBAAmB,CAAA;KAAE,CAAC;IACvE,4BAA4B,EAAE;QAC1B,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC;KACtC,CAAC;IACF,YAAY,EAAE,YAAY,CAAC;IAC3B,0BAA0B,EAAE;QAAE,CAAC,cAAc,EAAE,MAAM,GAAG;YAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACzF,oBAAoB,EAAE;QAClB,CAAC,kBAAkB,EAAE,MAAM,GAAG;YAAE,CAAC,aAAa,EAAE,MAAM,GAAG,2BAA2B,CAAA;SAAE,CAAC;KAC1F,CAAC;IACF,WAAW,EAAE,WAAW,CAAC;IAEzB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,qCAAqC,EAAE,OAAO,CAAC;IAC/C,OAAO,EAAE,OAAO,CAAC;gBAEL,WAAW,UAAQ;IAsB/B,SAAS,CAAC,2BAA2B,IAAI,MAAM;cA8C/B,cAAc,IAAI,OAAO,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,12 +106,46 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
106
106
|
this.avancarEDevolverAnterior();
|
|
107
107
|
return new construtos_1.AjudaComoConstruto(simboloAjuda.hashArquivo, simboloAjuda.linha, undefined, true);
|
|
108
108
|
}
|
|
109
|
+
const topicoPalavraChave = this.tentarResolverTopicoAjudaPalavraChave();
|
|
110
|
+
if (topicoPalavraChave) {
|
|
111
|
+
this.consumir(delegua_2.default.PARENTESE_DIREITO, `Esperado parêntese direito após expressão usada como argumento em ajuda(). Atual: ${this.simbolos[this.atual].lexema}.`);
|
|
112
|
+
return new construtos_1.AjudaComoConstruto(simboloAjuda.hashArquivo, simboloAjuda.linha, topicoPalavraChave);
|
|
113
|
+
}
|
|
109
114
|
this.emAjuda = true;
|
|
110
115
|
const expressaoAjuda = await this.expressao();
|
|
111
116
|
this.emAjuda = false;
|
|
112
117
|
this.consumir(delegua_2.default.PARENTESE_DIREITO, `Esperado parêntese direito após expressão usada como argumento em ajuda(). Atual: ${this.simbolos[this.atual].lexema}.`);
|
|
113
118
|
return new construtos_1.AjudaComoConstruto(simboloAjuda.hashArquivo, simboloAjuda.linha, expressaoAjuda);
|
|
114
119
|
}
|
|
120
|
+
tentarResolverTopicoAjudaPalavraChave() {
|
|
121
|
+
const simboloAtual = this.simbolos[this.atual];
|
|
122
|
+
switch (simboloAtual.tipo) {
|
|
123
|
+
case delegua_2.default.CLASSE: {
|
|
124
|
+
const simboloClasse = this.avancarEDevolverAnterior();
|
|
125
|
+
let topico = 'classe';
|
|
126
|
+
if (this.simbolos[this.atual].tipo === delegua_2.default.ABSTRATO) {
|
|
127
|
+
this.avancarEDevolverAnterior();
|
|
128
|
+
topico = 'classe abstrata';
|
|
129
|
+
}
|
|
130
|
+
else if (this.simbolos[this.atual].tipo === delegua_2.default.ESTRANGEIRA) {
|
|
131
|
+
this.avancarEDevolverAnterior();
|
|
132
|
+
topico = 'classe estrangeira';
|
|
133
|
+
}
|
|
134
|
+
return new construtos_1.Literal(this.hashArquivo, Number(simboloClasse.linha), topico, 'texto');
|
|
135
|
+
}
|
|
136
|
+
case delegua_2.default.HERDA:
|
|
137
|
+
this.avancarEDevolverAnterior();
|
|
138
|
+
return new construtos_1.Literal(this.hashArquivo, Number(simboloAtual.linha), 'herda', 'texto');
|
|
139
|
+
case delegua_2.default.MESCLA:
|
|
140
|
+
this.avancarEDevolverAnterior();
|
|
141
|
+
return new construtos_1.Literal(this.hashArquivo, Number(simboloAtual.linha), 'mescla', 'texto');
|
|
142
|
+
case delegua_2.default.EXTENSAO:
|
|
143
|
+
this.avancarEDevolverAnterior();
|
|
144
|
+
return new construtos_1.Literal(this.hashArquivo, Number(simboloAtual.linha), 'extensao', 'texto');
|
|
145
|
+
default:
|
|
146
|
+
return undefined;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
115
149
|
async obterChaveDicionario() {
|
|
116
150
|
switch (this.simbolos[this.atual].tipo) {
|
|
117
151
|
case delegua_2.default.NUMERO:
|
|
@@ -562,7 +596,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
562
596
|
}
|
|
563
597
|
return elementoMontao;
|
|
564
598
|
}
|
|
565
|
-
catch
|
|
599
|
+
catch {
|
|
566
600
|
return null;
|
|
567
601
|
}
|
|
568
602
|
case construtos_1.AcessoMetodoOuPropriedade: {
|
|
@@ -2013,13 +2047,15 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2013
2047
|
return declaracao;
|
|
2014
2048
|
}
|
|
2015
2049
|
async declaracaoDeClasse() {
|
|
2016
|
-
|
|
2017
|
-
//
|
|
2018
|
-
// Sintaxe: `classe abstrata NomeDaClasse` ou `classe estática NomeDaClasse`.
|
|
2050
|
+
// Modificadores opcionais no nível da classe: `abstrata`, `estrangeira` e/ou `estática`.
|
|
2051
|
+
// Sintaxe: `classe abstrata NomeDaClasse`, `classe estrangeira NomeDaClasse`, etc.
|
|
2019
2052
|
let ehAbstrata = false;
|
|
2053
|
+
let ehEstrangeira = false;
|
|
2020
2054
|
let ehEstatica = false;
|
|
2021
2055
|
if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.ABSTRATO))
|
|
2022
2056
|
ehAbstrata = true;
|
|
2057
|
+
if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.ESTRANGEIRA))
|
|
2058
|
+
ehEstrangeira = true;
|
|
2023
2059
|
if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.ESTATICO))
|
|
2024
2060
|
ehEstatica = true;
|
|
2025
2061
|
// Também permite a ordem invertida: `classe estática abstrata`
|
|
@@ -2029,7 +2065,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2029
2065
|
// Pré-registro para permitir auto-referência no corpo da própria classe,
|
|
2030
2066
|
// como em `MinhaClasse.propriedadeEstatica` dentro de métodos.
|
|
2031
2067
|
this.tiposDefinidosEmCodigo[simbolo.lexema] =
|
|
2032
|
-
|
|
2068
|
+
this.tiposDefinidosEmCodigo[simbolo.lexema] ?? {};
|
|
2033
2069
|
const pilhaDecoradoresClasse = Array.from(this.pilhaDecoradores);
|
|
2034
2070
|
// Verificar `herda SuperclasseA, SuperclasseB`
|
|
2035
2071
|
const superClasses = [];
|
|
@@ -2066,7 +2102,6 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2066
2102
|
* Suporta blocos de contexto aninhados: `estático { }`, `abstrato { }`, `privado { }`, `protegido { }`, `publico { }`.
|
|
2067
2103
|
*/
|
|
2068
2104
|
const compreenderMembros = async (acessoPadrao, ehEstaticoPadrao, ehAbstratoPadrao = false) => {
|
|
2069
|
-
var _a;
|
|
2070
2105
|
while (!this.verificarTipoSimboloAtual(delegua_2.default.CHAVE_DIREITA) &&
|
|
2071
2106
|
!this.estaNoFinal()) {
|
|
2072
2107
|
// Pular comentários normais dentro do corpo da classe.
|
|
@@ -2088,7 +2123,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2088
2123
|
}
|
|
2089
2124
|
// Detecção de bloco de contexto: modificador seguido de '{'
|
|
2090
2125
|
const tipoAtual = this.simbolos[this.atual].tipo;
|
|
2091
|
-
const tipoProximo =
|
|
2126
|
+
const tipoProximo = this.simbolos[this.atual + 1]?.tipo;
|
|
2092
2127
|
const ehBlocoAcesso = [delegua_2.default.PRIVADO, delegua_2.default.PROTEGIDO].includes(tipoAtual) &&
|
|
2093
2128
|
tipoProximo === delegua_2.default.CHAVE_ESQUERDA;
|
|
2094
2129
|
const ehBlocoEstatico = tipoAtual === delegua_2.default.ESTATICO &&
|
|
@@ -2150,7 +2185,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2150
2185
|
}
|
|
2151
2186
|
// Método ou propriedade, determinado pelo token seguinte ao nome
|
|
2152
2187
|
const proximoSimbolo = this.simbolos[this.atual + 1];
|
|
2153
|
-
switch (proximoSimbolo
|
|
2188
|
+
switch (proximoSimbolo?.tipo) {
|
|
2154
2189
|
case delegua_2.default.PARENTESE_ESQUERDO: {
|
|
2155
2190
|
// Analisa: nome ( params ) [abstrato] [: tipoRetorno] { corpo }
|
|
2156
2191
|
const nomeMetodo = this.avancarEDevolverAnterior();
|
|
@@ -2162,7 +2197,6 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2162
2197
|
params = await this.logicaComumParametros();
|
|
2163
2198
|
}
|
|
2164
2199
|
this.consumir(delegua_2.default.PARENTESE_DIREITO, "Esperado ')' após parâmetros do método.");
|
|
2165
|
-
const ehAbstrato = ehAbstratoPadrao;
|
|
2166
2200
|
// Tipo de retorno opcional (igual a corpoDaFuncao())
|
|
2167
2201
|
let tipoRetorno = 'qualquer';
|
|
2168
2202
|
let definicaoExplicitaDeTipo = false;
|
|
@@ -2171,10 +2205,21 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2171
2205
|
this.avancarEDevolverAnterior();
|
|
2172
2206
|
definicaoExplicitaDeTipo = true;
|
|
2173
2207
|
}
|
|
2208
|
+
// Método de classe estrangeira não pode ter corpo.
|
|
2209
|
+
if (ehEstrangeira &&
|
|
2210
|
+
this.verificarTipoSimboloAtual(delegua_2.default.CHAVE_ESQUERDA)) {
|
|
2211
|
+
throw this.erro(this.simbolos[this.atual], "Métodos de classe estrangeira não podem ter corpo.");
|
|
2212
|
+
}
|
|
2213
|
+
// Método é abstrato quando: (a) está dentro de um bloco `abstrato {}`,
|
|
2214
|
+
// ou (b) a classe é abstrata/estrangeira e o próximo token não é `{`.
|
|
2215
|
+
const ehAbstrato = ehAbstratoPadrao ||
|
|
2216
|
+
ehEstrangeira ||
|
|
2217
|
+
(ehAbstrata &&
|
|
2218
|
+
!this.verificarTipoSimboloAtual(delegua_2.default.CHAVE_ESQUERDA));
|
|
2174
2219
|
if (ehAbstrato) {
|
|
2175
|
-
// Método abstrato: sem corpo
|
|
2220
|
+
// Método abstrato/estrangeiro: sem corpo
|
|
2176
2221
|
this.verificarSeSimboloAtualEIgualA(delegua_2.default.PONTO_E_VIRGULA);
|
|
2177
|
-
const corpoVazio = new construtos_1.FuncaoConstruto(this.hashArquivo, nomeMetodo.linha, params, [], tipoRetorno);
|
|
2222
|
+
const corpoVazio = new construtos_1.FuncaoConstruto(this.hashArquivo, nomeMetodo.linha, params, [], tipoRetorno, definicaoExplicitaDeTipo);
|
|
2178
2223
|
const metodoAbstrato = new declaracoes_1.FuncaoDeclaracao(nomeMetodo, corpoVazio, tipoRetorno);
|
|
2179
2224
|
metodoAbstrato.estatico = ehEstatico;
|
|
2180
2225
|
metodoAbstrato.abstrato = true;
|
|
@@ -2372,7 +2417,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2372
2417
|
}
|
|
2373
2418
|
}
|
|
2374
2419
|
}
|
|
2375
|
-
const definicaoClasse = new declaracoes_1.Classe(simbolo, superClasses, metodos, propriedades, pilhaDecoradoresClasse, ehAbstrata, ehEstatica, implementaInterfaces, mesclas);
|
|
2420
|
+
const definicaoClasse = new declaracoes_1.Classe(simbolo, superClasses, metodos, propriedades, pilhaDecoradoresClasse, ehAbstrata, ehEstrangeira, ehEstatica, implementaInterfaces, mesclas);
|
|
2376
2421
|
this.tiposDefinidosEmCodigo[definicaoClasse.simbolo.lexema] = definicaoClasse;
|
|
2377
2422
|
this.superclasseAtual = undefined;
|
|
2378
2423
|
return definicaoClasse;
|
|
@@ -2406,7 +2451,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2406
2451
|
}
|
|
2407
2452
|
// Apenas métodos são suportados em extensões.
|
|
2408
2453
|
const proximoSimbolo = this.simbolos[this.atual + 1];
|
|
2409
|
-
if (
|
|
2454
|
+
if (proximoSimbolo?.tipo !== delegua_2.default.PARENTESE_ESQUERDO) {
|
|
2410
2455
|
throw this.erro(this.simbolos[this.atual], 'Esperado declaração de método na extensão.');
|
|
2411
2456
|
}
|
|
2412
2457
|
const nomeMetodo = this.avancarEDevolverAnterior();
|
|
@@ -2648,6 +2693,11 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2648
2693
|
this.avancarEDevolverAnterior();
|
|
2649
2694
|
return new declaracoes_1.Ajuda(simboloAjuda.hashArquivo, simboloAjuda.linha, undefined, true);
|
|
2650
2695
|
}
|
|
2696
|
+
const topicoPalavraChave = this.tentarResolverTopicoAjudaPalavraChave();
|
|
2697
|
+
if (topicoPalavraChave) {
|
|
2698
|
+
this.consumir(delegua_2.default.PARENTESE_DIREITO, `Esperado parêntese direito após expressão usada como argumento em ajuda(). Atual: ${this.simbolos[this.atual].lexema}.`);
|
|
2699
|
+
return new declaracoes_1.Ajuda(simboloAjuda.hashArquivo, simboloAjuda.linha, topicoPalavraChave);
|
|
2700
|
+
}
|
|
2651
2701
|
const expressaoAjuda = await this.expressao();
|
|
2652
2702
|
this.consumir(delegua_2.default.PARENTESE_DIREITO, `Esperado parêntese direito após expressão usada como argumento em ajuda(). Atual: ${this.simbolos[this.atual].lexema}.`);
|
|
2653
2703
|
return new declaracoes_1.Ajuda(simboloAjuda.hashArquivo, simboloAjuda.linha, expressaoAjuda);
|
|
@@ -2810,7 +2860,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2810
2860
|
this.atual = 0;
|
|
2811
2861
|
this.blocos = 0;
|
|
2812
2862
|
this.hashArquivo = hashArquivo || 0;
|
|
2813
|
-
this.simbolos =
|
|
2863
|
+
this.simbolos = retornoLexador?.simbolos || [];
|
|
2814
2864
|
this.pilhaDecoradores = [];
|
|
2815
2865
|
this.tiposDefinidosEmCodigo = {};
|
|
2816
2866
|
this.interfacesDeclaradas = {};
|