@designliquido/delegua 0.2.2 → 0.2.3

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.
@@ -12,22 +12,22 @@ describe('Interpretador', function () {
12
12
  it('Trivial', function () {
13
13
  var retornoLexador = delegua.lexador.mapear(["var a = 1"]);
14
14
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
15
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
16
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
15
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
16
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
17
17
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
18
18
  });
19
19
  it('Vetor', function () {
20
20
  var retornoLexador = delegua.lexador.mapear(["var a = [1, 2, 3]"]);
21
21
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
22
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
23
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
22
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
23
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
24
24
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
25
25
  });
26
26
  it('Dicionário', function () {
27
27
  var retornoLexador = delegua.lexador.mapear(["var a = {'a': 1, 'b': 2}"]);
28
28
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
29
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
30
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
29
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
30
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
31
31
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
32
32
  });
33
33
  });
@@ -38,8 +38,8 @@ describe('Interpretador', function () {
38
38
  "escreva(a[1])"
39
39
  ]);
40
40
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
41
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
42
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
41
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
42
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
43
43
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
44
44
  });
45
45
  it('Acesso a elementos de dicionário', function () {
@@ -48,8 +48,8 @@ describe('Interpretador', function () {
48
48
  "escreva(a['b'])"
49
49
  ]);
50
50
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
51
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
52
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
51
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
52
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
53
53
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
54
54
  });
55
55
  });
@@ -57,15 +57,15 @@ describe('Interpretador', function () {
57
57
  it('Olá Mundo (escreva() e literal)', function () {
58
58
  var retornoLexador = delegua.lexador.mapear(["escreva('Olá mundo')"]);
59
59
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
60
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
61
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
60
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
61
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
62
62
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
63
63
  });
64
64
  it('nulo', function () {
65
65
  var retornoLexador = delegua.lexador.mapear(["escreva(nulo)"]);
66
66
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
67
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
68
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
67
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
68
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
69
69
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
70
70
  });
71
71
  });
@@ -73,8 +73,8 @@ describe('Interpretador', function () {
73
73
  it('Operações matemáticas - Trivial', function () {
74
74
  var retornoLexador = delegua.lexador.mapear(["escreva(5 + 4 * 3 - 2 ** 1 / 6 % 10)"]);
75
75
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
76
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
77
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
76
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
77
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
78
78
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
79
79
  });
80
80
  });
@@ -82,22 +82,22 @@ describe('Interpretador', function () {
82
82
  it('Operações lógicas - ou', function () {
83
83
  var retornoLexador = delegua.lexador.mapear(["escreva(verdadeiro ou falso)"]);
84
84
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
85
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
86
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
85
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
86
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
87
87
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
88
88
  });
89
89
  it('Operações lógicas - e', function () {
90
90
  var retornoLexador = delegua.lexador.mapear(["escreva(verdadeiro e falso)"]);
91
91
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
92
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
93
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
92
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
93
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
94
94
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
95
95
  });
96
96
  it('Operações lógicas - em', function () {
97
97
  var retornoLexador = delegua.lexador.mapear(["escreva(2 em [1, 2, 3])"]);
98
98
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
99
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
100
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
99
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
100
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
101
101
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
102
102
  });
103
103
  });
@@ -105,15 +105,15 @@ describe('Interpretador', function () {
105
105
  it('Condicionais - condição verdadeira', function () {
106
106
  var retornoLexador = delegua.lexador.mapear(["se (1 < 2) { escreva('Um menor que dois') } senão { escreva('Nunca será executado') }"]);
107
107
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
108
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
109
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
108
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
109
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
110
110
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
111
111
  });
112
112
  it('Condicionais - condição falsa', function () {
113
113
  var retornoLexador = delegua.lexador.mapear(["se (1 > 2) { escreva('Nunca acontece') } senão { escreva('Um não é maior que dois') }"]);
114
114
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
115
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
116
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
115
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
116
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
117
117
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
118
118
  });
119
119
  });
@@ -121,8 +121,8 @@ describe('Interpretador', function () {
121
121
  it('Laços de repetição - enquanto', function () {
122
122
  var retornoLexador = delegua.lexador.mapear(["var a = 0;\nenquanto (a < 10) { a = a + 1 }"]);
123
123
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
124
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
125
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
124
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
125
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
126
126
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
127
127
  });
128
128
  it('Laços de repetição - fazer ... enquanto', function () {
@@ -131,15 +131,15 @@ describe('Interpretador', function () {
131
131
  "fazer { a = a + 1 } enquanto (a < 10)"
132
132
  ]);
133
133
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
134
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
135
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
134
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
135
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
136
136
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
137
137
  });
138
138
  it('Laços de repetição - para', function () {
139
139
  var retornoLexador = delegua.lexador.mapear(["para (var i = 0; i < 10; i = i + 1) { escreva(i) }"]);
140
140
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
141
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
142
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
141
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
142
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
143
143
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
144
144
  });
145
145
  });
@@ -163,8 +163,8 @@ describe('Interpretador', function () {
163
163
  ];
164
164
  var retornoLexador = delegua.lexador.mapear(codigo);
165
165
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
166
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
167
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
166
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
167
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
168
168
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
169
169
  });
170
170
  });
@@ -199,8 +199,8 @@ describe('Interpretador', function () {
199
199
  ];
200
200
  var retornoLexador = delegua.lexador.mapear(codigo);
201
201
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
202
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
203
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
202
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
203
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
204
204
  expect(delegua.teveErroEmTempoDeExecucao).toBe(false);
205
205
  });
206
206
  });
@@ -213,8 +213,8 @@ describe('Interpretador', function () {
213
213
  "escreva(a[4]);"
214
214
  ]);
215
215
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
216
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
217
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
216
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
217
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
218
218
  expect(delegua.teveErroEmTempoDeExecucao).toBe(true);
219
219
  });
220
220
  it.skip('Acesso a elementos de dicionário', function () {
@@ -223,8 +223,8 @@ describe('Interpretador', function () {
223
223
  "escreva(a['c']);"
224
224
  ]);
225
225
  var retornoAvaliadorSintatico = delegua.avaliadorSintatico.analisar(retornoLexador.simbolos);
226
- delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
227
- delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes);
226
+ var retornoResolvedor = delegua.resolvedor.resolver(retornoAvaliadorSintatico.declaracoes);
227
+ delegua.interpretador.interpretar(retornoAvaliadorSintatico.declaracoes, retornoResolvedor.locais);
228
228
  expect(delegua.teveErroEmTempoDeExecucao).toBe(true);
229
229
  });
230
230
  });
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador.test.js","sourceRoot":"","sources":["../../testes/interpretador.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpretador.test.js","sourceRoot":"","sources":["../../testes/interpretador.test.ts"],"names":[],"mappings":"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"}