@designliquido/delegua 1.15.3 → 1.15.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.
- package/analisador-semantico/analisador-semantico.d.ts +2 -1
- package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
- package/analisador-semantico/analisador-semantico.js +32 -4
- package/analisador-semantico/analisador-semantico.js.map +1 -1
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts.map +1 -1
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +1 -0
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.js +8 -1
- package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/avaliador-sintatico/comum.d.ts.map +1 -1
- package/avaliador-sintatico/comum.js +17 -6
- package/avaliador-sintatico/comum.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.js +1 -1
- package/bibliotecas/dialetos/prisma/biblioteca-global.d.ts +1 -1
- package/bibliotecas/dialetos/prisma/biblioteca-global.js +1 -1
- package/bin/package.json +1 -1
- package/construtos/literal.d.ts +2 -1
- package/construtos/literal.d.ts.map +1 -1
- package/construtos/literal.js +2 -1
- package/construtos/literal.js.map +1 -1
- package/estilizador/estilizador-delegua.d.ts +7 -6
- package/estilizador/estilizador-delegua.d.ts.map +1 -1
- package/estilizador/estilizador-delegua.js +9 -0
- package/estilizador/estilizador-delegua.js.map +1 -1
- package/estilizador/regras/convencao-nomenclatura.d.ts +2 -2
- package/estilizador/regras/convencao-nomenclatura.d.ts.map +1 -1
- package/estilizador/regras/fortalecer-tipos.d.ts +2 -2
- package/estilizador/regras/fortalecer-tipos.d.ts.map +1 -1
- package/estilizador/regras/fortalecer-tipos.js.map +1 -1
- package/estilizador/regras/paradigma-consistente.d.ts +3 -16
- package/estilizador/regras/paradigma-consistente.d.ts.map +1 -1
- package/estilizador/regras/paradigma-consistente.js.map +1 -1
- package/formatadores/formatador-delegua.d.ts +7 -1
- package/formatadores/formatador-delegua.d.ts.map +1 -1
- package/formatadores/formatador-delegua.js +25 -6
- package/formatadores/formatador-delegua.js.map +1 -1
- package/interfaces/estilizador/estilizador-interface.d.ts +49 -0
- package/interfaces/estilizador/estilizador-interface.d.ts.map +1 -0
- package/interfaces/{estilizador-comum-interface.js → estilizador/estilizador-interface.js} +1 -1
- package/interfaces/estilizador/estilizador-interface.js.map +1 -0
- package/interfaces/estilizador/index.d.ts +5 -0
- package/interfaces/estilizador/index.d.ts.map +1 -0
- package/interfaces/estilizador/index.js +21 -0
- package/interfaces/estilizador/index.js.map +1 -0
- package/interfaces/estilizador/opcoes-paradigma-consistente-interface.d.ts +14 -0
- package/interfaces/estilizador/opcoes-paradigma-consistente-interface.d.ts.map +1 -0
- package/interfaces/estilizador/opcoes-paradigma-consistente-interface.js +3 -0
- package/interfaces/estilizador/opcoes-paradigma-consistente-interface.js.map +1 -0
- package/interfaces/estilizador/regra-estilizacao-interface.d.ts +28 -0
- package/interfaces/estilizador/regra-estilizacao-interface.d.ts.map +1 -0
- package/interfaces/estilizador/regra-estilizacao-interface.js +3 -0
- package/interfaces/estilizador/regra-estilizacao-interface.js.map +1 -0
- package/interfaces/estilizador/violacao-estilo-interface.d.ts +26 -0
- package/interfaces/estilizador/violacao-estilo-interface.d.ts.map +1 -0
- package/interfaces/estilizador/violacao-estilo-interface.js +3 -0
- package/interfaces/estilizador/violacao-estilo-interface.js.map +1 -0
- package/interfaces/index.d.ts +1 -1
- package/interfaces/index.d.ts.map +1 -1
- package/interfaces/index.js +1 -1
- package/interfaces/index.js.map +1 -1
- package/interfaces/simbolo-interface.d.ts +2 -1
- package/interfaces/simbolo-interface.d.ts.map +1 -1
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +7 -7
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +1 -1
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
- package/interpretador/dialetos/prisma/interpretador-prisma.d.ts +1 -1
- package/interpretador/dialetos/prisma/interpretador-prisma.js +1 -1
- package/lexador/filtro-paradigma.d.ts +1 -1
- package/lexador/filtro-paradigma.d.ts.map +1 -1
- package/lexador/filtro-paradigma.js.map +1 -1
- package/lexador/lexador.d.ts.map +1 -1
- package/lexador/lexador.js +2 -0
- package/lexador/lexador.js.map +1 -1
- package/lexador/mapeamento-paradigmas.d.ts +1 -7
- package/lexador/mapeamento-paradigmas.d.ts.map +1 -1
- package/lexador/mapeamento-paradigmas.js +3 -3
- package/lexador/mapeamento-paradigmas.js.map +1 -1
- package/lexador/simbolo.d.ts +2 -1
- package/lexador/simbolo.d.ts.map +1 -1
- package/lexador/simbolo.js +2 -1
- package/lexador/simbolo.js.map +1 -1
- package/package.json +1 -1
- package/tipos.d.ts +8 -0
- package/tipos.d.ts.map +1 -0
- package/tipos.js +3 -0
- package/tipos.js.map +1 -0
- package/tradutores/tradutor-assemblyscript.js +1 -1
- package/tradutores/tradutor-assemblyscript.js.map +1 -1
- package/tradutores/tradutor-elixir.d.ts +1 -1
- package/tradutores/tradutor-elixir.js +3 -3
- package/tradutores/tradutor-elixir.js.map +1 -1
- package/umd/delegua.js +108 -30
- package/interfaces/estilizador-comum-interface.d.ts +0 -85
- package/interfaces/estilizador-comum-interface.d.ts.map +0 -1
- package/interfaces/estilizador-comum-interface.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tradutor-elixir.js","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-elixir.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tradutor-elixir.js","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-elixir.ts"],"names":[],"mappings":"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"}
|
package/umd/delegua.js
CHANGED
|
@@ -503,6 +503,10 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
|
|
|
503
503
|
}
|
|
504
504
|
}
|
|
505
505
|
}
|
|
506
|
+
else if (declaracao.inicializador instanceof construtos_1.Chamada) {
|
|
507
|
+
// Chamadas de método/função podem retornar vetores.
|
|
508
|
+
// A validação detalhada é feita em tempo de execução.
|
|
509
|
+
}
|
|
506
510
|
else {
|
|
507
511
|
this.erro(declaracao.simbolo, `Atribuição inválida para '${declaracao.simbolo.lexema}': é esperado um vetor de elementos.`);
|
|
508
512
|
}
|
|
@@ -796,6 +800,29 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
|
|
|
796
800
|
// Verifica a condição
|
|
797
801
|
return this.verificarCondicao(declaracao.condicaoEnquanto);
|
|
798
802
|
}
|
|
803
|
+
async visitarDeclaracaoPara(declaracao) {
|
|
804
|
+
if (Array.isArray(declaracao.inicializador)) {
|
|
805
|
+
for (const inicializador of declaracao.inicializador) {
|
|
806
|
+
await inicializador.aceitar(this);
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
else if (declaracao.inicializador) {
|
|
810
|
+
await declaracao.inicializador.aceitar(this);
|
|
811
|
+
}
|
|
812
|
+
// O laço precisa visitar condição/incremento/corpo para registrar usos de variáveis.
|
|
813
|
+
if (declaracao.condicao) {
|
|
814
|
+
this.marcarVariaveisUsadasEmExpressao(declaracao.condicao);
|
|
815
|
+
await this.verificarCondicao(declaracao.condicao);
|
|
816
|
+
}
|
|
817
|
+
if (declaracao.incrementar) {
|
|
818
|
+
this.marcarVariaveisUsadasEmExpressao(declaracao.incrementar);
|
|
819
|
+
this.verificarExpressao(declaracao.incrementar);
|
|
820
|
+
}
|
|
821
|
+
for (const declaracaoCorpo of declaracao.corpo.declaracoes) {
|
|
822
|
+
await declaracaoCorpo.aceitar(this);
|
|
823
|
+
}
|
|
824
|
+
return Promise.resolve();
|
|
825
|
+
}
|
|
799
826
|
visitarDeclaracaoParaCada(declaracao) {
|
|
800
827
|
// Marca o vetor/dicionário como usado
|
|
801
828
|
this.marcarVariaveisUsadasEmExpressao(declaracao.vetorOuDicionario);
|
|
@@ -1058,10 +1085,11 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
|
|
|
1058
1085
|
case construtos_1.Variavel:
|
|
1059
1086
|
let entidadeChamadaVariavel = chamada.entidadeChamada;
|
|
1060
1087
|
const nomeFuncao = entidadeChamadaVariavel.simbolo.lexema;
|
|
1061
|
-
// Lista de funções
|
|
1062
|
-
const
|
|
1088
|
+
// Lista de funções embutidas que não precisam ser declaradas
|
|
1089
|
+
const funcoesEmbutidas = [
|
|
1063
1090
|
'inteiro',
|
|
1064
1091
|
'real',
|
|
1092
|
+
'numero',
|
|
1065
1093
|
'número',
|
|
1066
1094
|
'texto',
|
|
1067
1095
|
'leia',
|
|
@@ -1070,8 +1098,8 @@ class AnalisadorSemantico extends analisador_semantico_base_1.AnalisadorSemantic
|
|
|
1070
1098
|
];
|
|
1071
1099
|
// Classes/construtores geralmente começam com letra maiúscula
|
|
1072
1100
|
const pareceSerClasse = nomeFuncao[0] === nomeFuncao[0].toUpperCase();
|
|
1073
|
-
// Só verifica se a função existe se não for
|
|
1074
|
-
if (!
|
|
1101
|
+
// Só verifica se a função existe se não for embutidas e não parecer ser classe
|
|
1102
|
+
if (!funcoesEmbutidas.includes(nomeFuncao) &&
|
|
1075
1103
|
!pareceSerClasse &&
|
|
1076
1104
|
!this.funcoes[nomeFuncao] &&
|
|
1077
1105
|
!this.gerenciadorEscopos.buscar(nomeFuncao)) {
|
|
@@ -2318,7 +2346,10 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
2318
2346
|
case delegua_2.default.TEXTO:
|
|
2319
2347
|
const simboloNumeroTexto = this.avancarEDevolverAnterior();
|
|
2320
2348
|
const tipoInferido = (0, inferenciador_1.inferirTipoVariavel)(simboloNumeroTexto.literal);
|
|
2321
|
-
|
|
2349
|
+
const delimitadorTexto = simboloNumeroTexto.tipo === delegua_2.default.TEXTO
|
|
2350
|
+
? simboloNumeroTexto.delimitadorTexto
|
|
2351
|
+
: undefined;
|
|
2352
|
+
return new construtos_1.Literal(this.hashArquivo, Number(simboloNumeroTexto.linha), simboloNumeroTexto.literal, tipoInferido, delimitadorTexto);
|
|
2322
2353
|
case delegua_2.default.PARA:
|
|
2323
2354
|
const simboloPara = this.avancarEDevolverAnterior();
|
|
2324
2355
|
return await this.paraComoConstruto(simboloPara);
|
|
@@ -4386,6 +4417,10 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
4386
4417
|
const simboloDoc = this.avancarEDevolverAnterior();
|
|
4387
4418
|
docTopLevel = new construtos_1.ComentarioComoConstruto(simboloDoc);
|
|
4388
4419
|
}
|
|
4420
|
+
// Decoradores podem aparecer após um documentário.
|
|
4421
|
+
while (this.verificarTipoSimboloAtual(delegua_2.default.ARROBA)) {
|
|
4422
|
+
await this.resolverDecoradores();
|
|
4423
|
+
}
|
|
4389
4424
|
if (this.verificarTipoSimboloAtual(delegua_2.default.FUNCAO) ||
|
|
4390
4425
|
this.verificarTipoSimboloAtual(delegua_2.default.FUNÇÃO)) {
|
|
4391
4426
|
if (this.verificarTipoProximoSimbolo(delegua_2.default.DE)) {
|
|
@@ -4757,25 +4792,36 @@ exports.registrarPrimitiva = registrarPrimitiva;
|
|
|
4757
4792
|
const declaracoes_1 = require("../declaracoes");
|
|
4758
4793
|
const informacao_elemento_sintatico_1 = require("../informacao-elemento-sintatico");
|
|
4759
4794
|
function* buscarRetornosEmBloco(construtoBloco) {
|
|
4795
|
+
if (!(construtoBloco === null || construtoBloco === void 0 ? void 0 : construtoBloco.declaracoes))
|
|
4796
|
+
return;
|
|
4760
4797
|
for (const declaracao of construtoBloco.declaracoes) {
|
|
4761
|
-
if (declaracao.constructor === declaracoes_1.Retorna) {
|
|
4798
|
+
if ((declaracao === null || declaracao === void 0 ? void 0 : declaracao.constructor) === declaracoes_1.Retorna) {
|
|
4762
4799
|
yield declaracao;
|
|
4763
4800
|
}
|
|
4764
4801
|
}
|
|
4765
4802
|
}
|
|
4766
4803
|
function* buscarRetornosEmSe(construtoSe) {
|
|
4767
|
-
|
|
4768
|
-
|
|
4769
|
-
|
|
4770
|
-
|
|
4804
|
+
var _a;
|
|
4805
|
+
if (((_a = construtoSe.caminhoEntao) === null || _a === void 0 ? void 0 : _a.constructor) === declaracoes_1.Retorna) {
|
|
4806
|
+
yield construtoSe.caminhoEntao;
|
|
4807
|
+
}
|
|
4808
|
+
else {
|
|
4809
|
+
const blocoEntao = construtoSe.caminhoEntao;
|
|
4810
|
+
for (const declaracao of buscarRetornosEmBloco(blocoEntao)) {
|
|
4811
|
+
if (declaracao.constructor === declaracoes_1.Retorna) {
|
|
4812
|
+
yield declaracao;
|
|
4813
|
+
}
|
|
4771
4814
|
}
|
|
4772
4815
|
}
|
|
4773
4816
|
if (!construtoSe.caminhoSenao)
|
|
4774
4817
|
return;
|
|
4775
4818
|
switch (construtoSe.caminhoSenao.constructor) {
|
|
4819
|
+
case declaracoes_1.Retorna:
|
|
4820
|
+
yield construtoSe.caminhoSenao;
|
|
4821
|
+
break;
|
|
4776
4822
|
case declaracoes_1.Bloco:
|
|
4777
4823
|
const blocoSenao = construtoSe.caminhoSenao;
|
|
4778
|
-
for (const declaracao of blocoSenao
|
|
4824
|
+
for (const declaracao of buscarRetornosEmBloco(blocoSenao)) {
|
|
4779
4825
|
if (declaracao.constructor === declaracoes_1.Retorna) {
|
|
4780
4826
|
yield declaracao;
|
|
4781
4827
|
}
|
|
@@ -8301,7 +8347,7 @@ class AvaliadorSintaticoPrisma extends avaliador_sintatico_base_1.AvaliadorSinta
|
|
|
8301
8347
|
inicializarPilhaEscopos() {
|
|
8302
8348
|
this.pilhaEscopos = new pilha_escopos_1.PilhaEscopos();
|
|
8303
8349
|
this.pilhaEscopos.empilhar(new informacao_escopo_1.InformacaoEscopo());
|
|
8304
|
-
// Registrar funções nativas (
|
|
8350
|
+
// Registrar funções nativas (embutidos) do Prisma no escopo do parser
|
|
8305
8351
|
// para evitar erros de variável não definida durante análise semântica
|
|
8306
8352
|
this.pilhaEscopos.definirInformacoesVariavel('tipo', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('tipo', 'função', true, [
|
|
8307
8353
|
new informacao_elemento_sintatico_1.InformacaoElementoSintatico('valor', 'qualquer'),
|
|
@@ -13354,11 +13400,12 @@ exports.ListaCompreensao = ListaCompreensao;
|
|
|
13354
13400
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13355
13401
|
exports.Literal = void 0;
|
|
13356
13402
|
class Literal {
|
|
13357
|
-
constructor(hashArquivo, linha, valor, tipo = 'qualquer') {
|
|
13403
|
+
constructor(hashArquivo, linha, valor, tipo = 'qualquer', delimitadorTexto) {
|
|
13358
13404
|
this.linha = linha;
|
|
13359
13405
|
this.hashArquivo = hashArquivo;
|
|
13360
13406
|
this.valor = valor;
|
|
13361
13407
|
this.tipo = tipo;
|
|
13408
|
+
this.delimitadorTexto = delimitadorTexto;
|
|
13362
13409
|
}
|
|
13363
13410
|
async aceitar(visitante) {
|
|
13364
13411
|
return await visitante.visitarExpressaoLiteral(this);
|
|
@@ -14984,6 +15031,7 @@ exports.Var = Var;
|
|
|
14984
15031
|
"use strict";
|
|
14985
15032
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14986
15033
|
exports.EstilizadorDelegua = void 0;
|
|
15034
|
+
const formatadores_1 = require("../formatadores");
|
|
14987
15035
|
/**
|
|
14988
15036
|
* Estilizador de código para Delégua.
|
|
14989
15037
|
* Aplica transformações no AST para enforcar convenções e melhorar qualidade do código.
|
|
@@ -15210,10 +15258,18 @@ class EstilizadorDelegua {
|
|
|
15210
15258
|
this.modoValidacao = false;
|
|
15211
15259
|
return violacoesEncontradas;
|
|
15212
15260
|
}
|
|
15261
|
+
estilizarEFormatar(declaracoes, opcoesFormatacao = {}) {
|
|
15262
|
+
var _a;
|
|
15263
|
+
const declaracoesEstilizadas = this.estilizar(declaracoes);
|
|
15264
|
+
const formatador = new formatadores_1.FormatadorDelegua(opcoesFormatacao.quebraLinha || '\n', (_a = opcoesFormatacao.tamanhoIndentacao) !== null && _a !== void 0 ? _a : 4, {
|
|
15265
|
+
delimitadorTexto: opcoesFormatacao.delimitadorTexto,
|
|
15266
|
+
});
|
|
15267
|
+
return formatador.formatar(declaracoesEstilizadas);
|
|
15268
|
+
}
|
|
15213
15269
|
}
|
|
15214
15270
|
exports.EstilizadorDelegua = EstilizadorDelegua;
|
|
15215
15271
|
|
|
15216
|
-
},{}],125:[function(require,module,exports){
|
|
15272
|
+
},{"../formatadores":134}],125:[function(require,module,exports){
|
|
15217
15273
|
"use strict";
|
|
15218
15274
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
15219
15275
|
if (k2 === undefined) k2 = k;
|
|
@@ -15627,13 +15683,23 @@ const delegua_1 = __importDefault(require("../tipos-de-simbolos/delegua"));
|
|
|
15627
15683
|
* Normalmente usado por IDEs, mas pode ser usado por linha de comando ou programaticamente.
|
|
15628
15684
|
*/
|
|
15629
15685
|
class FormatadorDelegua {
|
|
15630
|
-
constructor(quebraLinha, tamanhoIndentacao = 4) {
|
|
15686
|
+
constructor(quebraLinha, tamanhoIndentacao = 4, opcoes = {}) {
|
|
15631
15687
|
this.quebraLinha = quebraLinha;
|
|
15632
15688
|
this.tamanhoIndentacao = tamanhoIndentacao;
|
|
15633
15689
|
this.indentacaoAtual = 0;
|
|
15634
15690
|
this.codigoFormatado = '';
|
|
15635
15691
|
this.devePularLinha = true;
|
|
15636
15692
|
this.deveIndentar = true;
|
|
15693
|
+
this.delimitadorTexto = opcoes.delimitadorTexto || 'aspas-simples';
|
|
15694
|
+
}
|
|
15695
|
+
obterDelimitadorTexto(expressao) {
|
|
15696
|
+
if (this.delimitadorTexto === 'aspas-duplas') {
|
|
15697
|
+
return '"';
|
|
15698
|
+
}
|
|
15699
|
+
if (this.delimitadorTexto === 'preservar' && expressao.delimitadorTexto) {
|
|
15700
|
+
return expressao.delimitadorTexto;
|
|
15701
|
+
}
|
|
15702
|
+
return "'";
|
|
15637
15703
|
}
|
|
15638
15704
|
/* istanbul ignore next */
|
|
15639
15705
|
visitarExpressaoTuplaN(expressao) {
|
|
@@ -15673,7 +15739,7 @@ class FormatadorDelegua {
|
|
|
15673
15739
|
}
|
|
15674
15740
|
visitarDeclaracaoComentario(declaracao) {
|
|
15675
15741
|
if (declaracao.multilinha) {
|
|
15676
|
-
this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}
|
|
15742
|
+
this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}/*${this.quebraLinha}`;
|
|
15677
15743
|
for (let linhaConteudo of declaracao.conteudo) {
|
|
15678
15744
|
this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)} ${linhaConteudo.replace(/\s+/g, ' ')}${this.quebraLinha}`;
|
|
15679
15745
|
}
|
|
@@ -16132,13 +16198,19 @@ class FormatadorDelegua {
|
|
|
16132
16198
|
}
|
|
16133
16199
|
visitarExpressaoLiteral(expressao) {
|
|
16134
16200
|
if (typeof expressao.valor === 'string') {
|
|
16135
|
-
const
|
|
16201
|
+
const delimitador = this.obterDelimitadorTexto(expressao);
|
|
16202
|
+
let valorTexto = expressao.valor
|
|
16136
16203
|
.replace(/\\/g, '\\\\')
|
|
16137
16204
|
.replace(/\r/g, '\\r')
|
|
16138
16205
|
.replace(/\n/g, '\\n')
|
|
16139
|
-
.replace(/\t/g, '\\t')
|
|
16140
|
-
|
|
16141
|
-
|
|
16206
|
+
.replace(/\t/g, '\\t');
|
|
16207
|
+
if (delimitador === "'") {
|
|
16208
|
+
valorTexto = valorTexto.replace(/'/g, "\\'");
|
|
16209
|
+
}
|
|
16210
|
+
else {
|
|
16211
|
+
valorTexto = valorTexto.replace(/"/g, '\\"');
|
|
16212
|
+
}
|
|
16213
|
+
this.codigoFormatado += `${delimitador}${valorTexto}${delimitador}`;
|
|
16142
16214
|
return;
|
|
16143
16215
|
}
|
|
16144
16216
|
if (['logico', 'lógico'].includes(expressao.tipo)) {
|
|
@@ -16256,6 +16328,9 @@ class FormatadorDelegua {
|
|
|
16256
16328
|
case declaracoes_1.Classe:
|
|
16257
16329
|
this.visitarDeclaracaoClasse(declaracaoOuConstruto);
|
|
16258
16330
|
break;
|
|
16331
|
+
case declaracoes_1.Comentario:
|
|
16332
|
+
this.visitarDeclaracaoComentario(declaracaoOuConstruto);
|
|
16333
|
+
break;
|
|
16259
16334
|
case declaracoes_1.Continua:
|
|
16260
16335
|
this.visitarExpressaoContinua(declaracaoOuConstruto);
|
|
16261
16336
|
break;
|
|
@@ -17158,7 +17233,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17158
17233
|
__exportStar(require("./avaliador-sintatico-interface"), exports);
|
|
17159
17234
|
__exportStar(require("./componente-modulo-classe-interface"), exports);
|
|
17160
17235
|
__exportStar(require("./componente-modulo-funcao-interface"), exports);
|
|
17161
|
-
__exportStar(require("./estilizador-
|
|
17236
|
+
__exportStar(require("./estilizador/estilizador-interface"), exports);
|
|
17162
17237
|
__exportStar(require("./formatador-comum-interface"), exports);
|
|
17163
17238
|
__exportStar(require("./interpretador-com-depuracao-interface"), exports);
|
|
17164
17239
|
__exportStar(require("./interpretador-interface"), exports);
|
|
@@ -17179,7 +17254,7 @@ __exportStar(require("./construtos"), exports);
|
|
|
17179
17254
|
__exportStar(require("./erros"), exports);
|
|
17180
17255
|
__exportStar(require("./retornos"), exports);
|
|
17181
17256
|
|
|
17182
|
-
},{"./avaliador-sintatico-interface":139,"./componente-modulo-classe-interface":140,"./componente-modulo-funcao-interface":141,"./construtos":142,"./erros":146,"./estilizador-
|
|
17257
|
+
},{"./avaliador-sintatico-interface":139,"./componente-modulo-classe-interface":140,"./componente-modulo-funcao-interface":141,"./construtos":142,"./erros":146,"./estilizador/estilizador-interface":147,"./formatador-comum-interface":148,"./interpretador-com-depuracao-interface":150,"./interpretador-interface":151,"./lexador-interface":152,"./modulo-interface":153,"./parametro-interface":154,"./pilha-interface":155,"./primitiva-interface":156,"./resolvedor-interface":157,"./resultado-parcial-interpretador-interface":158,"./retornos":159,"./retornos/retorno-execucao-interface":162,"./simbolo-interface":165,"./tradutor-interface":166,"./variavel-interface":167,"./visitante-comum-interface":168,"./visitante-delegua-interface":169}],150:[function(require,module,exports){
|
|
17183
17258
|
"use strict";
|
|
17184
17259
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17185
17260
|
|
|
@@ -26116,6 +26191,8 @@ class Lexador {
|
|
|
26116
26191
|
if (caractere === delimitador) {
|
|
26117
26192
|
this.avancar();
|
|
26118
26193
|
this.adicionarSimbolo(delegua_1.default.TEXTO, valor);
|
|
26194
|
+
const ultimoSimbolo = this.simbolos[this.simbolos.length - 1];
|
|
26195
|
+
ultimoSimbolo.delimitadorTexto = delimitador;
|
|
26119
26196
|
return;
|
|
26120
26197
|
}
|
|
26121
26198
|
if (caractere === '\0' && this.eUltimaLinha()) {
|
|
@@ -26724,11 +26801,11 @@ function obterMapaLexemaParaParadigma() {
|
|
|
26724
26801
|
*/
|
|
26725
26802
|
function obterFormaAlternativa(lexema, paradigmaAlvo) {
|
|
26726
26803
|
var _a, _b;
|
|
26727
|
-
const
|
|
26804
|
+
const lexemaMinusculo = lexema.toLowerCase();
|
|
26728
26805
|
// Encontra o grupo que contém este lexema
|
|
26729
26806
|
for (const grupo of exports.gruposPalavrasParadigma) {
|
|
26730
|
-
const temImperativo = (_a = grupo.imperativo) === null || _a === void 0 ? void 0 : _a.some((p) => p ===
|
|
26731
|
-
const temInfinitivo = (_b = grupo.infinitivo) === null || _b === void 0 ? void 0 : _b.some((p) => p ===
|
|
26807
|
+
const temImperativo = (_a = grupo.imperativo) === null || _a === void 0 ? void 0 : _a.some((p) => p === lexemaMinusculo);
|
|
26808
|
+
const temInfinitivo = (_b = grupo.infinitivo) === null || _b === void 0 ? void 0 : _b.some((p) => p === lexemaMinusculo);
|
|
26732
26809
|
if (temImperativo || temInfinitivo) {
|
|
26733
26810
|
// Retorna a primeira forma do paradigma alvo
|
|
26734
26811
|
if (paradigmaAlvo === 'imperativo' && grupo.imperativo && grupo.imperativo.length > 0) {
|
|
@@ -27322,7 +27399,7 @@ exports.palavrasReservadasMicroGramatica = {
|
|
|
27322
27399
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27323
27400
|
exports.Simbolo = void 0;
|
|
27324
27401
|
class Simbolo {
|
|
27325
|
-
constructor(tipo, lexema, literal, linha, hashArquivo, colunaInicio = 0, colunaFim = 0) {
|
|
27402
|
+
constructor(tipo, lexema, literal, linha, hashArquivo, colunaInicio = 0, colunaFim = 0, delimitadorTexto) {
|
|
27326
27403
|
this.tipo = tipo;
|
|
27327
27404
|
this.lexema = lexema;
|
|
27328
27405
|
this.literal = literal;
|
|
@@ -27330,6 +27407,7 @@ class Simbolo {
|
|
|
27330
27407
|
this.hashArquivo = hashArquivo;
|
|
27331
27408
|
this.colunaInicio = colunaInicio;
|
|
27332
27409
|
this.colunaFim = colunaFim;
|
|
27410
|
+
this.delimitadorTexto = delimitadorTexto;
|
|
27333
27411
|
}
|
|
27334
27412
|
paraTexto() {
|
|
27335
27413
|
return this.tipo + ' ' + this.lexema + ' ' + this.literal;
|
|
@@ -43460,7 +43538,7 @@ class TradutorAssemblyScript {
|
|
|
43460
43538
|
}
|
|
43461
43539
|
traduzirDeclaracaoTendoComo(declaracaoTendoComo) {
|
|
43462
43540
|
// TendoComo is a resource management pattern (like try-with-resources in Java)
|
|
43463
|
-
// AssemblyScript doesn't have
|
|
43541
|
+
// AssemblyScript doesn't have embutidos support, so we'll just treat it as a scope
|
|
43464
43542
|
let resultado = `// tendo ${declaracaoTendoComo.simboloVariavel.lexema} como recurso\n`;
|
|
43465
43543
|
resultado += ' '.repeat(this.indentacao);
|
|
43466
43544
|
resultado += `let ${declaracaoTendoComo.simboloVariavel.lexema} = `;
|
|
@@ -44809,7 +44887,7 @@ class TradutorElixir {
|
|
|
44809
44887
|
return Promise.resolve(`${objeto}.${metodo}`);
|
|
44810
44888
|
}
|
|
44811
44889
|
/**
|
|
44812
|
-
* Mapeia métodos
|
|
44890
|
+
* Mapeia métodos embutidos de Delégua para Elixir
|
|
44813
44891
|
*/
|
|
44814
44892
|
mapearMetodoBuiltIn(metodo, objeto, argumentos) {
|
|
44815
44893
|
switch (metodo) {
|
|
@@ -44941,7 +45019,7 @@ class TradutorElixir {
|
|
|
44941
45019
|
const acessoMetodo = expressao.entidadeChamada;
|
|
44942
45020
|
const objeto = await acessoMetodo.objeto.aceitar(this);
|
|
44943
45021
|
const metodo = this.converterIdentificador(acessoMetodo.nomeMetodo);
|
|
44944
|
-
// Mapear métodos
|
|
45022
|
+
// Mapear métodos embutidos
|
|
44945
45023
|
const metodoMapeado = this.mapearMetodoBuiltIn(metodo, objeto, argumentos);
|
|
44946
45024
|
if (metodoMapeado) {
|
|
44947
45025
|
return Promise.resolve(metodoMapeado);
|
|
@@ -44953,7 +45031,7 @@ class TradutorElixir {
|
|
|
44953
45031
|
const acesso = expressao.entidadeChamada;
|
|
44954
45032
|
const objeto = await acesso.objeto.aceitar(this);
|
|
44955
45033
|
const simbolo = this.converterIdentificador(acesso.simbolo.lexema);
|
|
44956
|
-
// Mapear métodos
|
|
45034
|
+
// Mapear métodos embutidos
|
|
44957
45035
|
const metodoMapeado = this.mapearMetodoBuiltIn(simbolo, objeto, argumentos);
|
|
44958
45036
|
if (metodoMapeado) {
|
|
44959
45037
|
return Promise.resolve(metodoMapeado);
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { Declaracao } from '../declaracoes/declaracao';
|
|
2
|
-
import { Construto } from '../construtos';
|
|
3
|
-
/**
|
|
4
|
-
* Define uma regra de transformação/estilização de código.
|
|
5
|
-
*/
|
|
6
|
-
export interface RegraEstilizacao {
|
|
7
|
-
/**
|
|
8
|
-
* Nome da regra para identificação e logs.
|
|
9
|
-
*/
|
|
10
|
-
nome: string;
|
|
11
|
-
/**
|
|
12
|
-
* Descrição do que a regra faz.
|
|
13
|
-
*/
|
|
14
|
-
descricao: string;
|
|
15
|
-
/**
|
|
16
|
-
* Aplica a regra em uma declaração.
|
|
17
|
-
* @param declaracao A declaração a ser verificada/transformada.
|
|
18
|
-
* @returns A declaração (modificada ou não).
|
|
19
|
-
*/
|
|
20
|
-
aplicarEmDeclaracao?(declaracao: Declaracao): Declaracao;
|
|
21
|
-
/**
|
|
22
|
-
* Aplica a regra em um construto.
|
|
23
|
-
* @param construto O construto a ser verificado/transformado.
|
|
24
|
-
* @returns O construto (modificado ou não).
|
|
25
|
-
*/
|
|
26
|
-
aplicarEmConstruto?(construto: Construto): Construto;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Interface base para estilizadores de código.
|
|
30
|
-
* Um estilizador aplica transformações no AST para enforcar convenções e melhorar a qualidade do código.
|
|
31
|
-
*/
|
|
32
|
-
export interface EstilizadorComumInterface {
|
|
33
|
-
/**
|
|
34
|
-
* Regras de estilização ativas.
|
|
35
|
-
*/
|
|
36
|
-
regras: RegraEstilizacao[];
|
|
37
|
-
/**
|
|
38
|
-
* Adiciona uma regra de estilização.
|
|
39
|
-
* @param regra A regra a ser adicionada.
|
|
40
|
-
*/
|
|
41
|
-
adicionarRegra(regra: RegraEstilizacao): void;
|
|
42
|
-
/**
|
|
43
|
-
* Remove uma regra de estilização pelo nome.
|
|
44
|
-
* @param nomeRegra O nome da regra a ser removida.
|
|
45
|
-
*/
|
|
46
|
-
removerRegra(nomeRegra: string): void;
|
|
47
|
-
/**
|
|
48
|
-
* Aplica as regras de estilização em um conjunto de declarações.
|
|
49
|
-
* @param declaracoes As declarações a serem estilizadas.
|
|
50
|
-
* @returns As declarações estilizadas (modificadas ou não).
|
|
51
|
-
*/
|
|
52
|
-
estilizar(declaracoes: Declaracao[]): Declaracao[];
|
|
53
|
-
/**
|
|
54
|
-
* Valida se o código atende todas as regras sem aplicar transformações.
|
|
55
|
-
* @param declaracoes As declarações a serem validadas.
|
|
56
|
-
* @returns Array de violações encontradas.
|
|
57
|
-
*/
|
|
58
|
-
validar(declaracoes: Declaracao[]): ViolacaoEstilo[];
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Representa uma violação de estilo encontrada.
|
|
62
|
-
*/
|
|
63
|
-
export interface ViolacaoEstilo {
|
|
64
|
-
/**
|
|
65
|
-
* Nome da regra violada.
|
|
66
|
-
*/
|
|
67
|
-
regra: string;
|
|
68
|
-
/**
|
|
69
|
-
* Mensagem descritiva da violação.
|
|
70
|
-
*/
|
|
71
|
-
mensagem: string;
|
|
72
|
-
/**
|
|
73
|
-
* Linha onde a violação ocorreu.
|
|
74
|
-
*/
|
|
75
|
-
linha: number;
|
|
76
|
-
/**
|
|
77
|
-
* Hash do arquivo onde a violação ocorreu.
|
|
78
|
-
*/
|
|
79
|
-
hashArquivo: number;
|
|
80
|
-
/**
|
|
81
|
-
* Severidade da violação.
|
|
82
|
-
*/
|
|
83
|
-
severidade: 'erro' | 'aviso' | 'informacao';
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=estilizador-comum-interface.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"estilizador-comum-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/estilizador-comum-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,mBAAmB,CAAC,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC;IAEzD;;;;OAIG;IACH,kBAAkB,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;CACxD;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAE3B;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAE9C;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC;;;;OAIG;IACH,SAAS,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC;IAEnD;;;;OAIG;IACH,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,cAAc,EAAE,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;CAC/C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"estilizador-comum-interface.js","sourceRoot":"","sources":["../../fontes/interfaces/estilizador-comum-interface.ts"],"names":[],"mappings":""}
|