@designliquido/delegua 0.10.6 → 0.10.7

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.
Files changed (101) hide show
  1. package/bin/package.json +4 -2
  2. package/fontes/bibliotecas/importar-biblioteca.d.ts +1 -1
  3. package/fontes/bibliotecas/importar-biblioteca.js +28 -6
  4. package/fontes/bibliotecas/importar-biblioteca.js.map +1 -1
  5. package/fontes/delegua.d.ts +4 -1
  6. package/fontes/delegua.js +13 -9
  7. package/fontes/delegua.js.map +1 -1
  8. package/fontes/interpretador/interpretador.js +1 -1
  9. package/fontes/interpretador/interpretador.js.map +1 -1
  10. package/fontes/tradutores/{index.d.ts → tradutor-javascript.d.ts} +0 -0
  11. package/fontes/tradutores/{index.js → tradutor-javascript.js} +18 -3
  12. package/fontes/tradutores/tradutor-javascript.js.map +1 -0
  13. package/fontes/tradutores/tradutor-reverso-javascript.d.ts +9 -0
  14. package/fontes/tradutores/tradutor-reverso-javascript.js +43 -0
  15. package/fontes/tradutores/tradutor-reverso-javascript.js.map +1 -0
  16. package/package.json +4 -2
  17. package/coverage/lcov-report/block-navigation.d.ts +0 -1
  18. package/coverage/lcov-report/block-navigation.js +0 -70
  19. package/coverage/lcov-report/block-navigation.js.map +0 -1
  20. package/coverage/lcov-report/prettify.d.ts +0 -0
  21. package/coverage/lcov-report/prettify.js +0 -477
  22. package/coverage/lcov-report/prettify.js.map +0 -1
  23. package/coverage/lcov-report/sorter.d.ts +0 -1
  24. package/coverage/lcov-report/sorter.js +0 -163
  25. package/coverage/lcov-report/sorter.js.map +0 -1
  26. package/docs/assets/main.d.ts +0 -0
  27. package/docs/assets/main.js +0 -604
  28. package/docs/assets/main.js.map +0 -1
  29. package/docs/assets/search.d.ts +0 -0
  30. package/docs/assets/search.js +0 -2
  31. package/docs/assets/search.js.map +0 -1
  32. package/fontes/tradutores/index.js.map +0 -1
  33. package/jest.config.d.ts +0 -3
  34. package/jest.config.js +0 -12
  35. package/jest.config.js.map +0 -1
  36. package/testes/__mocks__/estatistica.d.ts +0 -2
  37. package/testes/__mocks__/estatistica.js +0 -4
  38. package/testes/__mocks__/estatistica.js.map +0 -1
  39. package/testes/__mocks__/fisica.d.ts +0 -2
  40. package/testes/__mocks__/fisica.js +0 -4
  41. package/testes/__mocks__/fisica.js.map +0 -1
  42. package/testes/__mocks__/matematica.d.ts +0 -2
  43. package/testes/__mocks__/matematica.js +0 -4
  44. package/testes/__mocks__/matematica.js.map +0 -1
  45. package/testes/avaliador-sintatico.test.d.ts +0 -1
  46. package/testes/avaliador-sintatico.test.js +0 -63
  47. package/testes/avaliador-sintatico.test.js.map +0 -1
  48. package/testes/biblioteca-global.test.d.ts +0 -1
  49. package/testes/biblioteca-global.test.js +0 -215
  50. package/testes/biblioteca-global.test.js.map +0 -1
  51. package/testes/birl/avaliador-sintatico.test.d.ts +0 -1
  52. package/testes/birl/avaliador-sintatico.test.js +0 -18
  53. package/testes/birl/avaliador-sintatico.test.js.map +0 -1
  54. package/testes/birl/lexador.test.d.ts +0 -1
  55. package/testes/birl/lexador.test.js +0 -31
  56. package/testes/birl/lexador.test.js.map +0 -1
  57. package/testes/delegua.test.d.ts +0 -1
  58. package/testes/delegua.test.js +0 -16
  59. package/testes/delegua.test.js.map +0 -1
  60. package/testes/egua-classico/avaliador-sintatico.test.d.ts +0 -1
  61. package/testes/egua-classico/avaliador-sintatico.test.js +0 -27
  62. package/testes/egua-classico/avaliador-sintatico.test.js.map +0 -1
  63. package/testes/egua-classico/delegua.test.d.ts +0 -1
  64. package/testes/egua-classico/delegua.test.js +0 -11
  65. package/testes/egua-classico/delegua.test.js.map +0 -1
  66. package/testes/egua-classico/interpretador.test.d.ts +0 -1
  67. package/testes/egua-classico/interpretador.test.js +0 -199
  68. package/testes/egua-classico/interpretador.test.js.map +0 -1
  69. package/testes/egua-classico/lexador.test.d.ts +0 -1
  70. package/testes/egua-classico/lexador.test.js +0 -80
  71. package/testes/egua-classico/lexador.test.js.map +0 -1
  72. package/testes/egua-classico/resolvedor.test.d.ts +0 -1
  73. package/testes/egua-classico/resolvedor.test.js +0 -37
  74. package/testes/egua-classico/resolvedor.test.js.map +0 -1
  75. package/testes/eguap/avaliador-sintatico.test.d.ts +0 -1
  76. package/testes/eguap/avaliador-sintatico.test.js +0 -30
  77. package/testes/eguap/avaliador-sintatico.test.js.map +0 -1
  78. package/testes/eguap/interpretador.test.d.ts +0 -1
  79. package/testes/eguap/interpretador.test.js +0 -208
  80. package/testes/eguap/interpretador.test.js.map +0 -1
  81. package/testes/eguap/lexador.test.d.ts +0 -1
  82. package/testes/eguap/lexador.test.js +0 -53
  83. package/testes/eguap/lexador.test.js.map +0 -1
  84. package/testes/interpretador.test.d.ts +0 -1
  85. package/testes/interpretador.test.js +0 -478
  86. package/testes/interpretador.test.js.map +0 -1
  87. package/testes/lexador.test.d.ts +0 -1
  88. package/testes/lexador.test.js +0 -166
  89. package/testes/lexador.test.js.map +0 -1
  90. package/testes/tradutores/tradutor-javascript.test.d.ts +0 -1
  91. package/testes/tradutores/tradutor-javascript.test.js +0 -413
  92. package/testes/tradutores/tradutor-javascript.test.js.map +0 -1
  93. package/testes/visualg/avaliador-sintatico.test.d.ts +0 -1
  94. package/testes/visualg/avaliador-sintatico.test.js +0 -113
  95. package/testes/visualg/avaliador-sintatico.test.js.map +0 -1
  96. package/testes/visualg/interpretador.test.d.ts +0 -1
  97. package/testes/visualg/interpretador.test.js +0 -24
  98. package/testes/visualg/interpretador.test.js.map +0 -1
  99. package/testes/visualg/lexador.test.d.ts +0 -1
  100. package/testes/visualg/lexador.test.js +0 -67
  101. package/testes/visualg/lexador.test.js.map +0 -1
