@designliquido/delegua 0.3.2 → 0.4.2
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/README.md +2 -1
- package/bin/package.json +3 -1
- package/fontes/ambiente.js.map +1 -1
- package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +23 -9
- package/fontes/avaliador-sintatico/avaliador-sintatico.js +85 -65
- package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts +5 -3
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +39 -38
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.d.ts +6 -5
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js +45 -52
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js.map +1 -1
- package/fontes/bibliotecas/biblioteca-global.d.ts +2 -2
- package/fontes/bibliotecas/biblioteca-global.js.map +1 -1
- package/fontes/construtos/acesso-indice-variavel.d.ts +2 -1
- package/fontes/construtos/acesso-indice-variavel.js +2 -1
- package/fontes/construtos/acesso-indice-variavel.js.map +1 -1
- package/fontes/construtos/acesso-metodo.d.ts +4 -3
- package/fontes/construtos/acesso-metodo.js +2 -1
- package/fontes/construtos/acesso-metodo.js.map +1 -1
- package/fontes/construtos/agrupamento.d.ts +10 -3
- package/fontes/construtos/agrupamento.js +7 -1
- package/fontes/construtos/agrupamento.js.map +1 -1
- package/fontes/construtos/atribuicao-sobrescrita.d.ts +2 -1
- package/fontes/construtos/atribuicao-sobrescrita.js +2 -1
- package/fontes/construtos/atribuicao-sobrescrita.js.map +1 -1
- package/fontes/construtos/atribuir.d.ts +2 -1
- package/fontes/construtos/atribuir.js +2 -1
- package/fontes/construtos/atribuir.js.map +1 -1
- package/fontes/construtos/binario.d.ts +15 -2
- package/fontes/construtos/binario.js +13 -1
- package/fontes/construtos/binario.js.map +1 -1
- package/fontes/construtos/chamada.d.ts +2 -1
- package/fontes/construtos/chamada.js +2 -1
- package/fontes/construtos/chamada.js.map +1 -1
- package/fontes/construtos/conjunto.d.ts +2 -1
- package/fontes/construtos/conjunto.js +2 -1
- package/fontes/construtos/conjunto.js.map +1 -1
- package/fontes/construtos/construto.d.ts +1 -0
- package/fontes/construtos/dicionario.d.ts +2 -1
- package/fontes/construtos/dicionario.js +2 -1
- package/fontes/construtos/dicionario.js.map +1 -1
- package/fontes/construtos/funcao.d.ts +2 -1
- package/fontes/construtos/funcao.js +2 -1
- package/fontes/construtos/funcao.js.map +1 -1
- package/fontes/construtos/isto.d.ts +2 -1
- package/fontes/construtos/isto.js +2 -1
- package/fontes/construtos/isto.js.map +1 -1
- package/fontes/construtos/literal.d.ts +2 -1
- package/fontes/construtos/literal.js +2 -1
- package/fontes/construtos/literal.js.map +1 -1
- package/fontes/construtos/logico.d.ts +2 -1
- package/fontes/construtos/logico.js +2 -1
- package/fontes/construtos/logico.js.map +1 -1
- package/fontes/construtos/super.d.ts +4 -2
- package/fontes/construtos/super.js +4 -3
- package/fontes/construtos/super.js.map +1 -1
- package/fontes/construtos/unario.d.ts +2 -1
- package/fontes/construtos/unario.js +2 -1
- package/fontes/construtos/unario.js.map +1 -1
- package/fontes/construtos/variavel.d.ts +2 -1
- package/fontes/construtos/variavel.js +2 -1
- package/fontes/construtos/variavel.js.map +1 -1
- package/fontes/construtos/vetor.d.ts +2 -1
- package/fontes/construtos/vetor.js +2 -1
- package/fontes/construtos/vetor.js.map +1 -1
- package/fontes/declaracoes/bloco.js +1 -1
- package/fontes/declaracoes/bloco.js.map +1 -1
- package/fontes/declaracoes/classe.js +1 -1
- package/fontes/declaracoes/classe.js.map +1 -1
- package/fontes/declaracoes/continua.d.ts +2 -1
- package/fontes/declaracoes/continua.js +2 -2
- package/fontes/declaracoes/continua.js.map +1 -1
- package/fontes/declaracoes/declaracao.d.ts +2 -1
- package/fontes/declaracoes/declaracao.js +2 -1
- package/fontes/declaracoes/declaracao.js.map +1 -1
- package/fontes/declaracoes/enquanto.d.ts +3 -2
- package/fontes/declaracoes/enquanto.js +1 -1
- package/fontes/declaracoes/enquanto.js.map +1 -1
- package/fontes/declaracoes/escolha.d.ts +2 -1
- package/fontes/declaracoes/escolha.js +1 -1
- package/fontes/declaracoes/escolha.js.map +1 -1
- package/fontes/declaracoes/escreva.d.ts +3 -2
- package/fontes/declaracoes/escreva.js +1 -1
- package/fontes/declaracoes/escreva.js.map +1 -1
- package/fontes/declaracoes/expressao.js +1 -1
- package/fontes/declaracoes/expressao.js.map +1 -1
- package/fontes/declaracoes/fazer.js +1 -1
- package/fontes/declaracoes/fazer.js.map +1 -1
- package/fontes/declaracoes/funcao.js +1 -1
- package/fontes/declaracoes/funcao.js.map +1 -1
- package/fontes/declaracoes/importar.js +1 -1
- package/fontes/declaracoes/importar.js.map +1 -1
- package/fontes/declaracoes/para.d.ts +1 -1
- package/fontes/declaracoes/para.js +2 -2
- package/fontes/declaracoes/para.js.map +1 -1
- package/fontes/declaracoes/retorna.d.ts +3 -3
- package/fontes/declaracoes/retorna.js +3 -3
- package/fontes/declaracoes/retorna.js.map +1 -1
- package/fontes/declaracoes/se.js +1 -1
- package/fontes/declaracoes/se.js.map +1 -1
- package/fontes/declaracoes/sustar.d.ts +2 -1
- package/fontes/declaracoes/sustar.js +2 -2
- package/fontes/declaracoes/sustar.js.map +1 -1
- package/fontes/declaracoes/tente.js +1 -1
- package/fontes/declaracoes/tente.js.map +1 -1
- package/fontes/declaracoes/var.js +1 -1
- package/fontes/declaracoes/var.js.map +1 -1
- package/fontes/delegua.d.ts +28 -5
- package/fontes/delegua.js +68 -21
- package/fontes/delegua.js.map +1 -1
- package/fontes/depuracao/cyrb53.d.ts +9 -0
- package/fontes/depuracao/cyrb53.js +25 -0
- package/fontes/depuracao/cyrb53.js.map +1 -0
- package/fontes/depuracao/index.d.ts +3 -0
- package/fontes/depuracao/index.js +20 -0
- package/fontes/depuracao/index.js.map +1 -0
- package/fontes/depuracao/ponto-parada.d.ts +4 -0
- package/fontes/depuracao/ponto-parada.js +3 -0
- package/fontes/depuracao/ponto-parada.js.map +1 -0
- package/fontes/depuracao/servidor-depuracao.d.ts +15 -0
- package/fontes/depuracao/servidor-depuracao.js +187 -0
- package/fontes/depuracao/servidor-depuracao.js.map +1 -0
- package/fontes/estruturas/funcao.d.ts +1 -1
- package/fontes/estruturas/funcao.js.map +1 -1
- package/fontes/importador/importador.d.ts +18 -1
- package/fontes/importador/importador.js +23 -5
- package/fontes/importador/importador.js.map +1 -1
- package/fontes/importador/retorno-importador.d.ts +2 -3
- package/fontes/interfaces/avaliador-sintatico-interface.d.ts +6 -6
- package/fontes/interfaces/delegua-interface.d.ts +2 -4
- package/fontes/interfaces/index.d.ts +2 -1
- package/fontes/interfaces/index.js +2 -1
- package/fontes/interfaces/index.js.map +1 -1
- package/fontes/interfaces/interpretador-com-depuracao-interface.d.ts +11 -0
- package/fontes/interfaces/interpretador-com-depuracao-interface.js +3 -0
- package/fontes/interfaces/interpretador-com-depuracao-interface.js.map +1 -0
- package/fontes/interfaces/interpretador-interface.d.ts +3 -4
- package/fontes/interfaces/lexador-interface.d.ts +2 -2
- package/fontes/interfaces/pilha-escopos-execucao-interface.d.ts +17 -0
- package/fontes/interfaces/pilha-escopos-execucao-interface.js +3 -0
- package/fontes/interfaces/pilha-escopos-execucao-interface.js.map +1 -0
- package/fontes/interfaces/pilha-interface.d.ts +2 -2
- package/fontes/interfaces/retornos/index.d.ts +4 -0
- package/fontes/interfaces/retornos/index.js +21 -0
- package/fontes/interfaces/retornos/index.js.map +1 -0
- package/fontes/interfaces/retornos/retorno-avaliador-sintatico.d.ts +6 -0
- package/fontes/{avaliador-sintatico → interfaces/retornos}/retorno-avaliador-sintatico.js +0 -0
- package/fontes/interfaces/retornos/retorno-avaliador-sintatico.js.map +1 -0
- package/fontes/interfaces/{retorno-execucao-interface.d.ts → retornos/retorno-execucao-interface.d.ts} +3 -3
- package/fontes/interfaces/{retorno-execucao-interface.js → retornos/retorno-execucao-interface.js} +0 -0
- package/fontes/interfaces/retornos/retorno-execucao-interface.js.map +1 -0
- package/fontes/{interpretador → interfaces/retornos}/retorno-interpretador.d.ts +1 -1
- package/fontes/{interpretador → interfaces/retornos}/retorno-interpretador.js +0 -0
- package/fontes/interfaces/retornos/retorno-interpretador.js.map +1 -0
- package/fontes/interfaces/retornos/retorno-lexador.d.ts +10 -0
- package/fontes/{lexador → interfaces/retornos}/retorno-lexador.js +0 -0
- package/fontes/interfaces/retornos/retorno-lexador.js.map +1 -0
- package/fontes/interfaces/simbolo-interface.d.ts +1 -0
- package/fontes/interpretador/dialetos/egua-classico.d.ts +1 -1
- package/fontes/interpretador/dialetos/egua-classico.js +3 -3
- package/fontes/interpretador/dialetos/egua-classico.js.map +1 -1
- package/fontes/interpretador/index.d.ts +1 -1
- package/fontes/interpretador/index.js +1 -1
- package/fontes/interpretador/index.js.map +1 -1
- package/fontes/interpretador/interpretador-com-depuracao.d.ts +94 -0
- package/fontes/interpretador/interpretador-com-depuracao.js +278 -0
- package/fontes/interpretador/interpretador-com-depuracao.js.map +1 -0
- package/fontes/interpretador/interpretador.d.ts +17 -9
- package/fontes/interpretador/interpretador.js +22 -9
- package/fontes/interpretador/interpretador.js.map +1 -1
- package/fontes/interpretador/pilha-escopos-execucao.d.ts +12 -5
- package/fontes/interpretador/pilha-escopos-execucao.js +19 -2
- package/fontes/interpretador/pilha-escopos-execucao.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-egua-classico.d.ts +1 -1
- package/fontes/lexador/dialetos/lexador-egua-classico.js +3 -3
- package/fontes/lexador/dialetos/lexador-egua-classico.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-eguap.d.ts +3 -2
- package/fontes/lexador/dialetos/lexador-eguap.js +6 -5
- package/fontes/lexador/dialetos/lexador-eguap.js.map +1 -1
- package/fontes/lexador/lexador.d.ts +3 -2
- package/fontes/lexador/lexador.js +42 -17
- 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.d.ts +2 -1
- package/fontes/lexador/simbolo.js +2 -1
- package/fontes/lexador/simbolo.js.map +1 -1
- package/fontes/resolvedor/dialetos/egua-classico.d.ts +1 -1
- package/fontes/resolvedor/dialetos/egua-classico.js +3 -3
- package/fontes/resolvedor/dialetos/egua-classico.js.map +1 -1
- package/fontes/resolvedor/resolvedor.js +3 -3
- package/fontes/tipos-de-simbolos.d.ts +3 -0
- package/fontes/tipos-de-simbolos.js +3 -0
- package/fontes/tipos-de-simbolos.js.map +1 -1
- package/index.js +6 -4
- package/index.js.map +1 -1
- package/package.json +3 -1
- package/testes/avaliador-sintatico.test.js +16 -1
- package/testes/avaliador-sintatico.test.js.map +1 -1
- package/testes/biblioteca-global.test.js +14 -14
- package/testes/biblioteca-global.test.js.map +1 -1
- package/testes/egua-classico/avaliador-sintatico.test.js +1 -1
- package/testes/egua-classico/avaliador-sintatico.test.js.map +1 -1
- package/testes/egua-classico/interpretador.test.js +20 -20
- package/testes/egua-classico/interpretador.test.js.map +1 -1
- package/testes/egua-classico/lexador.test.js +8 -8
- package/testes/egua-classico/lexador.test.js.map +1 -1
- package/testes/egua-classico/resolvedor.test.js +1 -1
- package/testes/egua-classico/resolvedor.test.js.map +1 -1
- package/testes/eguap/lexador.test.js +6 -6
- package/testes/eguap/lexador.test.js.map +1 -1
- package/testes/interpretador.test.js +22 -22
- package/testes/interpretador.test.js.map +1 -1
- package/testes/lexador.test.js +8 -8
- package/testes/lexador.test.js.map +1 -1
- package/testes/resolvedor.test.js +1 -1
- package/testes/resolvedor.test.js.map +1 -1
- package/fontes/avaliador-sintatico/retorno-avaliador-sintatico.d.ts +0 -6
- package/fontes/avaliador-sintatico/retorno-avaliador-sintatico.js.map +0 -1
- package/fontes/interfaces/retorno-execucao-interface.js.map +0 -1
- package/fontes/interpretador/retorno-interpretador.js.map +0 -1
- package/fontes/lexador/retorno-lexador.d.ts +0 -10
- package/fontes/lexador/retorno-lexador.js.map +0 -1
- package/fontes/lexador/tipos-de-simbolos.d.ts +0 -72
- package/fontes/lexador/tipos-de-simbolos.js +0 -74
- package/fontes/lexador/tipos-de-simbolos.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"biblioteca-global.test.js","sourceRoot":"","sources":["../../testes/biblioteca-global.test.ts"],"names":[],"mappings":";;AAAA,6CAA4C;AAE5C,QAAQ,CAAC,mBAAmB,EAAE;IAC1B,IAAI,OAAgB,CAAC;IAErB,UAAU,CAAC;QACP,OAAO,GAAG,IAAI,iBAAO,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE;QACpB,EAAE,CAAC,SAAS,EAAE;YACV,IAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"biblioteca-global.test.js","sourceRoot":"","sources":["../../testes/biblioteca-global.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ describe('Avaliador sintático (Égua Clássico)', function () {
|
|
|
5
5
|
describe('analisar()', function () {
|
|
6
6
|
var delegua = new delegua_1.Delegua('egua');
|
|
7
7
|
it('Sucesso - Olá Mundo', function () {
|
|
8
|
-
var retornoLexador = delegua.lexador.mapear(["escreva('Olá mundo');"]);
|
|
8
|
+
var retornoLexador = delegua.lexador.mapear(["escreva('Olá mundo');"], -1);
|
|
9
9
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
10
10
|
expect(retornoAvaliadorSintatico).toBeTruthy();
|
|
11
11
|
expect(retornoAvaliadorSintatico.declaracoes).toHaveLength(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico.test.js","sourceRoot":"","sources":["../../../testes/egua-classico/avaliador-sintatico.test.ts"],"names":[],"mappings":";;AAAA,gDAA+C;AAG/C,QAAQ,CAAC,qCAAqC,EAAE;IAC5C,QAAQ,CAAC,YAAY,EAAE;QACnB,IAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,CAAC;QAEpC,EAAE,CAAC,qBAAqB,EAAE;YACtB,IAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico.test.js","sourceRoot":"","sources":["../../../testes/egua-classico/avaliador-sintatico.test.ts"],"names":[],"mappings":";;AAAA,gDAA+C;AAG/C,QAAQ,CAAC,qCAAqC,EAAE;IAC5C,QAAQ,CAAC,YAAY,EAAE;QACnB,IAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,CAAC;QAEpC,EAAE,CAAC,qBAAqB,EAAE;YACtB,IAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7E,IAAM,yBAAyB,GAAG,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAEtF,MAAM,CAAC,yBAAyB,CAAC,CAAC,UAAU,EAAE,CAAC;YAC/C,MAAM,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qBAAqB,EAAE;YACtB,MAAM,CAAC,cAAM,OAAA,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAC,QAAQ,EAAE,EAAE,EAAmB,CAAC,EAArE,CAAqE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mBAAmB,EAAE;YACpB,MAAM,CAAC,cAAM,OAAA,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAA9C,CAA8C,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,cAAc,EAAE;YACf,MAAM,CAAC,cAAM,OAAA,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAzC,CAAyC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -10,19 +10,19 @@ describe('Interpretador (Égua Clássico)', function () {
|
|
|
10
10
|
describe('Cenários de sucesso', function () {
|
|
11
11
|
describe('Atribuições', function () {
|
|
12
12
|
it('Trivial', function () {
|
|
13
|
-
var retornoLexador = delegua.lexador.mapear(["var a = 1;"]);
|
|
13
|
+
var retornoLexador = delegua.lexador.mapear(["var a = 1;"], -1);
|
|
14
14
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
15
15
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
16
16
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
17
17
|
});
|
|
18
18
|
it('Vetor', function () {
|
|
19
|
-
var retornoLexador = delegua.lexador.mapear(["var a = [1, 2, 3];"]);
|
|
19
|
+
var retornoLexador = delegua.lexador.mapear(["var a = [1, 2, 3];"], -1);
|
|
20
20
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
21
21
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
22
22
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
23
23
|
});
|
|
24
24
|
it('Dicionário', function () {
|
|
25
|
-
var retornoLexador = delegua.lexador.mapear(["var a = {'a': 1, 'b': 2};"]);
|
|
25
|
+
var retornoLexador = delegua.lexador.mapear(["var a = {'a': 1, 'b': 2};"], -1);
|
|
26
26
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
27
27
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
28
28
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -30,13 +30,13 @@ describe('Interpretador (Égua Clássico)', function () {
|
|
|
30
30
|
});
|
|
31
31
|
describe('Acesso a variáveis e objetos', function () {
|
|
32
32
|
it('Acesso a elementos de vetor', function () {
|
|
33
|
-
var retornoLexador = delegua.lexador.mapear(["var a = [1, 2, 3];\nescreva(a[1]);"]);
|
|
33
|
+
var retornoLexador = delegua.lexador.mapear(["var a = [1, 2, 3];\nescreva(a[1]);"], -1);
|
|
34
34
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
35
35
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
36
36
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
37
37
|
});
|
|
38
38
|
it('Acesso a elementos de dicionário', function () {
|
|
39
|
-
var retornoLexador = delegua.lexador.mapear(["var a = {'a': 1, 'b': 2};\nescreva(a['b']);"]);
|
|
39
|
+
var retornoLexador = delegua.lexador.mapear(["var a = {'a': 1, 'b': 2};\nescreva(a['b']);"], -1);
|
|
40
40
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
41
41
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
42
42
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -44,13 +44,13 @@ describe('Interpretador (Égua Clássico)', function () {
|
|
|
44
44
|
});
|
|
45
45
|
describe('escreva()', function () {
|
|
46
46
|
it('Olá Mundo (escreva() e literal)', function () {
|
|
47
|
-
var retornoLexador = delegua.lexador.mapear(["escreva('Olá mundo');"]);
|
|
47
|
+
var retornoLexador = delegua.lexador.mapear(["escreva('Olá mundo');"], -1);
|
|
48
48
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
49
49
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
50
50
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
51
51
|
});
|
|
52
52
|
it('nulo', function () {
|
|
53
|
-
var retornoLexador = delegua.lexador.mapear(["escreva(nulo);"]);
|
|
53
|
+
var retornoLexador = delegua.lexador.mapear(["escreva(nulo);"], -1);
|
|
54
54
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
55
55
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
56
56
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -58,7 +58,7 @@ describe('Interpretador (Égua Clássico)', function () {
|
|
|
58
58
|
});
|
|
59
59
|
describe('Operações matemáticas', function () {
|
|
60
60
|
it('Operações matemáticas - Trivial', function () {
|
|
61
|
-
var retornoLexador = delegua.lexador.mapear(["escreva(5 + 4 * 3 - 2 ** 1 / 6 % 10);"]);
|
|
61
|
+
var retornoLexador = delegua.lexador.mapear(["escreva(5 + 4 * 3 - 2 ** 1 / 6 % 10);"], -1);
|
|
62
62
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
63
63
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
64
64
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -66,19 +66,19 @@ describe('Interpretador (Égua Clássico)', function () {
|
|
|
66
66
|
});
|
|
67
67
|
describe('Operações lógicas', function () {
|
|
68
68
|
it('Operações lógicas - ou', function () {
|
|
69
|
-
var retornoLexador = delegua.lexador.mapear(["escreva(verdadeiro ou falso);"]);
|
|
69
|
+
var retornoLexador = delegua.lexador.mapear(["escreva(verdadeiro ou falso);"], -1);
|
|
70
70
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
71
71
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
72
72
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
73
73
|
});
|
|
74
74
|
it('Operações lógicas - e', function () {
|
|
75
|
-
var retornoLexador = delegua.lexador.mapear(["escreva(verdadeiro e falso);"]);
|
|
75
|
+
var retornoLexador = delegua.lexador.mapear(["escreva(verdadeiro e falso);"], -1);
|
|
76
76
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
77
77
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
78
78
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
79
79
|
});
|
|
80
80
|
it('Operações lógicas - em', function () {
|
|
81
|
-
var retornoLexador = delegua.lexador.mapear(["escreva(2 em [1, 2, 3]);"]);
|
|
81
|
+
var retornoLexador = delegua.lexador.mapear(["escreva(2 em [1, 2, 3]);"], -1);
|
|
82
82
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
83
83
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
84
84
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -86,13 +86,13 @@ describe('Interpretador (Égua Clássico)', function () {
|
|
|
86
86
|
});
|
|
87
87
|
describe('Condicionais', function () {
|
|
88
88
|
it('Condicionais - condição verdadeira', function () {
|
|
89
|
-
var retornoLexador = delegua.lexador.mapear(["se (1 < 2) { escreva('Um menor que dois'); } senão { escreva('Nunca será executado'); }"]);
|
|
89
|
+
var retornoLexador = delegua.lexador.mapear(["se (1 < 2) { escreva('Um menor que dois'); } senão { escreva('Nunca será executado'); }"], -1);
|
|
90
90
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
91
91
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
92
92
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
93
93
|
});
|
|
94
94
|
it('Condicionais - condição falsa', function () {
|
|
95
|
-
var retornoLexador = delegua.lexador.mapear(["se (1 > 2) { escreva('Nunca acontece'); } senão { escreva('Um não é maior que dois'); }"]);
|
|
95
|
+
var retornoLexador = delegua.lexador.mapear(["se (1 > 2) { escreva('Nunca acontece'); } senão { escreva('Um não é maior que dois'); }"], -1);
|
|
96
96
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
97
97
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
98
98
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -100,19 +100,19 @@ describe('Interpretador (Égua Clássico)', function () {
|
|
|
100
100
|
});
|
|
101
101
|
describe('Laços de repetição', function () {
|
|
102
102
|
it('Laços de repetição - enquanto', function () {
|
|
103
|
-
var retornoLexador = delegua.lexador.mapear(["var a = 0;\nenquanto (a < 10) { a = a + 1; }"]);
|
|
103
|
+
var retornoLexador = delegua.lexador.mapear(["var a = 0;\nenquanto (a < 10) { a = a + 1; }"], -1);
|
|
104
104
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
105
105
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
106
106
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
107
107
|
});
|
|
108
108
|
it('Laços de repetição - fazer ... enquanto', function () {
|
|
109
|
-
var retornoLexador = delegua.lexador.mapear(["var a = 0;\nfazer { a = a + 1; } enquanto (a < 10)"]);
|
|
109
|
+
var retornoLexador = delegua.lexador.mapear(["var a = 0;\nfazer { a = a + 1; } enquanto (a < 10)"], -1);
|
|
110
110
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
111
111
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
112
112
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
113
113
|
});
|
|
114
114
|
it('Laços de repetição - para', function () {
|
|
115
|
-
var retornoLexador = delegua.lexador.mapear(["para (var i = 0; i < 10; i = i + 1) { escreva(i); }"]);
|
|
115
|
+
var retornoLexador = delegua.lexador.mapear(["para (var i = 0; i < 10; i = i + 1) { escreva(i); }"], -1);
|
|
116
116
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
117
117
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
118
118
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -136,7 +136,7 @@ describe('Interpretador (Égua Clássico)', function () {
|
|
|
136
136
|
"nomeDoCachorro.latir();",
|
|
137
137
|
"escreva('Classe: OK!');"
|
|
138
138
|
];
|
|
139
|
-
var retornoLexador = delegua.lexador.mapear(codigo);
|
|
139
|
+
var retornoLexador = delegua.lexador.mapear(codigo, -1);
|
|
140
140
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
141
141
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
142
142
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -171,7 +171,7 @@ describe('Interpretador (Égua Clássico)', function () {
|
|
|
171
171
|
"a = fibonacci(5);",
|
|
172
172
|
"escreva(a);"
|
|
173
173
|
];
|
|
174
|
-
var retornoLexador = delegua.lexador.mapear(codigo);
|
|
174
|
+
var retornoLexador = delegua.lexador.mapear(codigo, -1);
|
|
175
175
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
176
176
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
177
177
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -181,13 +181,13 @@ describe('Interpretador (Égua Clássico)', function () {
|
|
|
181
181
|
describe('Cenários de falha', function () {
|
|
182
182
|
describe('Acesso a variáveis e objetos', function () {
|
|
183
183
|
it('Acesso a elementos de vetor', function () {
|
|
184
|
-
var retornoLexador = delegua.lexador.mapear(["var a = [1, 2, 3];\nescreva(a[4]);"]);
|
|
184
|
+
var retornoLexador = delegua.lexador.mapear(["var a = [1, 2, 3];\nescreva(a[4]);"], -1);
|
|
185
185
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
186
186
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
187
187
|
expect(retornoInterpretador.erros.length).toBeGreaterThan(0);
|
|
188
188
|
});
|
|
189
189
|
it('Acesso a elementos de dicionário', function () {
|
|
190
|
-
var retornoLexador = delegua.lexador.mapear(["var a = {'a': 1, 'b': 2};\nescreva(a['c']);"]);
|
|
190
|
+
var retornoLexador = delegua.lexador.mapear(["var a = {'a': 1, 'b': 2};\nescreva(a['c']);"], -1);
|
|
191
191
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
192
192
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
193
193
|
expect(retornoInterpretador.erros.length).toBeGreaterThanOrEqual(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador.test.js","sourceRoot":"","sources":["../../../testes/egua-classico/interpretador.test.ts"],"names":[],"mappings":";;AAAA,gDAA+C;AAE/C,QAAQ,CAAC,+BAA+B,EAAE;IACtC,QAAQ,CAAC,eAAe,EAAE;QACtB,IAAI,OAAgB,CAAC;QAErB,UAAU,CAAC;YACP,OAAO,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,qBAAqB,EAAE;YAC5B,QAAQ,CAAC,aAAa,EAAE;gBACpB,EAAE,CAAC,SAAS,EAAE;oBACV,IAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"interpretador.test.js","sourceRoot":"","sources":["../../../testes/egua-classico/interpretador.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,17 +9,17 @@ describe('Lexador (Égua Clássico)', function () {
|
|
|
9
9
|
});
|
|
10
10
|
describe('Cenários de sucesso', function () {
|
|
11
11
|
it('Sucesso - Código vazio', function () {
|
|
12
|
-
var resultado = delegua.lexador.mapear(['']);
|
|
12
|
+
var resultado = delegua.lexador.mapear([''], -1);
|
|
13
13
|
expect(resultado).toBeTruthy();
|
|
14
14
|
expect(resultado.simbolos).toHaveLength(1);
|
|
15
15
|
});
|
|
16
16
|
it('Sucesso - Ponto-e-vírgula, obrigatório', function () {
|
|
17
|
-
var resultado = delegua.lexador.mapear([';;;;;;;;;;;;;;;;;;;;;']);
|
|
17
|
+
var resultado = delegua.lexador.mapear([';;;;;;;;;;;;;;;;;;;;;'], -1);
|
|
18
18
|
expect(resultado).toBeTruthy();
|
|
19
19
|
expect(resultado.simbolos).toHaveLength(22);
|
|
20
20
|
});
|
|
21
21
|
it('Sucesso - Olá mundo', function () {
|
|
22
|
-
var resultado = delegua.lexador.mapear(["escreva('Olá mundo');"]);
|
|
22
|
+
var resultado = delegua.lexador.mapear(["escreva('Olá mundo');"], -1);
|
|
23
23
|
expect(resultado).toBeTruthy();
|
|
24
24
|
expect(resultado.simbolos).toHaveLength(6);
|
|
25
25
|
expect(resultado.simbolos).toEqual(expect.arrayContaining([
|
|
@@ -31,7 +31,7 @@ describe('Lexador (Égua Clássico)', function () {
|
|
|
31
31
|
]));
|
|
32
32
|
});
|
|
33
33
|
it('Sucesso - Se', function () {
|
|
34
|
-
var resultado = delegua.lexador.mapear(["se (1 == 1) { escreva('Tautologia'); }"]);
|
|
34
|
+
var resultado = delegua.lexador.mapear(["se (1 == 1) { escreva('Tautologia'); }"], -1);
|
|
35
35
|
expect(resultado).toBeTruthy();
|
|
36
36
|
expect(resultado.simbolos).toHaveLength(14);
|
|
37
37
|
expect(resultado.simbolos).toEqual(expect.arrayContaining([
|
|
@@ -48,7 +48,7 @@ describe('Lexador (Égua Clássico)', function () {
|
|
|
48
48
|
]));
|
|
49
49
|
});
|
|
50
50
|
it('Sucesso - Operação Matemática (soma e igualdade)', function () {
|
|
51
|
-
var resultado = delegua.lexador.mapear(['2 + 3 == 5;']);
|
|
51
|
+
var resultado = delegua.lexador.mapear(['2 + 3 == 5;'], -1);
|
|
52
52
|
expect(resultado).toBeTruthy();
|
|
53
53
|
expect(resultado.simbolos).toHaveLength(7);
|
|
54
54
|
expect(resultado.simbolos).toEqual(expect.arrayContaining([
|
|
@@ -59,18 +59,18 @@ describe('Lexador (Égua Clássico)', function () {
|
|
|
59
59
|
]));
|
|
60
60
|
});
|
|
61
61
|
it('Sucesso - Atribução de variável e Operação Matemática (diferença, multiplicação e módulo)', function () {
|
|
62
|
-
var resultado = delegua.lexador.mapear(['var numero = 1 * 2 - 3 % 4;']);
|
|
62
|
+
var resultado = delegua.lexador.mapear(['var numero = 1 * 2 - 3 % 4;'], -1);
|
|
63
63
|
expect(resultado).toBeTruthy();
|
|
64
64
|
});
|
|
65
65
|
});
|
|
66
66
|
describe('Cenários de falha', function () {
|
|
67
67
|
it('Falha léxica - texto sem fim', function () {
|
|
68
|
-
var resultado = delegua.lexador.mapear(['"texto sem fim']);
|
|
68
|
+
var resultado = delegua.lexador.mapear(['"texto sem fim'], -1);
|
|
69
69
|
expect(resultado.simbolos).toHaveLength(1);
|
|
70
70
|
expect(resultado.erros).toHaveLength(1);
|
|
71
71
|
});
|
|
72
72
|
it('Falha léxica - caractere inesperado', function () {
|
|
73
|
-
var resultado = delegua.lexador.mapear(['平']);
|
|
73
|
+
var resultado = delegua.lexador.mapear(['平'], -1);
|
|
74
74
|
expect(resultado.simbolos).toHaveLength(1);
|
|
75
75
|
expect(resultado.erros).toHaveLength(1);
|
|
76
76
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lexador.test.js","sourceRoot":"","sources":["../../../testes/egua-classico/lexador.test.ts"],"names":[],"mappings":";;AAAA,gDAA+C;AAE/C,QAAQ,CAAC,yBAAyB,EAAE;IAChC,QAAQ,CAAC,UAAU,EAAE;QACjB,IAAI,OAAgB,CAAC;QAErB,UAAU,CAAC;YACP,OAAO,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,qBAAqB,EAAE;YAC5B,EAAE,CAAC,wBAAwB,EAAE;gBACzB,IAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"lexador.test.js","sourceRoot":"","sources":["../../../testes/egua-classico/lexador.test.ts"],"names":[],"mappings":";;AAAA,gDAA+C;AAE/C,QAAQ,CAAC,yBAAyB,EAAE;IAChC,QAAQ,CAAC,UAAU,EAAE;QACjB,IAAI,OAAgB,CAAC;QAErB,UAAU,CAAC;YACP,OAAO,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,qBAAqB,EAAE;YAC5B,EAAE,CAAC,wBAAwB,EAAE;gBACzB,IAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEnD,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wCAAwC,EAAE;gBACzC,IAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAExE,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qBAAqB,EAAE;gBACtB,IAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAExE,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAC9B,MAAM,CAAC,eAAe,CAAC;oBACnB,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oBAC5C,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;oBACvD,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oBAC1C,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;oBACtD,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;iBACvD,CAAC,CACL,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,cAAc,EAAE;gBACf,IAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,wCAAwC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEzF,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC5C,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAC9B,MAAM,CAAC,eAAe,CAAC;oBACnB,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBACvC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oBAC5C,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;oBACvD,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oBAC1C,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;oBACtD,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;oBACnD,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;oBAClD,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;oBAChD,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oBAC3C,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;iBACvD,CAAC,CACL,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kDAAkD,EAAE;gBACnD,IAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAE9D,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAC9B,MAAM,CAAC,eAAe,CAAC;oBACnB,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oBAC3C,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;oBAChD,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oBAC3C,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;iBACvD,CAAC,CACL,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2FAA2F,EAAE;gBAC5F,IAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAE9E,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;YACnC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,mBAAmB,EAAE;YAC1B,EAAE,CAAC,8BAA8B,EAAE;gBAC/B,IAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qCAAqC,EAAE;gBACtC,IAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -5,7 +5,7 @@ describe('Resolvedor (Égua Clássico)', function () {
|
|
|
5
5
|
describe('resolver()', function () {
|
|
6
6
|
var delegua = new delegua_1.Delegua('egua');
|
|
7
7
|
it('Sucesso', function () {
|
|
8
|
-
var retornoLexador = delegua.lexador.mapear(["escreva('Olá mundo');"]);
|
|
8
|
+
var retornoLexador = delegua.lexador.mapear(["escreva('Olá mundo');"], -1);
|
|
9
9
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
10
10
|
delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
|
|
11
11
|
expect(delegua.resolvedor.escopos).toBeTruthy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvedor.test.js","sourceRoot":"","sources":["../../../testes/egua-classico/resolvedor.test.ts"],"names":[],"mappings":";;AAAA,gDAA+C;AAE/C,QAAQ,CAAC,4BAA4B,EAAE;IACnC,QAAQ,CAAC,YAAY,EAAE;QACnB,IAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,CAAC;QAEpC,EAAE,CAAC,SAAS,EAAE;YACV,IAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"resolvedor.test.js","sourceRoot":"","sources":["../../../testes/egua-classico/resolvedor.test.ts"],"names":[],"mappings":";;AAAA,gDAA+C;AAE/C,QAAQ,CAAC,4BAA4B,EAAE;IACnC,QAAQ,CAAC,YAAY,EAAE;QACnB,IAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,CAAC;QAEpC,EAAE,CAAC,SAAS,EAAE;YACV,IAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7E,IAAM,yBAAyB,GAAG,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACtF,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;YACnE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;YAChD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;YACtD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,EAAE,CAAC,uBAAuB,EAAE;YACxB,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;YAChD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;YACtD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,EAAE,CAAC,qBAAqB,EAAE;YACtB,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACvC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;YAChD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;YACtD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,EAAE,CAAC,gBAAgB,EAAE;YACjB,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;YAChD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;YACtD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -6,12 +6,12 @@ describe('Lexador (EguaP)', function () {
|
|
|
6
6
|
var delegua = new delegua_1.Delegua('eguap');
|
|
7
7
|
describe('Cenários de sucesso', function () {
|
|
8
8
|
it('Sucesso - Código vazio', function () {
|
|
9
|
-
var resultado = delegua.lexador.mapear(['']);
|
|
9
|
+
var resultado = delegua.lexador.mapear([''], -1);
|
|
10
10
|
expect(resultado).toBeTruthy();
|
|
11
11
|
expect(resultado.erros).toHaveLength(0);
|
|
12
12
|
});
|
|
13
13
|
it('Sucesso - Olá mundo', function () {
|
|
14
|
-
var resultado = delegua.lexador.mapear(["escreva('Olá mundo')"]);
|
|
14
|
+
var resultado = delegua.lexador.mapear(["escreva('Olá mundo')"], -1);
|
|
15
15
|
expect(resultado).toBeTruthy();
|
|
16
16
|
expect(resultado.simbolos).toHaveLength(4);
|
|
17
17
|
expect(resultado.simbolos).toEqual(expect.arrayContaining([
|
|
@@ -22,7 +22,7 @@ describe('Lexador (EguaP)', function () {
|
|
|
22
22
|
]));
|
|
23
23
|
});
|
|
24
24
|
it('Sucesso - Operação Matemática (soma e igualdade)', function () {
|
|
25
|
-
var resultado = delegua.lexador.mapear(['2 + 3 == 5']);
|
|
25
|
+
var resultado = delegua.lexador.mapear(['2 + 3 == 5'], -1);
|
|
26
26
|
expect(resultado).toBeTruthy();
|
|
27
27
|
expect(resultado.simbolos).toHaveLength(5);
|
|
28
28
|
expect(resultado.simbolos).toEqual(expect.arrayContaining([
|
|
@@ -32,18 +32,18 @@ describe('Lexador (EguaP)', function () {
|
|
|
32
32
|
]));
|
|
33
33
|
});
|
|
34
34
|
it('Sucesso - Atribução de variável e Operação Matemática (diferença, multiplicação e módulo)', function () {
|
|
35
|
-
var resultado = delegua.lexador.mapear(['var numero = 1 * 2 - 3 % 4']);
|
|
35
|
+
var resultado = delegua.lexador.mapear(['var numero = 1 * 2 - 3 % 4'], -1);
|
|
36
36
|
expect(resultado).toBeTruthy();
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
39
|
describe('Cenários de falha', function () {
|
|
40
40
|
it('Falha léxica - texto sem fim', function () {
|
|
41
|
-
var resultado = delegua.lexador.mapear(['"texto sem fim']);
|
|
41
|
+
var resultado = delegua.lexador.mapear(['"texto sem fim'], -1);
|
|
42
42
|
expect(resultado.simbolos).toHaveLength(0);
|
|
43
43
|
expect(resultado.erros).toHaveLength(1);
|
|
44
44
|
});
|
|
45
45
|
it('Falha léxica - caractere inesperado', function () {
|
|
46
|
-
var resultado = delegua.lexador.mapear(['平']);
|
|
46
|
+
var resultado = delegua.lexador.mapear(['平'], -1);
|
|
47
47
|
expect(resultado.simbolos).toHaveLength(0);
|
|
48
48
|
expect(resultado.erros).toHaveLength(1);
|
|
49
49
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lexador.test.js","sourceRoot":"","sources":["../../../testes/eguap/lexador.test.ts"],"names":[],"mappings":";;AAAA,gDAA+C;AAE/C,QAAQ,CAAC,iBAAiB,EAAE;IACxB,QAAQ,CAAC,UAAU,EAAE;QACjB,IAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,OAAO,CAAC,CAAC;QAErC,QAAQ,CAAC,qBAAqB,EAAE;YAC5B,EAAE,CAAC,wBAAwB,EAAE;gBACzB,IAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"lexador.test.js","sourceRoot":"","sources":["../../../testes/eguap/lexador.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,19 +10,19 @@ describe('Interpretador', function () {
|
|
|
10
10
|
describe('Cenários de sucesso', function () {
|
|
11
11
|
describe('Atribuições', function () {
|
|
12
12
|
it('Trivial', function () {
|
|
13
|
-
var retornoLexador = delegua.lexador.mapear(["var a = 1"]);
|
|
13
|
+
var retornoLexador = delegua.lexador.mapear(["var a = 1"], -1);
|
|
14
14
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
15
15
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
16
16
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
17
17
|
});
|
|
18
18
|
it('Vetor', function () {
|
|
19
|
-
var retornoLexador = delegua.lexador.mapear(["var a = [1, 2, 3]"]);
|
|
19
|
+
var retornoLexador = delegua.lexador.mapear(["var a = [1, 2, 3]"], -1);
|
|
20
20
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
21
21
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
22
22
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
23
23
|
});
|
|
24
24
|
it('Dicionário', function () {
|
|
25
|
-
var retornoLexador = delegua.lexador.mapear(["var a = {'a': 1, 'b': 2}"]);
|
|
25
|
+
var retornoLexador = delegua.lexador.mapear(["var a = {'a': 1, 'b': 2}"], -1);
|
|
26
26
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
27
27
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
28
28
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -33,7 +33,7 @@ describe('Interpretador', function () {
|
|
|
33
33
|
var retornoLexador = delegua.lexador.mapear([
|
|
34
34
|
"var a = [1, 2, 3]",
|
|
35
35
|
"escreva(a[1])"
|
|
36
|
-
]);
|
|
36
|
+
], -1);
|
|
37
37
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
38
38
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
39
39
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -42,7 +42,7 @@ describe('Interpretador', function () {
|
|
|
42
42
|
var retornoLexador = delegua.lexador.mapear([
|
|
43
43
|
"var a = {'a': 1, 'b': 2}",
|
|
44
44
|
"escreva(a['b'])"
|
|
45
|
-
]);
|
|
45
|
+
], -1);
|
|
46
46
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
47
47
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
48
48
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -50,13 +50,13 @@ describe('Interpretador', function () {
|
|
|
50
50
|
});
|
|
51
51
|
describe('escreva()', function () {
|
|
52
52
|
it('Olá Mundo (escreva() e literal)', function () {
|
|
53
|
-
var retornoLexador = delegua.lexador.mapear(["escreva('Olá mundo')"]);
|
|
53
|
+
var retornoLexador = delegua.lexador.mapear(["escreva('Olá mundo')"], -1);
|
|
54
54
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
55
55
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
56
56
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
57
57
|
});
|
|
58
58
|
it('nulo', function () {
|
|
59
|
-
var retornoLexador = delegua.lexador.mapear(["escreva(nulo)"]);
|
|
59
|
+
var retornoLexador = delegua.lexador.mapear(["escreva(nulo)"], -1);
|
|
60
60
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
61
61
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
62
62
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -64,7 +64,7 @@ describe('Interpretador', function () {
|
|
|
64
64
|
});
|
|
65
65
|
describe('Operações matemáticas', function () {
|
|
66
66
|
it('Operações matemáticas - Trivial', function () {
|
|
67
|
-
var retornoLexador = delegua.lexador.mapear(["escreva(5 + 4 * 3 - 2 ** 1 / 6 % 10)"]);
|
|
67
|
+
var retornoLexador = delegua.lexador.mapear(["escreva(5 + 4 * 3 - 2 ** 1 / 6 % 10)"], -1);
|
|
68
68
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
69
69
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
70
70
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -72,19 +72,19 @@ describe('Interpretador', function () {
|
|
|
72
72
|
});
|
|
73
73
|
describe('Operações lógicas', function () {
|
|
74
74
|
it('Operações lógicas - ou', function () {
|
|
75
|
-
var retornoLexador = delegua.lexador.mapear(["escreva(verdadeiro ou falso)"]);
|
|
75
|
+
var retornoLexador = delegua.lexador.mapear(["escreva(verdadeiro ou falso)"], -1);
|
|
76
76
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
77
77
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
78
78
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
79
79
|
});
|
|
80
80
|
it('Operações lógicas - e', function () {
|
|
81
|
-
var retornoLexador = delegua.lexador.mapear(["escreva(verdadeiro e falso)"]);
|
|
81
|
+
var retornoLexador = delegua.lexador.mapear(["escreva(verdadeiro e falso)"], -1);
|
|
82
82
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
83
83
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
84
84
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
85
85
|
});
|
|
86
86
|
it('Operações lógicas - em', function () {
|
|
87
|
-
var retornoLexador = delegua.lexador.mapear(["escreva(2 em [1, 2, 3])"]);
|
|
87
|
+
var retornoLexador = delegua.lexador.mapear(["escreva(2 em [1, 2, 3])"], -1);
|
|
88
88
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
89
89
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
90
90
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -92,13 +92,13 @@ describe('Interpretador', function () {
|
|
|
92
92
|
});
|
|
93
93
|
describe('Condicionais', function () {
|
|
94
94
|
it('Condicionais - condição verdadeira', function () {
|
|
95
|
-
var retornoLexador = delegua.lexador.mapear(["se (1 < 2) { escreva('Um menor que dois') } senão { escreva('Nunca será executado') }"]);
|
|
95
|
+
var retornoLexador = delegua.lexador.mapear(["se (1 < 2) { escreva('Um menor que dois') } senão { escreva('Nunca será executado') }"], -1);
|
|
96
96
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
97
97
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
98
98
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
99
99
|
});
|
|
100
100
|
it('Condicionais - condição falsa', function () {
|
|
101
|
-
var retornoLexador = delegua.lexador.mapear(["se (1 > 2) { escreva('Nunca acontece') } senão { escreva('Um não é maior que dois') }"]);
|
|
101
|
+
var retornoLexador = delegua.lexador.mapear(["se (1 > 2) { escreva('Nunca acontece') } senão { escreva('Um não é maior que dois') }"], -1);
|
|
102
102
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
103
103
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
104
104
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -106,7 +106,7 @@ describe('Interpretador', function () {
|
|
|
106
106
|
});
|
|
107
107
|
describe('Laços de repetição', function () {
|
|
108
108
|
it('Laços de repetição - enquanto', function () {
|
|
109
|
-
var retornoLexador = delegua.lexador.mapear(["var a = 0;\nenquanto (a < 10) { a = a + 1 }"]);
|
|
109
|
+
var retornoLexador = delegua.lexador.mapear(["var a = 0;\nenquanto (a < 10) { a = a + 1 }"], -1);
|
|
110
110
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
111
111
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
112
112
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -115,13 +115,13 @@ describe('Interpretador', function () {
|
|
|
115
115
|
var retornoLexador = delegua.lexador.mapear([
|
|
116
116
|
"var a = 0",
|
|
117
117
|
"fazer { a = a + 1 } enquanto (a < 10)"
|
|
118
|
-
]);
|
|
118
|
+
], -1);
|
|
119
119
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
120
120
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
121
121
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
122
122
|
});
|
|
123
123
|
it('Laços de repetição - para', function () {
|
|
124
|
-
var retornoLexador = delegua.lexador.mapear(["para (var i = 0; i < 10; i = i + 1) { escreva(i) }"]);
|
|
124
|
+
var retornoLexador = delegua.lexador.mapear(["para (var i = 0; i < 10; i = i + 1) { escreva(i) }"], -1);
|
|
125
125
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
126
126
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
127
127
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -145,16 +145,16 @@ describe('Interpretador', function () {
|
|
|
145
145
|
"nomeDoCachorro.latir()",
|
|
146
146
|
"escreva('Classe: OK!')"
|
|
147
147
|
];
|
|
148
|
-
var retornoLexador = delegua.lexador.mapear(codigo);
|
|
148
|
+
var retornoLexador = delegua.lexador.mapear(codigo, -1);
|
|
149
149
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
150
150
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
151
151
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
152
152
|
});
|
|
153
153
|
});
|
|
154
|
-
describe
|
|
154
|
+
describe('Declaração e chamada de funções', function () {
|
|
155
155
|
it('Fibonacci', function () {
|
|
156
156
|
var codigo = [
|
|
157
|
-
"
|
|
157
|
+
"função fibonacci(n) {",
|
|
158
158
|
" se (n == 0) {",
|
|
159
159
|
" retorna(0);",
|
|
160
160
|
" }",
|
|
@@ -180,7 +180,7 @@ describe('Interpretador', function () {
|
|
|
180
180
|
"a = fibonacci(5);",
|
|
181
181
|
"escreva(a);"
|
|
182
182
|
];
|
|
183
|
-
var retornoLexador = delegua.lexador.mapear(codigo);
|
|
183
|
+
var retornoLexador = delegua.lexador.mapear(codigo, -1);
|
|
184
184
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
185
185
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
186
186
|
expect(retornoInterpretador.erros).toHaveLength(0);
|
|
@@ -193,7 +193,7 @@ describe('Interpretador', function () {
|
|
|
193
193
|
var retornoLexador = delegua.lexador.mapear([
|
|
194
194
|
"var a = [1, 2, 3];",
|
|
195
195
|
"escreva(a[4]);"
|
|
196
|
-
]);
|
|
196
|
+
], -1);
|
|
197
197
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
198
198
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
199
199
|
expect(retornoInterpretador.erros.length).toBeGreaterThan(0);
|
|
@@ -202,7 +202,7 @@ describe('Interpretador', function () {
|
|
|
202
202
|
var retornoLexador = delegua.lexador.mapear([
|
|
203
203
|
"var a = {'a': 1, 'b': 2};",
|
|
204
204
|
"escreva(a['c']);"
|
|
205
|
-
]);
|
|
205
|
+
], -1);
|
|
206
206
|
var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
|
|
207
207
|
var retornoInterpretador = delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
|
|
208
208
|
expect(retornoInterpretador.erros.length).toBeGreaterThanOrEqual(0);
|