@designliquido/delegua 0.9.2 → 0.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/delegua +1 -1
- package/bin/delegua.cmd +1 -1
- package/bin/package.json +3 -3
- package/coverage/lcov-report/sorter.js +4 -4
- package/coverage/lcov-report/sorter.js.map +1 -1
- package/execucao.d.ts +1 -0
- package/execucao.js +29 -0
- package/execucao.js.map +1 -0
- package/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +1 -1
- package/fontes/avaliador-sintatico/avaliador-sintatico-base.js +108 -105
- package/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
- package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +1 -1
- package/fontes/avaliador-sintatico/avaliador-sintatico.js +244 -256
- package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.d.ts +20 -0
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js +68 -0
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js.map +1 -0
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +227 -236
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.d.ts +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js +247 -257
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.d.ts +3 -0
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js +192 -131
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js.map +1 -1
- package/fontes/avaliador-sintatico/erro-avaliador-sintatico.js +6 -24
- package/fontes/avaliador-sintatico/erro-avaliador-sintatico.js.map +1 -1
- package/fontes/bibliotecas/biblioteca-global.js +206 -367
- package/fontes/bibliotecas/biblioteca-global.js.map +1 -1
- package/fontes/bibliotecas/importar-biblioteca.js +28 -29
- package/fontes/bibliotecas/importar-biblioteca.js.map +1 -1
- package/fontes/bibliotecas/primitivas-texto.js +9 -22
- package/fontes/bibliotecas/primitivas-texto.js.map +1 -1
- package/fontes/bibliotecas/primitivas-vetor.js +12 -14
- package/fontes/bibliotecas/primitivas-vetor.js.map +1 -1
- package/fontes/construtos/acesso-indice-variavel.js +6 -50
- package/fontes/construtos/acesso-indice-variavel.js.map +1 -1
- package/fontes/construtos/acesso-metodo.js +6 -50
- package/fontes/construtos/acesso-metodo.js.map +1 -1
- package/fontes/construtos/agrupamento.js +6 -50
- package/fontes/construtos/agrupamento.js.map +1 -1
- package/fontes/construtos/atribuicao-sobrescrita.js +6 -50
- package/fontes/construtos/atribuicao-sobrescrita.js.map +1 -1
- package/fontes/construtos/atribuir.js +6 -50
- package/fontes/construtos/atribuir.js.map +1 -1
- package/fontes/construtos/binario.js +6 -50
- package/fontes/construtos/binario.js.map +1 -1
- package/fontes/construtos/chamada.js +6 -50
- package/fontes/construtos/chamada.js.map +1 -1
- package/fontes/construtos/definir-valor.js +6 -50
- package/fontes/construtos/definir-valor.js.map +1 -1
- package/fontes/construtos/dicionario.js +6 -50
- package/fontes/construtos/dicionario.js.map +1 -1
- package/fontes/construtos/funcao.d.ts +2 -2
- package/fontes/construtos/funcao.js +6 -47
- package/fontes/construtos/funcao.js.map +1 -1
- package/fontes/construtos/isto.js +6 -47
- package/fontes/construtos/isto.js.map +1 -1
- package/fontes/construtos/literal.js +6 -47
- package/fontes/construtos/literal.js.map +1 -1
- package/fontes/construtos/logico.js +6 -50
- package/fontes/construtos/logico.js.map +1 -1
- package/fontes/construtos/super.js +6 -47
- package/fontes/construtos/super.js.map +1 -1
- package/fontes/construtos/unario.js +6 -50
- package/fontes/construtos/unario.js.map +1 -1
- package/fontes/construtos/variavel.js +6 -47
- package/fontes/construtos/variavel.js.map +1 -1
- package/fontes/construtos/vetor.js +6 -50
- package/fontes/construtos/vetor.js.map +1 -1
- package/fontes/declaracoes/bloco.js +9 -70
- package/fontes/declaracoes/bloco.js.map +1 -1
- package/fontes/declaracoes/classe.js +11 -72
- package/fontes/declaracoes/classe.js.map +1 -1
- package/fontes/declaracoes/continua.js +8 -65
- package/fontes/declaracoes/continua.js.map +1 -1
- package/fontes/declaracoes/declaracao.js +6 -47
- package/fontes/declaracoes/declaracao.js.map +1 -1
- package/fontes/declaracoes/enquanto.js +10 -71
- package/fontes/declaracoes/enquanto.js.map +1 -1
- package/fontes/declaracoes/escolha.js +11 -72
- package/fontes/declaracoes/escolha.js.map +1 -1
- package/fontes/declaracoes/escreva.js +9 -70
- package/fontes/declaracoes/escreva.js.map +1 -1
- package/fontes/declaracoes/expressao.js +9 -70
- package/fontes/declaracoes/expressao.js.map +1 -1
- package/fontes/declaracoes/fazer.js +10 -71
- package/fontes/declaracoes/fazer.js.map +1 -1
- package/fontes/declaracoes/funcao.js +10 -68
- package/fontes/declaracoes/funcao.js.map +1 -1
- package/fontes/declaracoes/importar.js +10 -71
- package/fontes/declaracoes/importar.js.map +1 -1
- package/fontes/declaracoes/leia.js +9 -70
- package/fontes/declaracoes/leia.js.map +1 -1
- package/fontes/declaracoes/para.js +12 -73
- package/fontes/declaracoes/para.js.map +1 -1
- package/fontes/declaracoes/retorna.js +10 -71
- package/fontes/declaracoes/retorna.js.map +1 -1
- package/fontes/declaracoes/se.js +12 -73
- package/fontes/declaracoes/se.js.map +1 -1
- package/fontes/declaracoes/sustar.js +8 -65
- package/fontes/declaracoes/sustar.js.map +1 -1
- package/fontes/declaracoes/tente.js +12 -73
- package/fontes/declaracoes/tente.js.map +1 -1
- package/fontes/declaracoes/var.js +10 -71
- package/fontes/declaracoes/var.js.map +1 -1
- package/fontes/delegua.js +125 -206
- package/fontes/delegua.js.map +1 -1
- package/fontes/depuracao/cyrb53.js +3 -4
- package/fontes/depuracao/cyrb53.js.map +1 -1
- package/fontes/depuracao/servidor-depuracao.js +125 -209
- package/fontes/depuracao/servidor-depuracao.js.map +1 -1
- package/fontes/espaco-variaveis.js +3 -4
- package/fontes/espaco-variaveis.js.map +1 -1
- package/fontes/estruturas/chamavel.js +6 -9
- package/fontes/estruturas/chamavel.js.map +1 -1
- package/fontes/estruturas/classe-padrao.js +17 -35
- package/fontes/estruturas/classe-padrao.js.map +1 -1
- package/fontes/estruturas/delegua-classe.d.ts +2 -2
- package/fontes/estruturas/delegua-classe.js +21 -39
- package/fontes/estruturas/delegua-classe.js.map +1 -1
- package/fontes/estruturas/delegua-funcao.js +48 -114
- package/fontes/estruturas/delegua-funcao.js.map +1 -1
- package/fontes/estruturas/funcao-padrao.js +13 -75
- package/fontes/estruturas/funcao-padrao.js.map +1 -1
- package/fontes/estruturas/metodo-primitiva.js +11 -39
- package/fontes/estruturas/metodo-primitiva.js.map +1 -1
- package/fontes/estruturas/modulo.js +6 -7
- package/fontes/estruturas/modulo.js.map +1 -1
- package/fontes/estruturas/objeto-delegua-classe.d.ts +3 -3
- package/fontes/estruturas/objeto-delegua-classe.js +12 -13
- package/fontes/estruturas/objeto-delegua-classe.js.map +1 -1
- package/fontes/estruturas/objeto-padrao.js +9 -11
- package/fontes/estruturas/objeto-padrao.js.map +1 -1
- package/fontes/excecoes/erro-em-tempo-de-execucao.js +8 -26
- package/fontes/excecoes/erro-em-tempo-de-execucao.js.map +1 -1
- package/fontes/importador/importador.js +21 -22
- package/fontes/importador/importador.js.map +1 -1
- package/fontes/interfaces/avaliador-sintatico-interface.d.ts +1 -1
- package/fontes/interfaces/parametro-interface.d.ts +1 -1
- package/fontes/interpretador/dialetos/egua-classico.js +592 -1019
- package/fontes/interpretador/dialetos/egua-classico.js.map +1 -1
- package/fontes/interpretador/inferenciador.js +1 -1
- package/fontes/interpretador/inferenciador.js.map +1 -1
- package/fontes/interpretador/interpretador-com-depuracao.js +186 -336
- package/fontes/interpretador/interpretador-com-depuracao.js.map +1 -1
- package/fontes/interpretador/interpretador.js +706 -1175
- package/fontes/interpretador/interpretador.js.map +1 -1
- package/fontes/interpretador/pilha-escopos-execucao.js +52 -57
- package/fontes/interpretador/pilha-escopos-execucao.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-birl.d.ts +6 -19
- package/fontes/lexador/dialetos/lexador-birl.js +157 -49
- package/fontes/lexador/dialetos/lexador-birl.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-egua-classico.js +43 -46
- package/fontes/lexador/dialetos/lexador-egua-classico.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-eguap.js +59 -63
- package/fontes/lexador/dialetos/lexador-eguap.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-visualg.js +45 -54
- package/fontes/lexador/dialetos/lexador-visualg.js.map +1 -1
- package/fontes/lexador/dialetos/palavras-reservadas/birl.d.ts +14 -1
- package/fontes/lexador/dialetos/palavras-reservadas/birl.js +18 -1
- package/fontes/lexador/dialetos/palavras-reservadas/birl.js.map +1 -1
- package/fontes/lexador/dialetos/palavras-reservadas/egua-classico.js +1 -1
- package/fontes/lexador/dialetos/palavras-reservadas/egua-classico.js.map +1 -1
- package/fontes/lexador/dialetos/palavras-reservadas/visualg.d.ts +24 -0
- package/fontes/lexador/dialetos/palavras-reservadas/visualg.js +25 -1
- package/fontes/lexador/dialetos/palavras-reservadas/visualg.js.map +1 -1
- package/fontes/lexador/lexador-base-linha-unica.d.ts +1 -1
- package/fontes/lexador/lexador-base-linha-unica.js +28 -29
- package/fontes/lexador/lexador-base-linha-unica.js.map +1 -1
- package/fontes/lexador/lexador.js +53 -57
- package/fontes/lexador/lexador.js.map +1 -1
- package/fontes/lexador/palavras-reservadas.js +1 -1
- package/fontes/lexador/palavras-reservadas.js.map +1 -1
- package/fontes/lexador/simbolo.js +5 -6
- package/fontes/lexador/simbolo.js.map +1 -1
- package/fontes/quebras/index.js +11 -42
- package/fontes/quebras/index.js.map +1 -1
- package/fontes/resolvedor/dialetos/egua-classico.js +143 -144
- package/fontes/resolvedor/dialetos/egua-classico.js.map +1 -1
- package/fontes/resolvedor/erro-resolvedor.js +6 -24
- package/fontes/resolvedor/erro-resolvedor.js.map +1 -1
- package/fontes/resolvedor/pilha-escopos.js +11 -12
- package/fontes/resolvedor/pilha-escopos.js.map +1 -1
- package/fontes/tipos-de-simbolos/birl.d.ts +7 -0
- package/fontes/tipos-de-simbolos/birl.js +20 -12
- package/fontes/tipos-de-simbolos/birl.js.map +1 -1
- package/fontes/tipos-de-simbolos/comum.d.ts +2 -0
- package/fontes/tipos-de-simbolos/comum.js +2 -0
- package/fontes/tipos-de-simbolos/comum.js.map +1 -1
- package/fontes/tipos-de-simbolos/visualg.d.ts +9 -0
- package/fontes/tipos-de-simbolos/visualg.js +9 -0
- package/fontes/tipos-de-simbolos/visualg.js.map +1 -1
- package/index.d.ts +5 -1
- package/index.js +18 -25
- package/index.js.map +1 -1
- package/jest.config.js +9 -47
- package/jest.config.js.map +1 -1
- package/package.json +3 -3
- package/testes/__mocks__/estatistica.js +1 -1
- package/testes/__mocks__/estatistica.js.map +1 -1
- package/testes/__mocks__/fisica.js +1 -1
- package/testes/__mocks__/fisica.js.map +1 -1
- package/testes/__mocks__/matematica.js +1 -1
- package/testes/__mocks__/matematica.js.map +1 -1
- package/testes/avaliador-sintatico.test.js +27 -27
- package/testes/avaliador-sintatico.test.js.map +1 -1
- package/testes/biblioteca-global.test.js +197 -440
- package/testes/biblioteca-global.test.js.map +1 -1
- package/testes/birl/avaliador-sintatico.test.d.ts +1 -0
- package/testes/birl/avaliador-sintatico.test.js +18 -0
- package/testes/birl/avaliador-sintatico.test.js.map +1 -0
- package/testes/birl/lexador.test.d.ts +1 -0
- package/testes/birl/lexador.test.js +31 -0
- package/testes/birl/lexador.test.js.map +1 -0
- package/testes/delegua.test.js +7 -7
- package/testes/delegua.test.js.map +1 -1
- package/testes/egua-classico/avaliador-sintatico.test.js +14 -14
- package/testes/egua-classico/avaliador-sintatico.test.js.map +1 -1
- package/testes/egua-classico/delegua.test.js +5 -5
- package/testes/egua-classico/delegua.test.js.map +1 -1
- package/testes/egua-classico/interpretador.test.js +180 -396
- package/testes/egua-classico/interpretador.test.js.map +1 -1
- package/testes/egua-classico/lexador.test.js +23 -23
- package/testes/egua-classico/lexador.test.js.map +1 -1
- package/testes/egua-classico/resolvedor.test.js +12 -12
- package/testes/egua-classico/resolvedor.test.js.map +1 -1
- package/testes/eguap/avaliador-sintatico.test.js +11 -11
- package/testes/eguap/avaliador-sintatico.test.js.map +1 -1
- package/testes/eguap/interpretador.test.js +189 -405
- package/testes/eguap/interpretador.test.js.map +1 -1
- package/testes/eguap/lexador.test.js +18 -18
- package/testes/eguap/lexador.test.js.map +1 -1
- package/testes/interpretador.test.js +431 -908
- package/testes/interpretador.test.js.map +1 -1
- package/testes/lexador.test.js +42 -42
- package/testes/lexador.test.js.map +1 -1
- package/testes/visualg/avaliador-sintatico.test.js +23 -23
- package/testes/visualg/avaliador-sintatico.test.js.map +1 -1
- package/testes/visualg/interpretador.test.js +16 -61
- package/testes/visualg/interpretador.test.js.map +1 -1
- package/testes/visualg/lexador.test.js +15 -15
- package/testes/visualg/lexador.test.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pilha-escopos.js","sourceRoot":"","sources":["../../../fontes/resolvedor/pilha-escopos.ts"],"names":[],"mappings":";;;AAEA;
|
|
1
|
+
{"version":3,"file":"pilha-escopos.js","sourceRoot":"","sources":["../../../fontes/resolvedor/pilha-escopos.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IAGrB;QACI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ,CAAC,IAAS;QACd,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,WAAW;QACP,IAAI,IAAI,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa;QACT,IAAI,IAAI,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;CACJ;AAxBD,oCAwBC"}
|
|
@@ -12,7 +12,14 @@ declare const _default: {
|
|
|
12
12
|
SAI_FILHO_DA_PUTA: string;
|
|
13
13
|
OH_O_HOME_AI_PO: string;
|
|
14
14
|
AJUDA_O_MALUCO_TA_DOENTE: string;
|
|
15
|
+
BORA_CUMPADE: string;
|
|
15
16
|
PARENTESE_DIREITO: string;
|
|
16
17
|
PARENTESE_ESQUERDO: string;
|
|
18
|
+
IGUAL: string;
|
|
19
|
+
IGUAL_IGUAL: string;
|
|
20
|
+
PONTO_E_VIRGULA: string;
|
|
21
|
+
QUEBRA_LINHA: string;
|
|
22
|
+
TEXTO: string;
|
|
23
|
+
NUMERO: string;
|
|
17
24
|
};
|
|
18
25
|
export default _default;
|
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = {
|
|
4
|
-
|
|
4
|
+
// Comandos da linguagem do bambam
|
|
5
|
+
HORA_DO_SHOW: 'HORA DO SHOW',
|
|
5
6
|
BIRL: 'BIRL',
|
|
6
|
-
CE_QUER_VER_ESSA_PORRA: '
|
|
7
|
-
QUE_QUE_CE_QUER_MONSTRAO: '
|
|
8
|
-
ELE_QUE_A_GENTE_QUER: '
|
|
9
|
-
NAO_VAI_DAR_NAO: '
|
|
10
|
-
QUE_NAO_VAI_DAR_O_QUE: '
|
|
11
|
-
NEGATIVA_BAMBAM: '
|
|
12
|
-
MAIS_QUERO_MAIS: '
|
|
13
|
-
VAMO_MONSTRO: '
|
|
14
|
-
SAI_FILHO_DA_PUTA: '
|
|
15
|
-
OH_O_HOME_AI_PO: '
|
|
16
|
-
AJUDA_O_MALUCO_TA_DOENTE: '
|
|
7
|
+
CE_QUER_VER_ESSA_PORRA: 'CE QUER VER ESSA PORRA?',
|
|
8
|
+
QUE_QUE_CE_QUER_MONSTRAO: 'QUE QUE CE QUER MONSTRAO?',
|
|
9
|
+
ELE_QUE_A_GENTE_QUER: 'ELE QUE A GENTE QUER?',
|
|
10
|
+
NAO_VAI_DAR_NAO: 'NAO VAI DAR NAO',
|
|
11
|
+
QUE_NAO_VAI_DAR_O_QUE: 'QUE NAO VAI DAR O QUE?',
|
|
12
|
+
NEGATIVA_BAMBAM: 'NEGATIVA BAMBAM',
|
|
13
|
+
MAIS_QUERO_MAIS: 'MAIS QUERO MAIS',
|
|
14
|
+
VAMO_MONSTRO: 'VAMO MONSTRO;',
|
|
15
|
+
SAI_FILHO_DA_PUTA: 'SAI FILHO DA PUTA;',
|
|
16
|
+
OH_O_HOME_AI_PO: 'OH O HOME AI PO',
|
|
17
|
+
AJUDA_O_MALUCO_TA_DOENTE: 'AJUDA O MALUCO TA DOENTE',
|
|
18
|
+
BORA_CUMPADE: 'BORA CUMPADE',
|
|
17
19
|
// simbolos
|
|
18
20
|
PARENTESE_DIREITO: 'PARENTESE_DIREITO',
|
|
19
21
|
PARENTESE_ESQUERDO: 'PARENTESE_ESQUERDO',
|
|
22
|
+
IGUAL: 'IGUAL',
|
|
23
|
+
IGUAL_IGUAL: 'IGUAL_IGUAL',
|
|
24
|
+
PONTO_E_VIRGULA: 'PONTO_E_VIRGULA',
|
|
25
|
+
QUEBRA_LINHA: 'QUEBRA_LINHA',
|
|
26
|
+
TEXTO: 'TEXTO',
|
|
27
|
+
NUMERO: 'NUMERO',
|
|
20
28
|
};
|
|
21
29
|
//# sourceMappingURL=birl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"birl.js","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/birl.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,YAAY,EAAE,cAAc;IAC5B,IAAI,EAAE,MAAM;IACZ,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"birl.js","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/birl.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,kCAAkC;IAClC,YAAY,EAAE,cAAc;IAC5B,IAAI,EAAE,MAAM;IACZ,sBAAsB,EAAE,yBAAyB;IACjD,wBAAwB,EAAE,2BAA2B;IACrD,oBAAoB,EAAE,uBAAuB;IAC7C,eAAe,EAAE,iBAAiB;IAClC,qBAAqB,EAAE,wBAAwB;IAC/C,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,YAAY,EAAE,eAAe;IAC7B,iBAAiB,EAAE,oBAAoB;IACvC,eAAe,EAAE,iBAAiB;IAClC,wBAAwB,EAAE,0BAA0B;IACpD,YAAY,EAAE,cAAc;IAE5B,WAAW;IACX,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,eAAe,EAAE,iBAAiB;IAClC,YAAY,EAAE,cAAc;IAE5B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/comum.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG;IACN,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,EAAE,EAAE,IAAI;IACR,SAAS,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"comum.js","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/comum.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,CAAC,EAAE,GAAG;IACN,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,EAAE,EAAE,IAAI;IACR,iBAAiB,EAAE,mBAAmB;IACtC,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;CACrB,CAAC"}
|
|
@@ -4,6 +4,8 @@ declare const _default: {
|
|
|
4
4
|
ATE: string;
|
|
5
5
|
CARACTERE: string;
|
|
6
6
|
CASO: string;
|
|
7
|
+
COLCHETE_DIREITO: string;
|
|
8
|
+
COLCHETE_ESQUERDO: string;
|
|
7
9
|
DE: string;
|
|
8
10
|
DIFERENTE: string;
|
|
9
11
|
DIVISAO: string;
|
|
@@ -13,6 +15,7 @@ declare const _default: {
|
|
|
13
15
|
ESCREVA: string;
|
|
14
16
|
ESCREVA_LINHA: string;
|
|
15
17
|
FACA: string;
|
|
18
|
+
FALSO: string;
|
|
16
19
|
FIM_ALGORITMO: string;
|
|
17
20
|
FIM_ENQUANTO: string;
|
|
18
21
|
FIM_ESCOLHA: string;
|
|
@@ -24,10 +27,12 @@ declare const _default: {
|
|
|
24
27
|
INICIO: string;
|
|
25
28
|
INTEIRO: string;
|
|
26
29
|
LEIA: string;
|
|
30
|
+
LOGICO: string;
|
|
27
31
|
MAIOR: string;
|
|
28
32
|
MAIOR_IGUAL: string;
|
|
29
33
|
MENOR: string;
|
|
30
34
|
MENOR_IGUAL: string;
|
|
35
|
+
METODO_BIBLIOTECA_GLOBAL: string;
|
|
31
36
|
MODULO: string;
|
|
32
37
|
MULTIPLICACAO: string;
|
|
33
38
|
NEGACAO: string;
|
|
@@ -37,11 +42,15 @@ declare const _default: {
|
|
|
37
42
|
PASSO: string;
|
|
38
43
|
PARENTESE_DIREITO: string;
|
|
39
44
|
PARENTESE_ESQUERDO: string;
|
|
45
|
+
PONTO: string;
|
|
46
|
+
REAL: string;
|
|
40
47
|
REPITA: string;
|
|
41
48
|
SETA_ATRIBUICAO: string;
|
|
42
49
|
SUBTRACAO: string;
|
|
43
50
|
QUEBRA_LINHA: string;
|
|
44
51
|
VAR: string;
|
|
52
|
+
VERDADEIRO: string;
|
|
53
|
+
VETOR: string;
|
|
45
54
|
VIRGULA: string;
|
|
46
55
|
};
|
|
47
56
|
export default _default;
|
|
@@ -6,6 +6,8 @@ exports.default = {
|
|
|
6
6
|
ATE: 'ATE',
|
|
7
7
|
CARACTERE: 'CARACTERE',
|
|
8
8
|
CASO: 'CASO',
|
|
9
|
+
COLCHETE_DIREITO: 'COLCHETE_DIREITO',
|
|
10
|
+
COLCHETE_ESQUERDO: 'COLCHETE_ESQUERDO',
|
|
9
11
|
DE: 'DE',
|
|
10
12
|
DIFERENTE: 'DIFERENTE',
|
|
11
13
|
DIVISAO: 'DIVISAO',
|
|
@@ -15,6 +17,7 @@ exports.default = {
|
|
|
15
17
|
ESCREVA: 'ESCREVA',
|
|
16
18
|
ESCREVA_LINHA: 'ESCREVA_LINHA',
|
|
17
19
|
FACA: 'FACA',
|
|
20
|
+
FALSO: 'FALSO',
|
|
18
21
|
FIM_ALGORITMO: 'FIM_ALGORITMO',
|
|
19
22
|
FIM_ENQUANTO: 'FIM_ENQUANTO',
|
|
20
23
|
FIM_ESCOLHA: 'FIM_ESCOLHA',
|
|
@@ -26,10 +29,12 @@ exports.default = {
|
|
|
26
29
|
INICIO: 'INICIO',
|
|
27
30
|
INTEIRO: 'INTEIRO',
|
|
28
31
|
LEIA: 'LEIA',
|
|
32
|
+
LOGICO: 'LOGICO',
|
|
29
33
|
MAIOR: 'MAIOR',
|
|
30
34
|
MAIOR_IGUAL: 'MAIOR_IGUAL',
|
|
31
35
|
MENOR: 'MENOR',
|
|
32
36
|
MENOR_IGUAL: 'MENOR_IGUAL',
|
|
37
|
+
METODO_BIBLIOTECA_GLOBAL: 'METODO_BIBLIOTECA_GLOBAL',
|
|
33
38
|
MODULO: 'MODULO',
|
|
34
39
|
MULTIPLICACAO: 'MULTIPLICACAO',
|
|
35
40
|
NEGACAO: 'NEGACAO',
|
|
@@ -39,11 +44,15 @@ exports.default = {
|
|
|
39
44
|
PASSO: 'PASSO',
|
|
40
45
|
PARENTESE_DIREITO: 'PARENTESE_DIREITO',
|
|
41
46
|
PARENTESE_ESQUERDO: 'PARENTESE_ESQUERDO',
|
|
47
|
+
PONTO: 'PONTO',
|
|
48
|
+
REAL: 'REAL',
|
|
42
49
|
REPITA: 'REPITA',
|
|
43
50
|
SETA_ATRIBUICAO: 'SETA_ATRIBUICAO',
|
|
44
51
|
SUBTRACAO: 'SUBTRACAO',
|
|
45
52
|
QUEBRA_LINHA: 'QUEBRA_LINHA',
|
|
46
53
|
VAR: 'VAR',
|
|
54
|
+
VERDADEIRO: 'VERDADEIRO',
|
|
55
|
+
VETOR: 'VETOR',
|
|
47
56
|
VIRGULA: 'VIRGULA',
|
|
48
57
|
};
|
|
49
58
|
//# sourceMappingURL=visualg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualg.js","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/visualg.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,IAAI;IACR,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,iBAAiB;IAClC,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;CACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"visualg.js","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/visualg.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,EAAE,EAAE,IAAI;IACR,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,wBAAwB,EAAE,0BAA0B;IACpD,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,iBAAiB;IAClC,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,GAAG,EAAE,KAAK;IACV,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;CACrB,CAAC"}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -1,29 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var nomeArquivo;
|
|
8
|
-
analisadorArgumentos
|
|
9
|
-
.option('-d, --dialeto <dialeto>', 'Dialeto a ser usado. Padrão: delegua', 'delegua')
|
|
10
|
-
.option('-D, --depurador', 'Habilita o depurador, permitindo depuração em um ambiente como o VSCode. Sempre desabilitada em modo LAIR.', false)
|
|
11
|
-
.option('-p, --performance', 'Visualizar indicadores de performance. Desabilitado por padrão', false)
|
|
12
|
-
.argument('[arquivos...]', 'Nomes dos arquivos (opcional)')
|
|
13
|
-
.action(function (arquivos) {
|
|
14
|
-
if (arquivos.length > 0) {
|
|
15
|
-
nomeArquivo = arquivos[0];
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
analisadorArgumentos.parse();
|
|
19
|
-
var opcoes = analisadorArgumentos.opts();
|
|
20
|
-
var delegua = new delegua_1.Delegua(opcoes.dialeto, opcoes.performance, nomeArquivo ? opcoes.depurador : false);
|
|
21
|
-
if (!nomeArquivo) {
|
|
22
|
-
delegua.iniciarLairDelegua();
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
delegua.carregarArquivo(nomeArquivo);
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
26
7
|
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
15
|
};
|
|
28
|
-
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./fontes/delegua"), exports);
|
|
18
|
+
__exportStar(require("./fontes/lexador"), exports);
|
|
19
|
+
__exportStar(require("./fontes/avaliador-sintatico"), exports);
|
|
20
|
+
__exportStar(require("./fontes/importador"), exports);
|
|
21
|
+
__exportStar(require("./fontes/interpretador"), exports);
|
|
29
22
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,mDAAiC;AACjC,+DAA6C;AAC7C,sDAAoC;AACpC,yDAAuC"}
|
package/jest.config.js
CHANGED
|
@@ -1,50 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.default =
|
|
40
|
-
return
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
});
|
|
49
|
-
}); });
|
|
3
|
+
exports.default = async () => {
|
|
4
|
+
return {
|
|
5
|
+
verbose: true,
|
|
6
|
+
modulePathIgnorePatterns: ['<rootDir>/dist/'],
|
|
7
|
+
preset: 'ts-jest',
|
|
8
|
+
testEnvironment: 'node',
|
|
9
|
+
coverageReporters: ['text', 'text-summary', 'lcov'],
|
|
10
|
+
};
|
|
11
|
+
};
|
|
50
12
|
//# sourceMappingURL=jest.config.js.map
|
package/jest.config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":";;AAEA,kBAAe,KAAK,IAAoC,EAAE;IACtD,OAAO;QACH,OAAO,EAAE,IAAI;QACb,wBAAwB,EAAE,CAAC,iBAAiB,CAAC;QAC7C,MAAM,EAAE,SAAS;QACjB,eAAe,EAAE,MAAM;QACvB,iBAAiB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC;KACtD,CAAC;AACN,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/delegua",
|
|
3
|
-
"version": "0.9.
|
|
4
|
-
"description": "Linguagem de programação simples e moderna usando português",
|
|
3
|
+
"version": "0.9.4",
|
|
4
|
+
"description": "Linguagem de programação simples e moderna usando português estruturado",
|
|
5
5
|
"main": "index.ts",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"empacotar": "rm -Rf ./dist && tsc && copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && copyfiles -V ./package.json ./dist/bin && copyfiles -V ./README.md ./dist",
|
|
8
|
-
"lair": "ts-node
|
|
8
|
+
"lair": "ts-node execucao.ts",
|
|
9
9
|
"publicar-npm": "npm publish ./dist --access public",
|
|
10
10
|
"testes": "./bin/delegua-ts testes/exemplos/testes.egua",
|
|
11
11
|
"testes:delegua:bhaskara": "./bin/delegua-ts testes/exemplos/dialetos/egua-classico/bhaskara.egua",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estatistica.js","sourceRoot":"","sources":["../../../testes/__mocks__/estatistica.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,
|
|
1
|
+
{"version":3,"file":"estatistica.js","sourceRoot":"","sources":["../../../testes/__mocks__/estatistica.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;AAEpE,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fisica.js","sourceRoot":"","sources":["../../../testes/__mocks__/fisica.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,
|
|
1
|
+
{"version":3,"file":"fisica.js","sourceRoot":"","sources":["../../../testes/__mocks__/fisica.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;AAE1D,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matematica.js","sourceRoot":"","sources":["../../../testes/__mocks__/matematica.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,
|
|
1
|
+
{"version":3,"file":"matematica.js","sourceRoot":"","sources":["../../../testes/__mocks__/matematica.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;AAElE,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC"}
|
|
@@ -1,53 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
describe('Avaliador sintático',
|
|
5
|
-
describe('analisar()',
|
|
6
|
-
|
|
7
|
-
it('Sucesso - Olá Mundo',
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
const delegua_1 = require("../fontes/delegua");
|
|
4
|
+
describe('Avaliador sintático', () => {
|
|
5
|
+
describe('analisar()', () => {
|
|
6
|
+
const delegua = new delegua_1.Delegua('delegua');
|
|
7
|
+
it('Sucesso - Olá Mundo', () => {
|
|
8
|
+
const retornoLexador = delegua.lexador.mapear(["escreva('Olá mundo')"], -1);
|
|
9
|
+
const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
10
10
|
expect(retornoAvaliadorSintatico).toBeTruthy();
|
|
11
11
|
expect(retornoAvaliadorSintatico.declaracoes).toHaveLength(1);
|
|
12
12
|
});
|
|
13
|
-
it('Sucesso - Vetor vazio',
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
it('Sucesso - Vetor vazio', () => {
|
|
14
|
+
const retornoLexador = delegua.lexador.mapear(['var vetorVazio = []'], -1);
|
|
15
|
+
const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
16
16
|
expect(retornoAvaliadorSintatico).toBeTruthy();
|
|
17
17
|
expect(retornoAvaliadorSintatico.declaracoes).toHaveLength(1);
|
|
18
18
|
});
|
|
19
|
-
it('Sucesso - Dicionário vazio',
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
it('Sucesso - Dicionário vazio', () => {
|
|
20
|
+
const retornoLexador = delegua.lexador.mapear(['var dicionarioVazio = {}'], -1);
|
|
21
|
+
const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
22
22
|
expect(retornoAvaliadorSintatico).toBeTruthy();
|
|
23
23
|
expect(retornoAvaliadorSintatico.declaracoes).toHaveLength(1);
|
|
24
24
|
});
|
|
25
|
-
it('Sucesso - Undefined',
|
|
26
|
-
|
|
25
|
+
it('Sucesso - Undefined', () => {
|
|
26
|
+
const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(undefined);
|
|
27
27
|
expect(retornoAvaliadorSintatico).toBeTruthy();
|
|
28
28
|
expect(retornoAvaliadorSintatico.declaracoes).toHaveLength(0);
|
|
29
29
|
});
|
|
30
|
-
it('Sucesso - Null',
|
|
31
|
-
|
|
30
|
+
it('Sucesso - Null', () => {
|
|
31
|
+
const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(null);
|
|
32
32
|
expect(retornoAvaliadorSintatico).toBeTruthy();
|
|
33
33
|
expect(retornoAvaliadorSintatico.declaracoes).toHaveLength(0);
|
|
34
34
|
});
|
|
35
|
-
it('Falha - Não é permitido ter dois identificadores seguidos na mesma linha',
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
it('Falha - Não é permitido ter dois identificadores seguidos na mesma linha', () => {
|
|
36
|
+
const retornoLexador = delegua.lexador.mapear(["escreva('Olá mundo') identificador1 identificador2"], -1);
|
|
37
|
+
const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
38
38
|
expect(retornoAvaliadorSintatico.erros.length).toBeGreaterThan(0);
|
|
39
39
|
expect(retornoAvaliadorSintatico.erros[0].message).toBe('Não é permitido ter dois identificadores seguidos na mesma linha.');
|
|
40
40
|
});
|
|
41
|
-
describe('Funções Anônimas',
|
|
42
|
-
it('Função anônima com mais de 255 parâmetros',
|
|
43
|
-
|
|
44
|
-
for (
|
|
41
|
+
describe('Funções Anônimas', () => {
|
|
42
|
+
it('Função anônima com mais de 255 parâmetros', () => {
|
|
43
|
+
let acumulador = '';
|
|
44
|
+
for (let i = 1; i <= 256; i++) {
|
|
45
45
|
acumulador += 'a' + i + ', ';
|
|
46
46
|
}
|
|
47
47
|
acumulador = acumulador.substring(0, acumulador.length - 2);
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
const funcaoCom256Argumentos = 'var f = funcao(' + acumulador + ') {}';
|
|
49
|
+
const retornoLexador = delegua.lexador.mapear([funcaoCom256Argumentos], -1);
|
|
50
|
+
const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
51
51
|
expect(retornoAvaliadorSintatico).toBeTruthy();
|
|
52
52
|
expect(retornoAvaliadorSintatico.erros).toHaveLength(1);
|
|
53
53
|
expect(retornoAvaliadorSintatico.erros[0].message).toBe('Não pode haver mais de 255 parâmetros');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico.test.js","sourceRoot":"","sources":["../../testes/avaliador-sintatico.test.ts"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico.test.js","sourceRoot":"","sources":["../../testes/avaliador-sintatico.test.ts"],"names":[],"mappings":"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"}
|