@@ -1,478 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const delegua_1 = require("../fontes/delegua");
4
- describe('Interpretador', () => {
5
- describe('interpretar()', () => {
6
- let delegua;
7
- beforeEach(() => {
8
- delegua = new delegua_1.Delegua('delegua');
9
- });
10
- describe('Cenários de sucesso', () => {
11
- describe('Atribuições', () => {
12
- it('Trivial', async () => {
13
- const retornoLexador = delegua.lexador.mapear(["var a = 1"], -1);
14
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
15
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
16
- expect(retornoInterpretador.erros).toHaveLength(0);
17
- });
18
- it('Vetor', async () => {
19
- const retornoLexador = delegua.lexador.mapear(["var a = [1, 2, 3]"], -1);
20
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
21
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
22
- expect(retornoInterpretador.erros).toHaveLength(0);
23
- });
24
- it('Dicionário', async () => {
25
- const retornoLexador = delegua.lexador.mapear(["var a = {'a': 1, 'b': 2}"], -1);
26
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
27
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
28
- expect(retornoInterpretador.erros).toHaveLength(0);
29
- });
30
- it('Concatenação', async () => {
31
- const retornoLexador = delegua.lexador.mapear(["var a = 1 + '1'"], -1);
32
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
33
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
34
- expect(retornoInterpretador.erros).toHaveLength(0);
35
- });
36
- it('Interpolação de Texto', async () => {
37
- const retornoLexador = delegua.lexador.mapear([
38
- "var comidaFavorita = 'strogonoff'",
39
- 'escreva("Minha comida favorita é ${comidaFavorita}")'
40
- ], -1);
41
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
42
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
43
- expect(retornoInterpretador.erros).toHaveLength(0);
44
- });
45
- });
46
- describe('Acesso a variáveis e objetos', () => {
47
- it('Acesso a elementos de vetor', async () => {
48
- const retornoLexador = delegua.lexador.mapear([
49
- "var a = [1, 2, 3]",
50
- "escreva(a[1])"
51
- ], -1);
52
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
53
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
54
- expect(retornoInterpretador.erros).toHaveLength(0);
55
- });
56
- it('Acesso a elementos de dicionário', async () => {
57
- const retornoLexador = delegua.lexador.mapear([
58
- "var a = {'a': 1, 'b': 2}",
59
- "escreva(a['b'])"
60
- ], -1);
61
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
62
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
63
- expect(retornoInterpretador.erros).toHaveLength(0);
64
- });
65
- });
66
- describe('escreva()', () => {
67
- it('Olá Mundo (escreva() e literal)', async () => {
68
- const retornoLexador = delegua.lexador.mapear(["escreva('Olá mundo')"], -1);
69
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
70
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
71
- expect(retornoInterpretador.erros).toHaveLength(0);
72
- });
73
- it('nulo', async () => {
74
- const retornoLexador = delegua.lexador.mapear(["escreva(nulo)"], -1);
75
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
76
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
77
- expect(retornoInterpretador.erros).toHaveLength(0);
78
- });
79
- it('nulo igual a nulo', async () => {
80
- const retornoLexador = delegua.lexador.mapear(["escreva(nulo == nulo)"], -1);
81
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
82
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
83
- expect(retornoInterpretador.erros).toHaveLength(0);
84
- });
85
- it('verdadeiro', async () => {
86
- const retornoLexador = delegua.lexador.mapear(["escreva(verdadeiro)"], -1);
87
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
88
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
89
- expect(retornoInterpretador.erros).toHaveLength(0);
90
- });
91
- it('falso', async () => {
92
- const retornoLexador = delegua.lexador.mapear(["escreva(falso)"], -1);
93
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
94
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
95
- expect(retornoInterpretador.erros).toHaveLength(0);
96
- });
97
- });
98
- describe('Importar', () => {
99
- it('Importar biblioteca externa', async () => {
100
- const retornoLexador = delegua.lexador.mapear(["var commander = importar('commander')"], -1);
101
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
102
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
103
- expect(retornoInterpretador.erros).toHaveLength(0);
104
- });
105
- describe('Importar bibliotecas delegua', () => {
106
- describe('testa importação da biblioteca de estatística', () => {
107
- beforeEach(() => {
108
- jest.mock('./__mocks__/estatistica.ts');
109
- });
110
- afterAll(() => {
111
- jest.unmock("./__mocks__/estatistica.ts");
112
- });
113
- it('estatística', async () => {
114
- const retornoLexador = delegua.lexador.mapear(["var estatística = importar('estatística')"], -1);
115
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
116
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
117
- expect(retornoInterpretador.erros).toHaveLength(0);
118
- });
119
- it('estatistica', async () => {
120
- const retornoLexador = delegua.lexador.mapear(["var estatistica = importar('estatistica')"], -1);
121
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
122
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
123
- expect(retornoInterpretador.erros).toHaveLength(0);
124
- });
125
- });
126
- describe('testa importação da biblioteca de física', () => {
127
- beforeEach(() => {
128
- jest.mock('./__mocks__/fisica.ts');
129
- });
130
- afterEach(() => {
131
- jest.unmock("./__mocks__/fisica.ts");
132
- });
133
- it('física', async () => {
134
- const retornoLexador = delegua.lexador.mapear(["var física = importar('física')"], -1);
135
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
136
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
137
- expect(retornoInterpretador.erros).toHaveLength(0);
138
- });
139
- it('fisica', async () => {
140
- const retornoLexador = delegua.lexador.mapear(["var fisica = importar('fisica')"], -1);
141
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
142
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
143
- expect(retornoInterpretador.erros).toHaveLength(0);
144
- });
145
- });
146
- describe('testa importação da biblioteca de matemática', () => {
147
- beforeEach(() => {
148
- jest.mock('./__mocks__/matematica.ts');
149
- });
150
- afterAll(() => {
151
- jest.unmock("./__mocks__/matematica.ts");
152
- });
153
- it('matemática com acento', async () => {
154
- const retornoLexador = delegua.lexador.mapear(["var matemática = importar('matemática')"], -1);
155
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
156
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
157
- expect(retornoInterpretador.erros).toHaveLength(0);
158
- });
159
- it('matematica sem acento', async () => {
160
- const retornoLexador = delegua.lexador.mapear(["var matematica = importar('matematica')"], -1);
161
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
162
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
163
- expect(retornoInterpretador.erros).toHaveLength(0);
164
- });
165
- });
166
- });
167
- });
168
- describe('Delegua com parametro de performance', () => {
169
- it('performance', async () => {
170
- const deleguaPerformance = new delegua_1.Delegua('delegua', true);
171
- const retornoLexador = deleguaPerformance.lexador.mapear(["escreva(1 + 1)"], -1);
172
- const retornoAvaliadorSintatico = deleguaPerformance.avaliadorSintatico.analisar(retornoLexador);
173
- const retornoInterpretador = await deleguaPerformance.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
174
- expect(retornoInterpretador.erros).toHaveLength(0);
175
- });
176
- });
177
- describe('Operações matemáticas', () => {
178
- it('Operações matemáticas - Trivial', async () => {
179
- const retornoLexador = delegua.lexador.mapear(["escreva(5 + 4 * 3 - 2 ** 1 / 6 % 10)"], -1);
180
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
181
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
182
- expect(retornoInterpretador.erros).toHaveLength(0);
183
- });
184
- it('Operações matemáticas - Subtração', async () => {
185
- const retornoLexador = delegua.lexador.mapear(["-1"], -1);
186
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
187
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
188
- expect(retornoInterpretador.erros).toHaveLength(0);
189
- });
190
- });
191
- describe('Operações lógicas', () => {
192
- it('Operações lógicas - ou', async () => {
193
- const retornoLexador = delegua.lexador.mapear(["escreva(verdadeiro ou falso)"], -1);
194
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
195
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
196
- expect(retornoInterpretador.erros).toHaveLength(0);
197
- });
198
- it('Operações lógicas - e', async () => {
199
- const retornoLexador = delegua.lexador.mapear(["escreva(verdadeiro e falso)"], -1);
200
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
201
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
202
- expect(retornoInterpretador.erros).toHaveLength(0);
203
- });
204
- it('Operações lógicas - negação', async () => {
205
- const retornoLexador = delegua.lexador.mapear(["!verdadeiro"], -1);
206
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
207
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
208
- expect(retornoInterpretador.erros).toHaveLength(0);
209
- });
210
- it('Operações lógicas - em', async () => {
211
- const retornoLexador = delegua.lexador.mapear(["escreva(2 em [1, 2, 3])"], -1);
212
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
213
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
214
- expect(retornoInterpretador.erros).toHaveLength(0);
215
- });
216
- it('Operações lógicas - bit a bit não', async () => {
217
- const retornoLexador = delegua.lexador.mapear(["~1"], -1);
218
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
219
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
220
- expect(retornoInterpretador.erros).toHaveLength(0);
221
- });
222
- it('Operações lógicas - menor menor', async () => {
223
- const retornoLexador = delegua.lexador.mapear(["1 << 2"], -1);
224
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
225
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
226
- expect(retornoInterpretador.erros).toHaveLength(0);
227
- });
228
- it('Operações lógicas - maior maior', async () => {
229
- const retornoLexador = delegua.lexador.mapear(["2 >> 1"], -1);
230
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
231
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
232
- expect(retornoInterpretador.erros).toHaveLength(0);
233
- });
234
- it('Operações lógicas - bit ou', async () => {
235
- const retornoLexador = delegua.lexador.mapear(["1 | 2"], -1);
236
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
237
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
238
- expect(retornoInterpretador.erros).toHaveLength(0);
239
- });
240
- it('Operações lógicas - bit e', async () => {
241
- const retornoLexador = delegua.lexador.mapear(["1 & 1"], -1);
242
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
243
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
244
- expect(retornoInterpretador.erros).toHaveLength(0);
245
- });
246
- it('Operações lógicas - bit xor', async () => {
247
- const retornoLexador = delegua.lexador.mapear(["1 ^ 2"], -1);
248
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
249
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
250
- expect(retornoInterpretador.erros).toHaveLength(0);
251
- });
252
- });
253
- describe('Escolha - Caso', () => {
254
- it('Escolha', async () => {
255
- const codigo = [
256
- "escolha (1) {",
257
- "caso 1:",
258
- "escreva('correspondente à opção 1');",
259
- "caso 2:",
260
- "escreva('correspondente à opção 2');",
261
- "padrao:",
262
- "escreva('Sem opção correspondente');",
263
- "}"
264
- ];
265
- const retornoLexador = delegua.lexador.mapear(codigo, -1);
266
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
267
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
268
- expect(retornoInterpretador.erros).toHaveLength(0);
269
- });
270
- });
271
- describe('Tente - Pegue - Finalmente', () => {
272
- it('Tente', async () => {
273
- const codigo = [
274
- "tente {",
275
- "escreva('sucesso');",
276
- "} pegue {",
277
- "escreva('pegue');",
278
- "} finalmente {",
279
- "escreva('pronto');",
280
- "}"
281
- ];
282
- const retornoLexador = delegua.lexador.mapear(codigo, -1);
283
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
284
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
285
- expect(retornoInterpretador.erros).toHaveLength(0);
286
- });
287
- it("Tente com Pegue parametrizado", async () => {
288
- const retornoLexador = delegua.lexador.mapear(["tente { i = i + 1 } pegue (erro) { escreva(erro) }"], -1);
289
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
290
- expect(retornoAvaliadorSintatico).toBeTruthy();
291
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
292
- expect(retornoInterpretador.erros).toHaveLength(0);
293
- });
294
- it('Tente com senão', async () => {
295
- const codigo = [
296
- "tente {",
297
- "se (1 != 1) {",
298
- "escreva('sucesso');",
299
- "}",
300
- "senao {",
301
- "escreva('é diferente');",
302
- "}",
303
- "} pegue {",
304
- "escreva('pegue');",
305
- "} finalmente {",
306
- "escreva('pronto');",
307
- "}"
308
- ];
309
- const retornoLexador = delegua.lexador.mapear(codigo, -1);
310
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
311
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
312
- expect(retornoInterpretador.erros).toHaveLength(0);
313
- });
314
- it('Pegue', async () => {
315
- const codigo = [
316
- "tente {",
317
- "1 > '1';",
318
- "escreva('sucesso');",
319
- "} pegue {",
320
- "escreva('captura');",
321
- "} finalmente {",
322
- "escreva('pronto');",
323
- "}"
324
- ];
325
- const retornoLexador = delegua.lexador.mapear(codigo, -1);
326
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
327
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
328
- expect(retornoInterpretador.erros).toHaveLength(0);
329
- });
330
- }),
331
- describe('Condicionais', () => {
332
- it('Condicionais - condição verdadeira', async () => {
333
- const retornoLexador = delegua.lexador.mapear(["se (1 < 2) { escreva('Um menor que dois') } senão { escreva('Nunca será executado') }"], -1);
334
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
335
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
336
- expect(retornoInterpretador.erros).toHaveLength(0);
337
- });
338
- it('Condicionais - condição falsa', async () => {
339
- const retornoLexador = delegua.lexador.mapear(["se (1 > 2) { escreva('Nunca acontece') } senão { escreva('Um não é maior que dois') }"], -1);
340
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
341
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
342
- expect(retornoInterpretador.erros).toHaveLength(0);
343
- });
344
- it('Condicionais - condição menor igual', async () => {
345
- const retornoLexador = delegua.lexador.mapear(["se (1 <= 2) { escreva('Um é menor e igual a dois') } senão { escreva('Nunca será executado') }"], -1);
346
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
347
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
348
- expect(retornoInterpretador.erros).toHaveLength(0);
349
- });
350
- it('Condicionais - condição maior igual', async () => {
351
- const retornoLexador = delegua.lexador.mapear(["se (2 >= 1) { escreva('Dois é maior ou igual a um') } senão { escreva('Nunca será executado') }"], -1);
352
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
353
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
354
- expect(retornoInterpretador.erros).toHaveLength(0);
355
- });
356
- it('Condicionais - condição diferente', async () => {
357
- const retornoLexador = delegua.lexador.mapear(["se (2 != 1) { escreva('Dois é diferente de um') } senão { escreva('Nunca será executado') }"], -1);
358
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
359
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
360
- expect(retornoInterpretador.erros).toHaveLength(0);
361
- });
362
- });
363
- describe('Laços de repetição', () => {
364
- it('Laços de repetição - enquanto', async () => {
365
- const retornoLexador = delegua.lexador.mapear(["var a = 0;\nenquanto (a < 10) { a = a + 1 }"], -1);
366
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
367
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
368
- expect(retornoInterpretador.erros).toHaveLength(0);
369
- });
370
- it('Laços de repetição - fazer ... enquanto', async () => {
371
- const retornoLexador = delegua.lexador.mapear([
372
- "var a = 0",
373
- "fazer { a = a + 1 } enquanto (a < 10)"
374
- ], -1);
375
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
376
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
377
- expect(retornoInterpretador.erros).toHaveLength(0);
378
- });
379
- it('Laços de repetição - para', async () => {
380
- const retornoLexador = delegua.lexador.mapear(["para (var i = 0; i < 10; i = i + 1) { escreva(i) }"], -1);
381
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
382
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
383
- expect(retornoInterpretador.erros).toHaveLength(0);
384
- });
385
- });
386
- describe('Classes', () => {
387
- it('Trivial', async () => {
388
- const codigo = [
389
- "classe Animal {",
390
- " correr() {",
391
- " escreva('Correndo Loucamente')",
392
- " }",
393
- "}",
394
- "classe Cachorro herda Animal {",
395
- " latir() {",
396
- " escreva('Au Au Au Au')",
397
- " }",
398
- "}",
399
- "var nomeDoCachorro = Cachorro()",
400
- "nomeDoCachorro.correr()",
401
- "nomeDoCachorro.latir()",
402
- "escreva('Classe: OK!')"
403
- ];
404
- const retornoLexador = delegua.lexador.mapear(codigo, -1);
405
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
406
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
407
- expect(retornoInterpretador.erros).toHaveLength(0);
408
- });
409
- });
410
- describe('Declaração e chamada de funções', () => {
411
- it('Fibonacci', async () => {
412
- const codigo = [
413
- "função fibonacci(n) {",
414
- " se (n == 0) {",
415
- " retorna(0);",
416
- " }",
417
- " se (n == 1) {",
418
- " retorna(1);",
419
- " }",
420
- " var n1 = n - 1;",
421
- " var n2 = n - 2;",
422
- " var f1 = fibonacci(n1);",
423
- " var f2 = fibonacci(n2);",
424
- " retorna(f1 + f2);",
425
- "}",
426
- "var a = fibonacci(0);",
427
- "escreva(a);",
428
- "a = fibonacci(1);",
429
- "escreva(a);",
430
- "a = fibonacci(2);",
431
- "escreva(a);",
432
- "a = fibonacci(3);",
433
- "escreva(a);",
434
- "a = fibonacci(4);",
435
- "escreva(a);",
436
- "a = fibonacci(5);",
437
- "escreva(a);"
438
- ];
439
- const retornoLexador = delegua.lexador.mapear(codigo, -1);
440
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
441
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
442
- expect(retornoInterpretador.erros).toHaveLength(0);
443
- });
444
- });
445
- });
446
- describe('Cenários de falha', () => {
447
- describe('Acesso a variáveis e objetos', () => {
448
- it('Acesso a elementos de vetor', async () => {
449
- const retornoLexador = delegua.lexador.mapear([
450
- "var a = [1, 2, 3];",
451
- "escreva(a[4]);"
452
- ], -1);
453
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
454
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
455
- expect(retornoInterpretador.erros.length).toBeGreaterThan(0);
456
- });
457
- it('Acesso a elementos de dicionário', async () => {
458
- const retornoLexador = delegua.lexador.mapear([
459
- "var a = {'a': 1, 'b': 2};",
460
- "escreva(a['c']);"
461
- ], -1);
462
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
463
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
464
- expect(retornoInterpretador.erros.length).toBeGreaterThanOrEqual(0);
465
- });
466
- });
467
- describe('Importar', () => {
468
- it('Importar biblioteca externa que não existe', async () => {
469
- const retornoLexador = delegua.lexador.mapear(["var naoexiste = importar('naoexiste')"], -1);
470
- const retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador);
471
- const retornoInterpretador = await delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
472
- expect(retornoInterpretador.erros.length).toBeGreaterThan(0);
473
- });
474
- });
475
- });
476
- });
477
- });
478
- //# sourceMappingURL=interpretador.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpretador.test.js","sourceRoot":"","sources":["../../testes/interpretador.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};