@designliquido/delegua 0.7.6 → 0.8.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/bin/package.json +78 -65
- package/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +63 -0
- package/fontes/avaliador-sintatico/avaliador-sintatico-base.js +180 -0
- package/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -0
- package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +5 -4
- package/fontes/avaliador-sintatico/avaliador-sintatico.js +189 -188
- package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts +34 -32
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +154 -148
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.d.ts +13 -12
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js +144 -142
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.d.ts +48 -0
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js +297 -0
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js.map +1 -0
- package/fontes/avaliador-sintatico/erro-avaliador-sintatico.d.ts +1 -1
- package/fontes/avaliador-sintatico/retornos/index.d.ts +3 -0
- package/fontes/avaliador-sintatico/retornos/index.js +20 -0
- package/fontes/avaliador-sintatico/retornos/index.js.map +1 -0
- package/fontes/avaliador-sintatico/retornos/retorno-declaracao.d.ts +3 -0
- package/fontes/avaliador-sintatico/retornos/retorno-declaracao.js +3 -0
- package/fontes/avaliador-sintatico/retornos/retorno-declaracao.js.map +1 -0
- package/fontes/avaliador-sintatico/retornos/retorno-primario.d.ts +3 -0
- package/fontes/avaliador-sintatico/retornos/retorno-primario.js +3 -0
- package/fontes/avaliador-sintatico/retornos/retorno-primario.js.map +1 -0
- package/fontes/avaliador-sintatico/retornos/retorno-resolver-declaracao.d.ts +2 -0
- package/fontes/avaliador-sintatico/retornos/retorno-resolver-declaracao.js +3 -0
- package/fontes/avaliador-sintatico/retornos/retorno-resolver-declaracao.js.map +1 -0
- package/fontes/bibliotecas/biblioteca-global.d.ts +2 -2
- package/fontes/bibliotecas/biblioteca-global.js +112 -57
- package/fontes/bibliotecas/biblioteca-global.js.map +1 -1
- package/fontes/bibliotecas/importar-biblioteca.d.ts +1 -1
- package/fontes/bibliotecas/importar-biblioteca.js +13 -14
- package/fontes/bibliotecas/importar-biblioteca.js.map +1 -1
- package/fontes/bibliotecas/primitivas-texto.js +13 -7
- package/fontes/bibliotecas/primitivas-texto.js.map +1 -1
- package/fontes/bibliotecas/primitivas-vetor.js +25 -11
- package/fontes/bibliotecas/primitivas-vetor.js.map +1 -1
- package/fontes/construtos/acesso-indice-variavel.d.ts +2 -2
- package/fontes/construtos/acesso-indice-variavel.js.map +1 -1
- package/fontes/construtos/acesso-metodo.d.ts +2 -2
- package/fontes/construtos/acesso-metodo.js.map +1 -1
- package/fontes/construtos/agrupamento.d.ts +2 -2
- package/fontes/construtos/atribuicao-sobrescrita.d.ts +1 -1
- package/fontes/construtos/atribuicao-sobrescrita.js.map +1 -1
- package/fontes/construtos/atribuir.d.ts +2 -2
- package/fontes/construtos/atribuir.js.map +1 -1
- package/fontes/construtos/binario.d.ts +2 -2
- package/fontes/construtos/binario.js.map +1 -1
- package/fontes/construtos/chamada.d.ts +2 -2
- package/fontes/construtos/chamada.js.map +1 -1
- package/fontes/construtos/conjunto.d.ts +1 -1
- package/fontes/construtos/conjunto.js.map +1 -1
- package/fontes/construtos/construto.d.ts +1 -0
- package/fontes/construtos/dicionario.d.ts +1 -1
- package/fontes/construtos/dicionario.js.map +1 -1
- package/fontes/construtos/funcao.d.ts +2 -2
- package/fontes/construtos/funcao.js.map +1 -1
- package/fontes/construtos/index.d.ts +18 -18
- package/fontes/construtos/isto.d.ts +1 -1
- package/fontes/construtos/isto.js.map +1 -1
- package/fontes/construtos/literal.d.ts +5 -4
- package/fontes/construtos/literal.js.map +1 -1
- package/fontes/construtos/logico.d.ts +1 -1
- package/fontes/construtos/logico.js.map +1 -1
- package/fontes/construtos/super.d.ts +4 -4
- package/fontes/construtos/super.js.map +1 -1
- package/fontes/construtos/unario.d.ts +1 -1
- package/fontes/construtos/unario.js.map +1 -1
- package/fontes/construtos/variavel.d.ts +2 -2
- package/fontes/construtos/variavel.js.map +1 -1
- package/fontes/construtos/vetor.d.ts +3 -3
- package/fontes/construtos/vetor.js.map +1 -1
- package/fontes/declaracoes/bloco.d.ts +4 -4
- package/fontes/declaracoes/bloco.js.map +1 -1
- package/fontes/declaracoes/classe.d.ts +2 -2
- package/fontes/declaracoes/classe.js.map +1 -1
- package/fontes/declaracoes/continua.d.ts +2 -2
- package/fontes/declaracoes/continua.js.map +1 -1
- package/fontes/declaracoes/declaracao.js +2 -2
- package/fontes/declaracoes/declaracao.js.map +1 -1
- package/fontes/declaracoes/enquanto.d.ts +2 -2
- package/fontes/declaracoes/enquanto.js.map +1 -1
- package/fontes/declaracoes/escolha.d.ts +7 -4
- package/fontes/declaracoes/escolha.js +6 -3
- package/fontes/declaracoes/escolha.js.map +1 -1
- package/fontes/declaracoes/escreva.d.ts +3 -3
- package/fontes/declaracoes/escreva.js.map +1 -1
- package/fontes/declaracoes/expressao.d.ts +3 -3
- package/fontes/declaracoes/expressao.js.map +1 -1
- package/fontes/declaracoes/fazer.d.ts +1 -1
- package/fontes/declaracoes/fazer.js.map +1 -1
- package/fontes/declaracoes/funcao.d.ts +2 -2
- package/fontes/declaracoes/funcao.js.map +1 -1
- package/fontes/declaracoes/importar.d.ts +2 -2
- package/fontes/declaracoes/importar.js.map +1 -1
- package/fontes/declaracoes/index.d.ts +1 -0
- package/fontes/declaracoes/index.js +1 -0
- package/fontes/declaracoes/index.js.map +1 -1
- package/fontes/declaracoes/leia.d.ts +12 -0
- package/fontes/declaracoes/leia.js +37 -0
- package/fontes/declaracoes/leia.js.map +1 -0
- package/fontes/declaracoes/para.d.ts +1 -1
- package/fontes/declaracoes/para.js.map +1 -1
- package/fontes/declaracoes/retorna.d.ts +2 -2
- package/fontes/declaracoes/retorna.js.map +1 -1
- package/fontes/declaracoes/se.d.ts +2 -2
- package/fontes/declaracoes/se.js.map +1 -1
- package/fontes/declaracoes/sustar.d.ts +2 -2
- package/fontes/declaracoes/sustar.js.map +1 -1
- package/fontes/declaracoes/tente.d.ts +2 -2
- package/fontes/declaracoes/tente.js.map +1 -1
- package/fontes/declaracoes/var.d.ts +5 -4
- package/fontes/declaracoes/var.js.map +1 -1
- package/fontes/delegua.d.ts +3 -3
- package/fontes/delegua.js +38 -22
- package/fontes/delegua.js.map +1 -1
- package/fontes/depuracao/cyrb53.js +6 -3
- package/fontes/depuracao/cyrb53.js.map +1 -1
- package/fontes/depuracao/servidor-depuracao.js +84 -46
- package/fontes/depuracao/servidor-depuracao.js.map +1 -1
- package/fontes/espaco-variaveis.d.ts +1 -1
- package/fontes/espaco-variaveis.js +0 -1
- package/fontes/espaco-variaveis.js.map +1 -1
- package/fontes/estruturas/chamavel.js +1 -1
- package/fontes/estruturas/classe-padrao.d.ts +1 -1
- package/fontes/estruturas/classe-padrao.js.map +1 -1
- package/fontes/estruturas/delegua-classe.d.ts +4 -4
- package/fontes/estruturas/delegua-classe.js +5 -3
- package/fontes/estruturas/delegua-classe.js.map +1 -1
- package/fontes/estruturas/funcao-padrao.d.ts +1 -1
- package/fontes/estruturas/funcao-padrao.js +1 -1
- package/fontes/estruturas/funcao.d.ts +4 -4
- package/fontes/estruturas/funcao.js +9 -4
- package/fontes/estruturas/funcao.js.map +1 -1
- package/fontes/estruturas/index.d.ts +9 -9
- package/fontes/estruturas/metodo-primitiva.d.ts +1 -1
- package/fontes/estruturas/modulo.d.ts +1 -1
- package/fontes/estruturas/modulo.js +1 -1
- package/fontes/estruturas/objeto-delegua-classe.d.ts +2 -2
- package/fontes/estruturas/objeto-delegua-classe.js +2 -2
- package/fontes/estruturas/objeto-delegua-classe.js.map +1 -1
- package/fontes/estruturas/objeto-padrao.js.map +1 -1
- package/fontes/excecoes/erro-em-tempo-de-execucao.d.ts +1 -1
- package/fontes/excecoes/erro-em-tempo-de-execucao.js.map +1 -1
- package/fontes/excecoes/index.d.ts +1 -1
- package/fontes/importador/importador.d.ts +1 -1
- package/fontes/importador/importador.js +3 -2
- package/fontes/importador/importador.js.map +1 -1
- package/fontes/importador/retorno-importador.d.ts +2 -2
- package/fontes/interfaces/avaliador-sintatico-interface.d.ts +3 -5
- package/fontes/interfaces/delegua-interface.d.ts +2 -2
- package/fontes/interfaces/escopo-execucao.d.ts +2 -2
- package/fontes/interfaces/importador-interface.d.ts +1 -1
- package/fontes/interfaces/interpretador-com-depuracao-interface.d.ts +3 -3
- package/fontes/interfaces/interpretador-interface.d.ts +8 -7
- package/fontes/interfaces/lexador-interface.d.ts +4 -4
- package/fontes/interfaces/parametro-interface.d.ts +1 -1
- package/fontes/interfaces/pilha-escopos-execucao-interface.d.ts +5 -5
- package/fontes/interfaces/resolvedor-interface.d.ts +5 -5
- package/fontes/interfaces/retornos/retorno-avaliador-sintatico.d.ts +2 -2
- package/fontes/interfaces/retornos/retorno-execucao-interface.d.ts +1 -1
- package/fontes/interfaces/retornos/retorno-interpretador.d.ts +1 -1
- package/fontes/interfaces/retornos/retorno-lexador.d.ts +3 -3
- package/fontes/interfaces/variavel-interface.d.ts +1 -1
- package/fontes/interpretador/dialetos/egua-classico.d.ts +2 -1
- package/fontes/interpretador/dialetos/egua-classico.js +75 -47
- package/fontes/interpretador/dialetos/egua-classico.js.map +1 -1
- package/fontes/interpretador/dialetos/index.js.map +1 -1
- package/fontes/interpretador/erro-interpretador.d.ts +1 -1
- package/fontes/interpretador/inferenciador.js.map +1 -1
- package/fontes/interpretador/interpretador-com-depuracao.js +5 -3
- package/fontes/interpretador/interpretador-com-depuracao.js.map +1 -1
- package/fontes/interpretador/interpretador.d.ts +10 -4
- package/fontes/interpretador/interpretador.js +57 -47
- package/fontes/interpretador/interpretador.js.map +1 -1
- package/fontes/interpretador/pilha-escopos-execucao.js +16 -5
- package/fontes/interpretador/pilha-escopos-execucao.js.map +1 -1
- package/fontes/lexador/dialetos/index.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-birl.d.ts +25 -0
- package/fontes/lexador/dialetos/lexador-birl.js +75 -0
- package/fontes/lexador/dialetos/lexador-birl.js.map +1 -0
- package/fontes/lexador/dialetos/lexador-egua-classico.js +38 -38
- package/fontes/lexador/dialetos/lexador-egua-classico.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-eguap.d.ts +4 -4
- package/fontes/lexador/dialetos/lexador-eguap.js +50 -44
- package/fontes/lexador/dialetos/lexador-eguap.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-visualg.d.ts +16 -0
- package/fontes/lexador/dialetos/lexador-visualg.js +227 -0
- package/fontes/lexador/dialetos/lexador-visualg.js.map +1 -0
- package/fontes/lexador/dialetos/palavras-reservadas/birl.d.ts +2 -0
- package/fontes/lexador/dialetos/palavras-reservadas/birl.js +4 -0
- package/fontes/lexador/dialetos/palavras-reservadas/birl.js.map +1 -0
- package/fontes/lexador/dialetos/palavras-reservadas/visualg.d.ts +26 -0
- package/fontes/lexador/dialetos/palavras-reservadas/visualg.js +32 -0
- package/fontes/lexador/dialetos/palavras-reservadas/visualg.js.map +1 -0
- package/fontes/lexador/lexador-base-linha-unica.d.ts +33 -0
- package/fontes/lexador/lexador-base-linha-unica.js +92 -0
- package/fontes/lexador/lexador-base-linha-unica.js.map +1 -0
- package/fontes/lexador/lexador.d.ts +3 -3
- package/fontes/lexador/lexador.js +43 -43
- package/fontes/lexador/lexador.js.map +1 -1
- package/fontes/lexador/palavras-reservadas.js +33 -33
- package/fontes/lexador/palavras-reservadas.js.map +1 -1
- package/fontes/lexador/simbolo.d.ts +1 -1
- package/fontes/lexador/simbolo.js +1 -1
- package/fontes/lexador/simbolo.js.map +1 -1
- package/fontes/quebras/index.js.map +1 -1
- package/fontes/resolvedor/dialetos/egua-classico.js +1 -1
- package/fontes/resolvedor/dialetos/egua-classico.js.map +1 -1
- package/fontes/resolvedor/dialetos/index.js.map +1 -1
- package/fontes/resolvedor/erro-resolvedor.d.ts +1 -1
- package/fontes/resolvedor/pilha-escopos.d.ts +1 -1
- package/fontes/resolvedor/pilha-escopos.js +2 -2
- package/fontes/resolvedor/pilha-escopos.js.map +1 -1
- package/fontes/resolvedor/retorno-resolvedor.d.ts +2 -2
- package/fontes/tipos-de-simbolos/birl.d.ts +18 -0
- package/fontes/tipos-de-simbolos/birl.js +21 -0
- package/fontes/tipos-de-simbolos/birl.js.map +1 -0
- package/fontes/tipos-de-simbolos/comum.d.ts +18 -0
- package/fontes/tipos-de-simbolos/comum.js +20 -0
- package/fontes/tipos-de-simbolos/comum.js.map +1 -0
- package/fontes/{tipos-de-simbolos.d.ts → tipos-de-simbolos/delegua.d.ts} +0 -0
- package/fontes/tipos-de-simbolos/delegua.js +78 -0
- package/fontes/tipos-de-simbolos/delegua.js.map +1 -0
- package/fontes/{lexador/dialetos/tipos-de-simbolos-eguap.d.ts → tipos-de-simbolos/eguap.d.ts} +0 -0
- package/fontes/tipos-de-simbolos/eguap.js +74 -0
- package/fontes/tipos-de-simbolos/eguap.js.map +1 -0
- package/fontes/tipos-de-simbolos/visualg.d.ts +47 -0
- package/fontes/tipos-de-simbolos/visualg.js +49 -0
- package/fontes/tipos-de-simbolos/visualg.js.map +1 -0
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/jest.config.js +2 -2
- package/jest.config.js.map +1 -1
- package/package.json +78 -65
- package/testes/avaliador-sintatico.test.js +5 -5
- package/testes/avaliador-sintatico.test.js.map +1 -1
- package/testes/egua-classico/avaliador-sintatico.test.js +4 -1
- package/testes/egua-classico/avaliador-sintatico.test.js.map +1 -1
- package/testes/egua-classico/delegua.test.js.map +1 -1
- package/testes/egua-classico/resolvedor.test.js.map +1 -1
- package/testes/eguap/avaliador-sintatico.test.js +1 -5
- package/testes/eguap/avaliador-sintatico.test.js.map +1 -1
- package/testes/eguap/lexador.test.js +1 -1
- package/testes/eguap/lexador.test.js.map +1 -1
- package/testes/interpretador.test.js +48 -0
- package/testes/interpretador.test.js.map +1 -1
- package/testes/lexador.test.js +45 -45
- package/testes/lexador.test.js.map +1 -1
- package/testes/visualg/avaliador-sintatico.test.d.ts +1 -0
- package/testes/visualg/avaliador-sintatico.test.js +113 -0
- package/testes/visualg/avaliador-sintatico.test.js.map +1 -0
- package/testes/visualg/lexador.test.d.ts +1 -0
- package/testes/visualg/lexador.test.js +67 -0
- package/testes/visualg/lexador.test.js.map +1 -0
- package/fontes/lexador/dialetos/tipos-de-simbolos-eguap.js +0 -74
- package/fontes/lexador/dialetos/tipos-de-simbolos-eguap.js.map +0 -1
- package/fontes/tipos-de-simbolos.js +0 -78
- package/fontes/tipos-de-simbolos.js.map +0 -1
|
@@ -29,7 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
exports.Interpretador = void 0;
|
|
30
30
|
var caminho = __importStar(require("path"));
|
|
31
31
|
var browser_process_hrtime_1 = __importDefault(require("browser-process-hrtime"));
|
|
32
|
-
var
|
|
32
|
+
var delegua_1 = __importDefault(require("../tipos-de-simbolos/delegua"));
|
|
33
33
|
var espaco_variaveis_1 = require("../espaco-variaveis");
|
|
34
34
|
var biblioteca_global_1 = __importDefault(require("../bibliotecas/biblioteca-global"));
|
|
35
35
|
var importar_biblioteca_1 = __importDefault(require("../bibliotecas/importar-biblioteca"));
|
|
@@ -50,7 +50,7 @@ var Interpretador = /** @class */ (function () {
|
|
|
50
50
|
if (performance === void 0) { performance = false; }
|
|
51
51
|
this.funcaoDeRetorno = null;
|
|
52
52
|
this.resultadoInterpretador = [];
|
|
53
|
-
this.regexInterpolacao = /\$\{([a-z_][\w]*)\}/
|
|
53
|
+
this.regexInterpolacao = /\$\{([a-z_][\w]*)\}/gi;
|
|
54
54
|
this.importador = importador;
|
|
55
55
|
this.diretorioBase = diretorioBase;
|
|
56
56
|
this.performance = performance;
|
|
@@ -66,6 +66,14 @@ var Interpretador = /** @class */ (function () {
|
|
|
66
66
|
this.pilhaEscoposExecucao.empilhar(escopoExecucao);
|
|
67
67
|
(0, biblioteca_global_1.default)(this, this.pilhaEscoposExecucao);
|
|
68
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Execução da leitura de valores da entrada configurada no
|
|
71
|
+
* início da aplicação.
|
|
72
|
+
* @param expressao
|
|
73
|
+
*/
|
|
74
|
+
Interpretador.prototype.visitarExpressaoLeia = function (expressao) {
|
|
75
|
+
throw new Error('Método não implementado.');
|
|
76
|
+
};
|
|
69
77
|
/**
|
|
70
78
|
* Retira a interpolação de um texto.
|
|
71
79
|
* @param {texto} texto O texto
|
|
@@ -99,7 +107,7 @@ var Interpretador = /** @class */ (function () {
|
|
|
99
107
|
var nomeVariavel = s.replace(/[\$\{\}]*/g, '');
|
|
100
108
|
return {
|
|
101
109
|
variavel: nomeVariavel,
|
|
102
|
-
valor: _this.pilhaEscoposExecucao.obterVariavelPorNome(nomeVariavel)
|
|
110
|
+
valor: _this.pilhaEscoposExecucao.obterVariavelPorNome(nomeVariavel),
|
|
103
111
|
};
|
|
104
112
|
});
|
|
105
113
|
};
|
|
@@ -131,12 +139,12 @@ var Interpretador = /** @class */ (function () {
|
|
|
131
139
|
Interpretador.prototype.visitarExpressaoUnaria = function (expressao) {
|
|
132
140
|
var direita = this.avaliar(expressao.direita);
|
|
133
141
|
switch (expressao.operador.tipo) {
|
|
134
|
-
case
|
|
142
|
+
case delegua_1.default.SUBTRACAO:
|
|
135
143
|
this.verificarOperandoNumero(expressao.operador, direita);
|
|
136
144
|
return -direita;
|
|
137
|
-
case
|
|
145
|
+
case delegua_1.default.NEGACAO:
|
|
138
146
|
return !this.eVerdadeiro(direita);
|
|
139
|
-
case
|
|
147
|
+
case delegua_1.default.BIT_NOT:
|
|
140
148
|
return ~direita;
|
|
141
149
|
}
|
|
142
150
|
return null;
|
|
@@ -196,66 +204,65 @@ var Interpretador = /** @class */ (function () {
|
|
|
196
204
|
? direita.tipo
|
|
197
205
|
: (0, inferenciador_1.inferirTipoVariavel)(direita);
|
|
198
206
|
switch (expressao.operador.tipo) {
|
|
199
|
-
case
|
|
207
|
+
case delegua_1.default.EXPONENCIACAO:
|
|
200
208
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
201
209
|
return Math.pow(valorEsquerdo, valorDireito);
|
|
202
|
-
case
|
|
210
|
+
case delegua_1.default.MAIOR:
|
|
203
211
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
204
212
|
return Number(valorEsquerdo) > Number(valorDireito);
|
|
205
|
-
case
|
|
213
|
+
case delegua_1.default.MAIOR_IGUAL:
|
|
206
214
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
207
215
|
return Number(valorEsquerdo) >= Number(valorDireito);
|
|
208
|
-
case
|
|
216
|
+
case delegua_1.default.MENOR:
|
|
209
217
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
210
218
|
return Number(valorEsquerdo) < Number(valorDireito);
|
|
211
|
-
case
|
|
219
|
+
case delegua_1.default.MENOR_IGUAL:
|
|
212
220
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
213
221
|
return Number(valorEsquerdo) <= Number(valorDireito);
|
|
214
|
-
case
|
|
215
|
-
case
|
|
222
|
+
case delegua_1.default.SUBTRACAO:
|
|
223
|
+
case delegua_1.default.MENOS_IGUAL:
|
|
216
224
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
217
225
|
return Number(valorEsquerdo) - Number(valorDireito);
|
|
218
|
-
case
|
|
219
|
-
case
|
|
226
|
+
case delegua_1.default.ADICAO:
|
|
227
|
+
case delegua_1.default.MAIS_IGUAL:
|
|
220
228
|
if (tipoEsquerdo === 'número' && tipoDireito === 'número') {
|
|
221
229
|
return Number(valorEsquerdo) + Number(valorDireito);
|
|
222
230
|
}
|
|
223
231
|
else {
|
|
224
232
|
return String(valorEsquerdo) + String(valorDireito);
|
|
225
233
|
}
|
|
226
|
-
case
|
|
227
|
-
case
|
|
234
|
+
case delegua_1.default.DIVISAO:
|
|
235
|
+
case delegua_1.default.DIVISAO_IGUAL:
|
|
228
236
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
229
237
|
return Number(valorEsquerdo) / Number(valorDireito);
|
|
230
|
-
case
|
|
231
|
-
case
|
|
238
|
+
case delegua_1.default.MULTIPLICACAO:
|
|
239
|
+
case delegua_1.default.MULTIPLICACAO_IGUAL:
|
|
232
240
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
233
241
|
return Number(valorEsquerdo) * Number(valorDireito);
|
|
234
|
-
case
|
|
235
|
-
case
|
|
242
|
+
case delegua_1.default.MODULO:
|
|
243
|
+
case delegua_1.default.MODULO_IGUAL:
|
|
236
244
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
237
245
|
return Number(valorEsquerdo) % Number(valorDireito);
|
|
238
|
-
case
|
|
246
|
+
case delegua_1.default.BIT_AND:
|
|
239
247
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
240
248
|
return Number(valorEsquerdo) & Number(valorDireito);
|
|
241
|
-
case
|
|
249
|
+
case delegua_1.default.BIT_XOR:
|
|
242
250
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
243
251
|
return Number(valorEsquerdo) ^ Number(valorDireito);
|
|
244
|
-
case
|
|
252
|
+
case delegua_1.default.BIT_OR:
|
|
245
253
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
246
254
|
return Number(valorEsquerdo) | Number(valorDireito);
|
|
247
|
-
case
|
|
255
|
+
case delegua_1.default.MENOR_MENOR:
|
|
248
256
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
249
257
|
return Number(valorEsquerdo) << Number(valorDireito);
|
|
250
|
-
case
|
|
258
|
+
case delegua_1.default.MAIOR_MAIOR:
|
|
251
259
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
252
260
|
return Number(valorEsquerdo) >> Number(valorDireito);
|
|
253
|
-
case
|
|
261
|
+
case delegua_1.default.DIFERENTE:
|
|
254
262
|
return !this.eIgual(valorEsquerdo, valorDireito);
|
|
255
|
-
case
|
|
263
|
+
case delegua_1.default.IGUAL_IGUAL:
|
|
256
264
|
return this.eIgual(valorEsquerdo, valorDireito);
|
|
257
265
|
}
|
|
258
|
-
return null;
|
|
259
266
|
};
|
|
260
267
|
/**
|
|
261
268
|
* Executa uma chamada de função, método ou classe.
|
|
@@ -344,7 +351,7 @@ var Interpretador = /** @class */ (function () {
|
|
|
344
351
|
};
|
|
345
352
|
Interpretador.prototype.visitarExpressaoLogica = function (expressao) {
|
|
346
353
|
var esquerda = this.avaliar(expressao.esquerda);
|
|
347
|
-
if (expressao.operador.tipo ===
|
|
354
|
+
if (expressao.operador.tipo === delegua_1.default.EM) {
|
|
348
355
|
var direita = this.avaliar(expressao.direita);
|
|
349
356
|
if (Array.isArray(direita) || typeof direita === 'string') {
|
|
350
357
|
return direita.includes(esquerda);
|
|
@@ -357,12 +364,12 @@ var Interpretador = /** @class */ (function () {
|
|
|
357
364
|
}
|
|
358
365
|
}
|
|
359
366
|
// se um estado for verdadeiro, retorna verdadeiro
|
|
360
|
-
if (expressao.operador.tipo ===
|
|
367
|
+
if (expressao.operador.tipo === delegua_1.default.OU) {
|
|
361
368
|
if (this.eVerdadeiro(esquerda))
|
|
362
369
|
return esquerda;
|
|
363
370
|
}
|
|
364
371
|
// se um estado for falso, retorna falso
|
|
365
|
-
if (expressao.operador.tipo ===
|
|
372
|
+
if (expressao.operador.tipo === delegua_1.default.E) {
|
|
366
373
|
if (!this.eVerdadeiro(esquerda))
|
|
367
374
|
return esquerda;
|
|
368
375
|
}
|
|
@@ -424,7 +431,7 @@ var Interpretador = /** @class */ (function () {
|
|
|
424
431
|
this.eVerdadeiro(this.avaliar(declaracao.condicaoEnquanto)));
|
|
425
432
|
};
|
|
426
433
|
Interpretador.prototype.visitarExpressaoEscolha = function (declaracao) {
|
|
427
|
-
var condicaoEscolha = this.avaliar(declaracao.
|
|
434
|
+
var condicaoEscolha = this.avaliar(declaracao.identificadorOuLiteral);
|
|
428
435
|
var caminhos = declaracao.caminhos;
|
|
429
436
|
var caminhoPadrao = declaracao.caminhoPadrao;
|
|
430
437
|
var encontrado = false;
|
|
@@ -577,7 +584,9 @@ var Interpretador = /** @class */ (function () {
|
|
|
577
584
|
if (declaracao.inicializador !== null) {
|
|
578
585
|
valorOuOutraVariavel = this.avaliar(declaracao.inicializador);
|
|
579
586
|
}
|
|
580
|
-
this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, valorOuOutraVariavel.hasOwnProperty('valor')
|
|
587
|
+
this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, valorOuOutraVariavel.hasOwnProperty('valor')
|
|
588
|
+
? valorOuOutraVariavel.valor
|
|
589
|
+
: valorOuOutraVariavel);
|
|
581
590
|
return null;
|
|
582
591
|
};
|
|
583
592
|
Interpretador.prototype.visitarExpressaoContinua = function (declaracao) {
|
|
@@ -627,40 +636,41 @@ var Interpretador = /** @class */ (function () {
|
|
|
627
636
|
? variavelObjeto.valor
|
|
628
637
|
: variavelObjeto;
|
|
629
638
|
var indice = this.avaliar(expressao.indice);
|
|
639
|
+
var valorIndice = indice.hasOwnProperty('valor') ? indice.valor : indice;
|
|
630
640
|
if (Array.isArray(objeto)) {
|
|
631
|
-
if (!Number.isInteger(
|
|
641
|
+
if (!Number.isInteger(valorIndice)) {
|
|
632
642
|
throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, 'Somente inteiros podem ser usados para indexar um vetor.', expressao.linha);
|
|
633
643
|
}
|
|
634
|
-
if (
|
|
635
|
-
while (
|
|
636
|
-
|
|
644
|
+
if (valorIndice < 0 && objeto.length !== 0) {
|
|
645
|
+
while (valorIndice < 0) {
|
|
646
|
+
valorIndice += objeto.length;
|
|
637
647
|
}
|
|
638
648
|
}
|
|
639
|
-
if (
|
|
649
|
+
if (valorIndice >= objeto.length) {
|
|
640
650
|
throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, 'Índice do vetor fora do intervalo.', expressao.linha);
|
|
641
651
|
}
|
|
642
|
-
return objeto[
|
|
652
|
+
return objeto[valorIndice];
|
|
643
653
|
}
|
|
644
654
|
else if (objeto.constructor === Object ||
|
|
645
655
|
objeto instanceof estruturas_1.ObjetoDeleguaClasse ||
|
|
646
656
|
objeto instanceof estruturas_1.DeleguaFuncao ||
|
|
647
657
|
objeto instanceof estruturas_1.DeleguaClasse ||
|
|
648
658
|
objeto instanceof estruturas_1.DeleguaModulo) {
|
|
649
|
-
return objeto[
|
|
659
|
+
return objeto[valorIndice] || null;
|
|
650
660
|
}
|
|
651
661
|
else if (typeof objeto === 'string') {
|
|
652
|
-
if (!Number.isInteger(
|
|
662
|
+
if (!Number.isInteger(valorIndice)) {
|
|
653
663
|
throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, 'Somente inteiros podem ser usados para indexar um vetor.', expressao.linha);
|
|
654
664
|
}
|
|
655
|
-
if (
|
|
656
|
-
while (
|
|
657
|
-
|
|
665
|
+
if (valorIndice < 0 && objeto.length !== 0) {
|
|
666
|
+
while (valorIndice < 0) {
|
|
667
|
+
valorIndice += objeto.length;
|
|
658
668
|
}
|
|
659
669
|
}
|
|
660
|
-
if (
|
|
670
|
+
if (valorIndice >= objeto.length) {
|
|
661
671
|
throw new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, 'Índice fora do tamanho.', expressao.linha);
|
|
662
672
|
}
|
|
663
|
-
return objeto.charAt(
|
|
673
|
+
return objeto.charAt(valorIndice);
|
|
664
674
|
}
|
|
665
675
|
else {
|
|
666
676
|
throw new excecoes_1.ErroEmTempoDeExecucao(expressao.entidadeChamada.nome, 'Somente listas, dicionários, classes e objetos podem ser mudados por sobrescrita.', expressao.linha);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador.js","sourceRoot":"","sources":["../../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interpretador.js","sourceRoot":"","sources":["../../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ var PilhaEscoposExecucao = /** @class */ (function () {
|
|
|
23
23
|
};
|
|
24
24
|
PilhaEscoposExecucao.prototype.topoDaPilha = function () {
|
|
25
25
|
if (this.eVazio())
|
|
26
|
-
throw new Error(
|
|
26
|
+
throw new Error('Pilha vazia.');
|
|
27
27
|
return this.pilha[this.pilha.length - 1];
|
|
28
28
|
};
|
|
29
29
|
PilhaEscoposExecucao.prototype.removerUltimo = function () {
|
|
@@ -32,17 +32,26 @@ var PilhaEscoposExecucao = /** @class */ (function () {
|
|
|
32
32
|
return this.pilha.pop();
|
|
33
33
|
};
|
|
34
34
|
PilhaEscoposExecucao.prototype.definirVariavel = function (nomeVariavel, valor) {
|
|
35
|
-
this.pilha[this.pilha.length - 1].ambiente.valores[nomeVariavel] = {
|
|
35
|
+
this.pilha[this.pilha.length - 1].ambiente.valores[nomeVariavel] = {
|
|
36
|
+
valor: valor,
|
|
37
|
+
tipo: (0, inferenciador_1.inferirTipoVariavel)(valor),
|
|
38
|
+
};
|
|
36
39
|
};
|
|
37
40
|
PilhaEscoposExecucao.prototype.atribuirVariavelEm = function (distancia, simbolo, valor) {
|
|
38
41
|
var ambienteAncestral = this.pilha[this.pilha.length - distancia].ambiente;
|
|
39
|
-
ambienteAncestral.valores[simbolo.lexema] = {
|
|
42
|
+
ambienteAncestral.valores[simbolo.lexema] = {
|
|
43
|
+
valor: valor,
|
|
44
|
+
tipo: (0, inferenciador_1.inferirTipoVariavel)(valor),
|
|
45
|
+
};
|
|
40
46
|
};
|
|
41
47
|
PilhaEscoposExecucao.prototype.atribuirVariavel = function (simbolo, valor) {
|
|
42
48
|
for (var i = 1; i <= this.pilha.length; i++) {
|
|
43
49
|
var ambiente = this.pilha[this.pilha.length - i].ambiente;
|
|
44
50
|
if (ambiente.valores[simbolo.lexema] !== undefined) {
|
|
45
|
-
ambiente.valores[simbolo.lexema] = {
|
|
51
|
+
ambiente.valores[simbolo.lexema] = {
|
|
52
|
+
valor: valor,
|
|
53
|
+
tipo: (0, inferenciador_1.inferirTipoVariavel)(valor),
|
|
54
|
+
};
|
|
46
55
|
return;
|
|
47
56
|
}
|
|
48
57
|
}
|
|
@@ -78,7 +87,9 @@ var PilhaEscoposExecucao = /** @class */ (function () {
|
|
|
78
87
|
for (var i = 1; i <= this.pilha.length; i++) {
|
|
79
88
|
var ambiente = this.pilha[this.pilha.length - i].ambiente;
|
|
80
89
|
// TODO: Testar se isso faz sentido.
|
|
81
|
-
var vetorObjeto = Object.entries(ambiente).map(function (chave, valor) {
|
|
90
|
+
var vetorObjeto = Object.entries(ambiente).map(function (chave, valor) {
|
|
91
|
+
return ({ valor: valor, tipo: 'texto' });
|
|
92
|
+
});
|
|
82
93
|
todasVariaveis.concat(vetorObjeto);
|
|
83
94
|
}
|
|
84
95
|
return todasVariaveis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pilha-escopos-execucao.js","sourceRoot":"","sources":["../../../fontes/interpretador/pilha-escopos-execucao.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAC9C,wCAAoD;AAIpD,sCAAqC;AACrC,iDAAsD;AAEtD;IAGI;QACI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,uCAAQ,GAAR,UAAS,IAAoB;QACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,qCAAM,GAAN;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,wCAAS,GAAT;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,wCAAS,GAAT,UAAU,OAAe;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,0CAAW,GAAX;QACI,IAAI,IAAI,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"pilha-escopos-execucao.js","sourceRoot":"","sources":["../../../fontes/interpretador/pilha-escopos-execucao.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fontes/lexador/dialetos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fontes/lexador/dialetos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { LexadorInterface, SimboloInterface } from '../../interfaces';
|
|
2
|
+
import { RetornoLexador } from '../../interfaces/retornos';
|
|
3
|
+
import { ErroLexador } from '../erro-lexador';
|
|
4
|
+
export declare class LexadorBirl implements LexadorInterface {
|
|
5
|
+
simbolos: SimboloInterface[];
|
|
6
|
+
codigo: string | string[];
|
|
7
|
+
inicioSimbolo: number;
|
|
8
|
+
atual: number;
|
|
9
|
+
linha: number;
|
|
10
|
+
erros: ErroLexador[];
|
|
11
|
+
eDigito(caractere: string): boolean;
|
|
12
|
+
eAlfabeto(caractere: string): boolean;
|
|
13
|
+
eAlfabetoOuDigito(caractere: string): boolean;
|
|
14
|
+
eFinalDoCodigo(): boolean;
|
|
15
|
+
avancar(): string | void;
|
|
16
|
+
adicionarSimbolo(tipo: string, literal?: any): void;
|
|
17
|
+
simboloAtual(): string;
|
|
18
|
+
proximoSimbolo(): string;
|
|
19
|
+
simboloAnterior(): string;
|
|
20
|
+
analisarTexto(delimitador: string): void;
|
|
21
|
+
analisarNumero(): void;
|
|
22
|
+
identificarPalavraChave(): void;
|
|
23
|
+
analisarToken(): void;
|
|
24
|
+
mapear(codigo: string[], hashArquivo: number): RetornoLexador;
|
|
25
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.LexadorBirl = void 0;
|
|
7
|
+
var birl_1 = __importDefault(require("../../tipos-de-simbolos/birl"));
|
|
8
|
+
var LexadorBirl = /** @class */ (function () {
|
|
9
|
+
function LexadorBirl() {
|
|
10
|
+
}
|
|
11
|
+
LexadorBirl.prototype.eDigito = function (caractere) {
|
|
12
|
+
throw new Error('Method not implemented.');
|
|
13
|
+
};
|
|
14
|
+
LexadorBirl.prototype.eAlfabeto = function (caractere) {
|
|
15
|
+
throw new Error('Method not implemented.');
|
|
16
|
+
};
|
|
17
|
+
LexadorBirl.prototype.eAlfabetoOuDigito = function (caractere) {
|
|
18
|
+
throw new Error('Method not implemented.');
|
|
19
|
+
};
|
|
20
|
+
LexadorBirl.prototype.eFinalDoCodigo = function () {
|
|
21
|
+
throw new Error('Method not implemented.');
|
|
22
|
+
};
|
|
23
|
+
LexadorBirl.prototype.avancar = function () {
|
|
24
|
+
throw new Error('Method not implemented.');
|
|
25
|
+
};
|
|
26
|
+
LexadorBirl.prototype.adicionarSimbolo = function (tipo, literal) {
|
|
27
|
+
throw new Error('Method not implemented.');
|
|
28
|
+
};
|
|
29
|
+
LexadorBirl.prototype.simboloAtual = function () {
|
|
30
|
+
throw new Error('Method not implemented.');
|
|
31
|
+
};
|
|
32
|
+
LexadorBirl.prototype.proximoSimbolo = function () {
|
|
33
|
+
throw new Error('Method not implemented.');
|
|
34
|
+
};
|
|
35
|
+
LexadorBirl.prototype.simboloAnterior = function () {
|
|
36
|
+
throw new Error('Method not implemented.');
|
|
37
|
+
};
|
|
38
|
+
LexadorBirl.prototype.analisarTexto = function (delimitador) {
|
|
39
|
+
throw new Error('Method not implemented.');
|
|
40
|
+
};
|
|
41
|
+
LexadorBirl.prototype.analisarNumero = function () {
|
|
42
|
+
throw new Error('Method not implemented.');
|
|
43
|
+
};
|
|
44
|
+
LexadorBirl.prototype.identificarPalavraChave = function () {
|
|
45
|
+
throw new Error('Method not implemented.');
|
|
46
|
+
};
|
|
47
|
+
LexadorBirl.prototype.analisarToken = function () {
|
|
48
|
+
var caractere = this.avancar();
|
|
49
|
+
switch (caractere) {
|
|
50
|
+
case '(':
|
|
51
|
+
this.adicionarSimbolo(birl_1.default.PARENTESE_ESQUERDO);
|
|
52
|
+
break;
|
|
53
|
+
case ')':
|
|
54
|
+
this.adicionarSimbolo(birl_1.default.PARENTESE_DIREITO);
|
|
55
|
+
break;
|
|
56
|
+
default:
|
|
57
|
+
if (this.eDigito(caractere))
|
|
58
|
+
this.analisarNumero();
|
|
59
|
+
else if (this.eAlfabeto(caractere))
|
|
60
|
+
this.identificarPalavraChave();
|
|
61
|
+
else
|
|
62
|
+
this.erros.push({
|
|
63
|
+
linha: this.linha,
|
|
64
|
+
caractere: caractere,
|
|
65
|
+
mensagem: 'Caractere inesperado.',
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
LexadorBirl.prototype.mapear = function (codigo, hashArquivo) {
|
|
70
|
+
throw new Error('Method not implemented.');
|
|
71
|
+
};
|
|
72
|
+
return LexadorBirl;
|
|
73
|
+
}());
|
|
74
|
+
exports.LexadorBirl = LexadorBirl;
|
|
75
|
+
//# sourceMappingURL=lexador-birl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lexador-birl.js","sourceRoot":"","sources":["../../../../fontes/lexador/dialetos/lexador-birl.ts"],"names":[],"mappings":";;;;;;AAGA,sEAA2D;AAE3D;IAAA;IAqEA,CAAC;IA7DG,6BAAO,GAAP,UAAQ,SAAiB;QACrB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,+BAAS,GAAT,UAAU,SAAiB;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,uCAAiB,GAAjB,UAAkB,SAAiB;QAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,oCAAc,GAAd;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,6BAAO,GAAP;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,sCAAgB,GAAhB,UAAiB,IAAY,EAAE,OAAa;QACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,kCAAY,GAAZ;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,oCAAc,GAAd;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,qCAAe,GAAf;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,mCAAa,GAAb,UAAc,WAAmB;QAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,oCAAc,GAAd;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,6CAAuB,GAAvB;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,mCAAa,GAAb;QACI,IAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAEjC,QAAQ,SAAS,EAAE;YACf,KAAK,GAAG;gBACJ,IAAI,CAAC,gBAAgB,CAAC,cAAe,CAAC,kBAAkB,CAAC,CAAC;gBAC1D,MAAM;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,gBAAgB,CAAC,cAAe,CAAC,iBAAiB,CAAC,CAAC;gBACzD,MAAM;YACV;gBACI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAmB,CAAC;oBAAE,IAAI,CAAC,cAAc,EAAE,CAAC;qBACxD,IAAI,IAAI,CAAC,SAAS,CAAC,SAAmB,CAAC;oBACxC,IAAI,CAAC,uBAAuB,EAAE,CAAC;;oBAE/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACZ,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,SAAS,EAAE,SAAS;wBACpB,QAAQ,EAAE,uBAAuB;qBACrB,CAAC,CAAC;SAC7B;IACL,CAAC;IACD,4BAAM,GAAN,UAAO,MAAgB,EAAE,WAAmB;QACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACL,kBAAC;AAAD,CAAC,AArED,IAqEC;AArEY,kCAAW"}
|