@designliquido/delegua 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/avaliador-sintatico/avaliador-sintatico-base.d.ts +5 -0
- package/avaliador-sintatico/avaliador-sintatico-base.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico-base.js +20 -0
- package/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.d.ts +11 -1
- package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.js +38 -6
- package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/avaliador-sintatico/comum.d.ts.map +1 -1
- package/avaliador-sintatico/comum.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +2 -2
- package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
- package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.d.ts +0 -47
- package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.d.ts.map +1 -1
- package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.js +0 -135
- package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.js.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-dicionario.d.ts.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-dicionario.js +5 -5
- package/bibliotecas/dialetos/pitugues/primitivas-dicionario.js.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-numero.d.ts.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-numero.js +4 -4
- package/bibliotecas/dialetos/pitugues/primitivas-numero.js.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-texto.d.ts.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-texto.js +18 -18
- package/bibliotecas/dialetos/pitugues/primitivas-texto.js.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-tupla.d.ts.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-tupla.js +2 -2
- package/bibliotecas/dialetos/pitugues/primitivas-tupla.js.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-vetor.d.ts.map +1 -1
- package/bibliotecas/dialetos/pitugues/primitivas-vetor.js +18 -38
- package/bibliotecas/dialetos/pitugues/primitivas-vetor.js.map +1 -1
- package/bibliotecas/primitivas-dicionario.d.ts.map +1 -1
- package/bibliotecas/primitivas-dicionario.js +5 -5
- package/bibliotecas/primitivas-dicionario.js.map +1 -1
- package/bibliotecas/primitivas-numero.d.ts.map +1 -1
- package/bibliotecas/primitivas-numero.js +4 -4
- package/bibliotecas/primitivas-numero.js.map +1 -1
- package/bibliotecas/primitivas-texto.d.ts +1 -1
- package/bibliotecas/primitivas-texto.d.ts.map +1 -1
- package/bibliotecas/primitivas-texto.js +21 -21
- package/bibliotecas/primitivas-texto.js.map +1 -1
- package/bibliotecas/primitivas-tupla.d.ts.map +1 -1
- package/bibliotecas/primitivas-tupla.js +2 -2
- package/bibliotecas/primitivas-tupla.js.map +1 -1
- package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
- package/bibliotecas/primitivas-vetor.js +19 -39
- package/bibliotecas/primitivas-vetor.js.map +1 -1
- package/bin/package.json +1 -1
- package/interpretador/estruturas/metodo-primitiva.d.ts +2 -2
- package/interpretador/estruturas/metodo-primitiva.js +4 -4
- package/interpretador/estruturas/metodo-primitiva.js.map +1 -1
- package/interpretador/interpretador-base.d.ts +15 -0
- package/interpretador/interpretador-base.d.ts.map +1 -1
- package/interpretador/interpretador-base.js +190 -7
- package/interpretador/interpretador-base.js.map +1 -1
- package/interpretador/interpretador.d.ts +2 -1
- package/interpretador/interpretador.d.ts.map +1 -1
- package/interpretador/interpretador.js +28 -18
- package/interpretador/interpretador.js.map +1 -1
- package/lexador/dialetos/lexador-pitugues.d.ts.map +1 -1
- package/lexador/dialetos/lexador-pitugues.js +36 -1
- package/lexador/dialetos/lexador-pitugues.js.map +1 -1
- package/package.json +1 -1
- package/umd/delegua.js +369 -109
|
@@ -61,6 +61,11 @@ export declare abstract class AvaliadorSintaticoBase implements AvaliadorSintati
|
|
|
61
61
|
protected comparacaoIgualdade(): Promise<Construto>;
|
|
62
62
|
protected e(): Promise<Construto>;
|
|
63
63
|
protected ou(): Promise<Construto>;
|
|
64
|
+
/**
|
|
65
|
+
* Processa tuplas, que são expressões separadas por vírgula entre parênteses.
|
|
66
|
+
* Se não houver vírgula, retorna apenas a expressão simples.
|
|
67
|
+
*/
|
|
68
|
+
protected tupla(): Promise<Construto>;
|
|
64
69
|
protected expressao(): Promise<Construto>;
|
|
65
70
|
protected funcao(tipo: string): Promise<FuncaoDeclaracao>;
|
|
66
71
|
protected logicaComumParametros(): Promise<ParametroInterface[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico-base.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico-base.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -162,6 +162,26 @@ class AvaliadorSintaticoBase {
|
|
|
162
162
|
}
|
|
163
163
|
return expressao;
|
|
164
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Processa tuplas, que são expressões separadas por vírgula entre parênteses.
|
|
167
|
+
* Se não houver vírgula, retorna apenas a expressão simples.
|
|
168
|
+
*/
|
|
169
|
+
async tupla() {
|
|
170
|
+
let expressao = await this.ou();
|
|
171
|
+
// Se não há vírgula, retorna a expressão simples
|
|
172
|
+
if (!this.verificarSeSimboloAtualEIgualA(comum_1.default.VIRGULA)) {
|
|
173
|
+
return expressao;
|
|
174
|
+
}
|
|
175
|
+
// Se há vírgula, então é uma tupla
|
|
176
|
+
const elementos = [expressao];
|
|
177
|
+
do {
|
|
178
|
+
if (this.verificarTipoSimboloAtual(comum_1.default.PARENTESE_DIREITO)) {
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
elementos.push(await this.ou());
|
|
182
|
+
} while (this.verificarSeSimboloAtualEIgualA(comum_1.default.VIRGULA));
|
|
183
|
+
return new construtos_1.TuplaN(this.hashArquivo, expressao.linha, elementos);
|
|
184
|
+
}
|
|
165
185
|
async expressao() {
|
|
166
186
|
return await this.atribuir();
|
|
167
187
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico-base.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-base.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico-base.js","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -135,6 +135,16 @@ export declare class AvaliadorSintatico extends AvaliadorSintaticoBase implement
|
|
|
135
135
|
e(): Promise<Construto>;
|
|
136
136
|
protected elvis(): Promise<Construto>;
|
|
137
137
|
protected seTernario(): Promise<Construto>;
|
|
138
|
+
/**
|
|
139
|
+
* Método que resolve atribuições.
|
|
140
|
+
* @returns Um construto do tipo `Atribuir`, `Conjunto` ou `AtribuicaoPorIndice`.
|
|
141
|
+
*/
|
|
142
|
+
/**
|
|
143
|
+
* Processa tuplas, que são expressões separadas por vírgula entre parênteses.
|
|
144
|
+
* Se não houver vírgula, retorna apenas a expressão simples.
|
|
145
|
+
* Sobrescreve o método da base para usar seTernario() em vez de ou().
|
|
146
|
+
*/
|
|
147
|
+
tupla(): Promise<Construto>;
|
|
138
148
|
/**
|
|
139
149
|
* Método que resolve atribuições.
|
|
140
150
|
* @returns Um construto do tipo `Atribuir`, `Conjunto` ou `AtribuicaoPorIndice`.
|
|
@@ -169,7 +179,7 @@ export declare class AvaliadorSintatico extends AvaliadorSintaticoBase implement
|
|
|
169
179
|
* sobrescrito em `delegua-node`.
|
|
170
180
|
* @returns {Importar} Uma declaração `Importar`.
|
|
171
181
|
*/
|
|
172
|
-
declaracaoImportar(): Importar
|
|
182
|
+
declaracaoImportar(): Promise<Importar>;
|
|
173
183
|
declaracaoPara(): Promise<Para | ParaCada>;
|
|
174
184
|
protected logicaParaCadaDicionario(simboloPara: SimboloInterface): Promise<{
|
|
175
185
|
nomeVariavelChave: SimboloInterface<string>;
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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"}
|
|
@@ -277,7 +277,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
277
277
|
if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.PARENTESE_ESQUERDO)) {
|
|
278
278
|
return this.construtoTupla();
|
|
279
279
|
}
|
|
280
|
-
// Ao resolver a expressão aqui, identificadores dentro da expressão de compreensão
|
|
280
|
+
// Ao resolver a expressão aqui, identificadores dentro da expressão de compreensão
|
|
281
281
|
// de lista serão tratados como 'qualquer', para evitar erros de tipo.
|
|
282
282
|
this.intuirTipoQualquerParaIdentificadores = true;
|
|
283
283
|
const retornoExpressaoOuPrimeiroValor = await this.seTernario();
|
|
@@ -357,7 +357,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
357
357
|
const simboloIdentificador = this.avancarEDevolverAnterior();
|
|
358
358
|
let tipoOperando;
|
|
359
359
|
if (this.intuirTipoQualquerParaIdentificadores) {
|
|
360
|
-
// Esta indicação é utilizada para compreensões de lista, onde o
|
|
360
|
+
// Esta indicação é utilizada para compreensões de lista, onde o
|
|
361
361
|
// tipo do identificador de iteração é 'qualquer' por definição.
|
|
362
362
|
tipoOperando = 'qualquer';
|
|
363
363
|
this.pilhaEscopos.definirInformacoesVariavel(simboloIdentificador.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(simboloIdentificador.lexema, 'qualquer') // TODO: Talvez um dia inferir o tipo aqui.
|
|
@@ -406,7 +406,14 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
406
406
|
return await this.paraComoConstruto(simboloPara);
|
|
407
407
|
case delegua_2.default.PARENTESE_ESQUERDO:
|
|
408
408
|
this.avancarEDevolverAnterior();
|
|
409
|
-
|
|
409
|
+
if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.PARENTESE_DIREITO)) {
|
|
410
|
+
return new construtos_1.TuplaN(this.hashArquivo, Number(simboloAtual.linha), []);
|
|
411
|
+
}
|
|
412
|
+
const expressao = await this.tupla();
|
|
413
|
+
if (expressao instanceof construtos_1.TuplaN) {
|
|
414
|
+
this.consumir(delegua_2.default.PARENTESE_DIREITO, "Esperado ')' após itens da tupla.");
|
|
415
|
+
return expressao;
|
|
416
|
+
}
|
|
410
417
|
this.consumir(delegua_2.default.PARENTESE_DIREITO, "Esperado ')' após a expressão.");
|
|
411
418
|
return new construtos_1.Agrupamento(this.hashArquivo, Number(simboloAtual.linha), expressao);
|
|
412
419
|
case delegua_2.default.SUPER:
|
|
@@ -483,7 +490,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
483
490
|
}
|
|
484
491
|
return new construtos_1.TipoDe(this.hashArquivo, simboloAtual, construto);
|
|
485
492
|
}
|
|
486
|
-
// TODO: O correto seria emitir algum aviso aqui que este avaliador sintático não consegue
|
|
493
|
+
// TODO: O correto seria emitir algum aviso aqui que este avaliador sintático não consegue
|
|
487
494
|
// lidar com tópicos de ajuda neste ponto.
|
|
488
495
|
if (this.emAjuda) {
|
|
489
496
|
console.log(this.simbolos[this.atual]);
|
|
@@ -913,6 +920,31 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
913
920
|
}
|
|
914
921
|
return expressaoOuCondicao;
|
|
915
922
|
}
|
|
923
|
+
/**
|
|
924
|
+
* Método que resolve atribuições.
|
|
925
|
+
* @returns Um construto do tipo `Atribuir`, `Conjunto` ou `AtribuicaoPorIndice`.
|
|
926
|
+
*/
|
|
927
|
+
/**
|
|
928
|
+
* Processa tuplas, que são expressões separadas por vírgula entre parênteses.
|
|
929
|
+
* Se não houver vírgula, retorna apenas a expressão simples.
|
|
930
|
+
* Sobrescreve o método da base para usar seTernario() em vez de ou().
|
|
931
|
+
*/
|
|
932
|
+
async tupla() {
|
|
933
|
+
let expressao = await this.seTernario();
|
|
934
|
+
// Se não há vírgula, retorna a expressão simples
|
|
935
|
+
if (!this.verificarSeSimboloAtualEIgualA(delegua_2.default.VIRGULA)) {
|
|
936
|
+
return expressao;
|
|
937
|
+
}
|
|
938
|
+
// Se há vírgula, então é uma tupla
|
|
939
|
+
const elementos = [expressao];
|
|
940
|
+
do {
|
|
941
|
+
if (this.verificarTipoSimboloAtual(delegua_2.default.PARENTESE_DIREITO)) {
|
|
942
|
+
break;
|
|
943
|
+
}
|
|
944
|
+
elementos.push(await this.seTernario());
|
|
945
|
+
} while (this.verificarSeSimboloAtualEIgualA(delegua_2.default.VIRGULA));
|
|
946
|
+
return new construtos_1.TuplaN(this.hashArquivo, expressao.linha, elementos);
|
|
947
|
+
}
|
|
916
948
|
/**
|
|
917
949
|
* Método que resolve atribuições.
|
|
918
950
|
* @returns Um construto do tipo `Atribuir`, `Conjunto` ou `AtribuicaoPorIndice`.
|
|
@@ -1183,7 +1215,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
1183
1215
|
else {
|
|
1184
1216
|
importar.elementosImportacao = elementosImportacao;
|
|
1185
1217
|
}
|
|
1186
|
-
return importar;
|
|
1218
|
+
return Promise.resolve(importar);
|
|
1187
1219
|
}
|
|
1188
1220
|
async declaracaoPara() {
|
|
1189
1221
|
try {
|
|
@@ -1968,7 +2000,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
1968
2000
|
return await this.declaracaoFazer(simboloFazer);
|
|
1969
2001
|
case delegua_2.default.IMPORTAR:
|
|
1970
2002
|
this.avancarEDevolverAnterior();
|
|
1971
|
-
return this.declaracaoImportar();
|
|
2003
|
+
return await this.declaracaoImportar();
|
|
1972
2004
|
case delegua_2.default.LINHA_COMENTARIO:
|
|
1973
2005
|
return this.declaracaoComentarioMultilinha();
|
|
1974
2006
|
case delegua_2.default.PARA:
|