@designliquido/delegua 0.2.3 → 0.2.6

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 (95) hide show
  1. package/bin/package.json +4 -3
  2. package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +67 -0
  3. package/fontes/avaliador-sintatico/avaliador-sintatico.js +663 -0
  4. package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -0
  5. package/fontes/avaliador-sintatico/dialetos/{egua-classico.d.ts → avaliador-sintatico-egua-classico.d.ts} +2 -1
  6. package/fontes/avaliador-sintatico/dialetos/{egua-classico.js → avaliador-sintatico-egua-classico.js} +153 -155
  7. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -0
  8. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.d.ts +80 -0
  9. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js +708 -0
  10. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js.map +1 -0
  11. package/fontes/avaliador-sintatico/dialetos/index.d.ts +1 -1
  12. package/fontes/avaliador-sintatico/dialetos/index.js +1 -1
  13. package/fontes/avaliador-sintatico/dialetos/index.js.map +1 -1
  14. package/fontes/avaliador-sintatico/index.d.ts +2 -66
  15. package/fontes/avaliador-sintatico/index.js +15 -661
  16. package/fontes/avaliador-sintatico/index.js.map +1 -1
  17. package/fontes/delegua.d.ts +6 -3
  18. package/fontes/delegua.js +32 -18
  19. package/fontes/delegua.js.map +1 -1
  20. package/fontes/interfaces/avaliador-sintatico-interface.d.ts +4 -3
  21. package/fontes/interfaces/delegua-interface.d.ts +3 -0
  22. package/fontes/interfaces/delegua-interface.js +3 -0
  23. package/fontes/interfaces/delegua-interface.js.map +1 -0
  24. package/fontes/interfaces/index.d.ts +7 -6
  25. package/fontes/interfaces/index.js +1 -0
  26. package/fontes/interfaces/index.js.map +1 -1
  27. package/fontes/interfaces/interpretador-interface.d.ts +2 -1
  28. package/fontes/interfaces/lexador-interface.d.ts +1 -1
  29. package/fontes/interpretador/dialetos/egua-classico.d.ts +5 -2
  30. package/fontes/interpretador/dialetos/egua-classico.js +30 -25
  31. package/fontes/interpretador/dialetos/egua-classico.js.map +1 -1
  32. package/fontes/interpretador/erro-interpretador.d.ts +5 -0
  33. package/fontes/interpretador/erro-interpretador.js +3 -0
  34. package/fontes/interpretador/erro-interpretador.js.map +1 -0
  35. package/fontes/interpretador/index.d.ts +4 -1
  36. package/fontes/interpretador/index.js +34 -29
  37. package/fontes/interpretador/index.js.map +1 -1
  38. package/fontes/interpretador/retorno-interpretador.d.ts +4 -0
  39. package/fontes/interpretador/retorno-interpretador.js +3 -0
  40. package/fontes/interpretador/retorno-interpretador.js.map +1 -0
  41. package/fontes/lexador/dialetos/index.d.ts +1 -1
  42. package/fontes/lexador/dialetos/index.js +1 -1
  43. package/fontes/lexador/dialetos/index.js.map +1 -1
  44. package/fontes/lexador/dialetos/{egua-classico.d.ts → lexador-egua-classico.d.ts} +2 -2
  45. package/fontes/lexador/dialetos/{egua-classico.js → lexador-egua-classico.js} +41 -82
  46. package/fontes/lexador/dialetos/lexador-egua-classico.js.map +1 -0
  47. package/fontes/lexador/dialetos/lexador-eguap.d.ts +51 -0
  48. package/fontes/lexador/dialetos/lexador-eguap.js +395 -0
  49. package/fontes/lexador/dialetos/lexador-eguap.js.map +1 -0
  50. package/fontes/lexador/dialetos/pragma.d.ts +8 -0
  51. package/fontes/lexador/dialetos/pragma.js +3 -0
  52. package/fontes/lexador/dialetos/pragma.js.map +1 -0
  53. package/fontes/{tiposDeSimbolos.d.ts → lexador/dialetos/tipos-de-simbolos-eguap.d.ts} +2 -1
  54. package/fontes/lexador/dialetos/tipos-de-simbolos-eguap.js +74 -0
  55. package/fontes/lexador/dialetos/tipos-de-simbolos-eguap.js.map +1 -0
  56. package/fontes/lexador/index.d.ts +2 -43
  57. package/fontes/lexador/index.js +15 -412
  58. package/fontes/lexador/index.js.map +1 -1
  59. package/fontes/lexador/lexador.d.ts +43 -0
  60. package/fontes/lexador/lexador.js +372 -0
  61. package/fontes/lexador/lexador.js.map +1 -0
  62. package/fontes/lexador/palavras-reservadas.d.ts +35 -0
  63. package/fontes/lexador/palavras-reservadas.js +41 -0
  64. package/fontes/lexador/palavras-reservadas.js.map +1 -0
  65. package/fontes/lexador/retorno-lexador.d.ts +4 -0
  66. package/fontes/lexador/simbolo.d.ts +9 -0
  67. package/fontes/lexador/simbolo.js +17 -0
  68. package/fontes/lexador/simbolo.js.map +1 -0
  69. package/fontes/lexador/tipos-de-simbolos.d.ts +72 -0
  70. package/fontes/{tiposDeSimbolos.js → lexador/tipos-de-simbolos.js} +2 -1
  71. package/fontes/lexador/tipos-de-simbolos.js.map +1 -0
  72. package/fontes/tipos-de-simbolos.d.ts +72 -0
  73. package/fontes/tipos-de-simbolos.js +74 -0
  74. package/fontes/tipos-de-simbolos.js.map +1 -0
  75. package/package.json +4 -3
  76. package/testes/avaliador-sintatico.test.js +2 -2
  77. package/testes/avaliador-sintatico.test.js.map +1 -1
  78. package/testes/biblioteca-global.test.js +43 -43
  79. package/testes/biblioteca-global.test.js.map +1 -1
  80. package/testes/egua-classico/avaliador-sintatico.test.js +7 -16
  81. package/testes/egua-classico/avaliador-sintatico.test.js.map +1 -1
  82. package/testes/egua-classico/interpretador.test.js +61 -61
  83. package/testes/egua-classico/interpretador.test.js.map +1 -1
  84. package/testes/egua-classico/resolvedor.test.js +4 -4
  85. package/testes/egua-classico/resolvedor.test.js.map +1 -1
  86. package/testes/eguap/lexador.test.d.ts +1 -0
  87. package/testes/eguap/lexador.test.js +53 -0
  88. package/testes/eguap/lexador.test.js.map +1 -0
  89. package/testes/interpretador.test.js +61 -61
  90. package/testes/interpretador.test.js.map +1 -1
  91. package/testes/resolvedor.test.js +1 -1
  92. package/testes/resolvedor.test.js.map +1 -1
  93. package/fontes/avaliador-sintatico/dialetos/egua-classico.js.map +0 -1
  94. package/fontes/lexador/dialetos/egua-classico.js.map +0 -1
  95. package/fontes/tiposDeSimbolos.js.map +0 -1
@@ -1,416 +1,19 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
4
15
  };
5
16
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Lexador = void 0;
7
- var perf_hooks_1 = require("perf_hooks");
8
- var tiposDeSimbolos_1 = __importDefault(require("../tiposDeSimbolos"));
9
- var palavrasReservadas = {
10
- e: tiposDeSimbolos_1.default.E,
11
- em: tiposDeSimbolos_1.default.EM,
12
- classe: tiposDeSimbolos_1.default.CLASSE,
13
- senao: tiposDeSimbolos_1.default.SENAO,
14
- senão: tiposDeSimbolos_1.default.SENÃO,
15
- falso: tiposDeSimbolos_1.default.FALSO,
16
- para: tiposDeSimbolos_1.default.PARA,
17
- funcao: tiposDeSimbolos_1.default.FUNCAO,
18
- função: tiposDeSimbolos_1.default.FUNÇÃO,
19
- se: tiposDeSimbolos_1.default.SE,
20
- senaose: tiposDeSimbolos_1.default.SENAOSE,
21
- senãose: tiposDeSimbolos_1.default.SENÃOSE,
22
- nulo: tiposDeSimbolos_1.default.NULO,
23
- ou: tiposDeSimbolos_1.default.OU,
24
- escreva: tiposDeSimbolos_1.default.ESCREVA,
25
- retorna: tiposDeSimbolos_1.default.RETORNA,
26
- super: tiposDeSimbolos_1.default.SUPER,
27
- isto: tiposDeSimbolos_1.default.ISTO,
28
- verdadeiro: tiposDeSimbolos_1.default.VERDADEIRO,
29
- var: tiposDeSimbolos_1.default.VARIAVEL,
30
- fazer: tiposDeSimbolos_1.default.FAZER,
31
- enquanto: tiposDeSimbolos_1.default.ENQUANTO,
32
- pausa: tiposDeSimbolos_1.default.PAUSA,
33
- continua: tiposDeSimbolos_1.default.CONTINUA,
34
- escolha: tiposDeSimbolos_1.default.ESCOLHA,
35
- caso: tiposDeSimbolos_1.default.CASO,
36
- padrao: tiposDeSimbolos_1.default.PADRAO,
37
- importar: tiposDeSimbolos_1.default.IMPORTAR,
38
- tente: tiposDeSimbolos_1.default.TENTE,
39
- pegue: tiposDeSimbolos_1.default.PEGUE,
40
- finalmente: tiposDeSimbolos_1.default.FINALMENTE,
41
- herda: tiposDeSimbolos_1.default.HERDA,
42
- };
43
- var Simbolo = /** @class */ (function () {
44
- function Simbolo(tipo, lexema, literal, linha) {
45
- this.tipo = tipo;
46
- this.lexema = lexema;
47
- this.literal = literal;
48
- this.linha = linha;
49
- }
50
- Simbolo.prototype.paraTexto = function () {
51
- return this.tipo + " " + this.lexema + " " + this.literal;
52
- };
53
- return Simbolo;
54
- }());
55
- /**
56
- * O Lexador é responsável por transformar o código em uma coleção de tokens de linguagem.
57
- * Cada token de linguagem é representado por um tipo, um lexema e informações da linha de código em que foi expresso.
58
- * Também é responsável por mapear as palavras reservadas da linguagem, que não podem ser usadas por outras
59
- * estruturas, tais como nomes de variáveis, funções, literais, classes e assim por diante.
60
- */
61
- var Lexador = /** @class */ (function () {
62
- function Lexador(performance) {
63
- if (performance === void 0) { performance = false; }
64
- this.performance = performance;
65
- this.simbolos = [];
66
- this.erros = [];
67
- this.inicioSimbolo = 0;
68
- this.atual = 0;
69
- this.linha = 0;
70
- }
71
- Lexador.prototype.eDigito = function (caractere) {
72
- return caractere >= '0' && caractere <= '9';
73
- };
74
- Lexador.prototype.eAlfabeto = function (caractere) {
75
- var acentuacoes = [
76
- 'á',
77
- 'Á',
78
- 'ã',
79
- 'Ã',
80
- 'â',
81
- 'Â',
82
- 'à',
83
- 'À',
84
- 'é',
85
- 'É',
86
- 'ê',
87
- 'Ê',
88
- 'í',
89
- 'Í',
90
- 'ó',
91
- 'Ó',
92
- 'õ',
93
- 'Õ',
94
- 'ô',
95
- 'Ô',
96
- 'ú',
97
- 'Ú',
98
- 'ç',
99
- 'Ç',
100
- '_',
101
- ];
102
- return ((caractere >= 'a' && caractere <= 'z') ||
103
- (caractere >= 'A' && caractere <= 'Z') ||
104
- acentuacoes.includes(caractere));
105
- };
106
- Lexador.prototype.eAlfabetoOuDigito = function (caractere) {
107
- return this.eDigito(caractere) || this.eAlfabeto(caractere);
108
- };
109
- Lexador.prototype.eFinalDaLinha = function () {
110
- return this.atual >= this.codigo[this.linha].length;
111
- };
112
- /**
113
- * Indica se o código está na última linha.
114
- * @returns Verdadeiro se contador de linhas está na última linha.
115
- * Falso caso contrário.
116
- */
117
- Lexador.prototype.eUltimaLinha = function () {
118
- return this.linha >= this.codigo.length - 1;
119
- };
120
- Lexador.prototype.eFinalDoCodigo = function () {
121
- return this.eUltimaLinha() &&
122
- this.codigo[this.codigo.length - 1].length <= this.atual;
123
- };
124
- Lexador.prototype.avancar = function () {
125
- this.atual += 1;
126
- if (this.eFinalDaLinha() && !this.eUltimaLinha()) {
127
- this.linha++;
128
- this.atual = 0;
129
- }
130
- };
131
- Lexador.prototype.adicionarSimbolo = function (tipo, literal) {
132
- if (literal === void 0) { literal = null; }
133
- var texto = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
134
- this.simbolos.push(new Simbolo(tipo, texto, literal, this.linha + 1));
135
- };
136
- Lexador.prototype.proximoIgualA = function (esperado) {
137
- if (this.eFinalDaLinha()) {
138
- return false;
139
- }
140
- if (this.codigo[this.linha][this.atual + 1] !== esperado) {
141
- return false;
142
- }
143
- return true;
144
- };
145
- Lexador.prototype.simboloAtual = function () {
146
- if (this.eFinalDaLinha())
147
- return '\0';
148
- return this.codigo[this.linha].charAt(this.atual);
149
- };
150
- Lexador.prototype.avancarParaProximaLinha = function () {
151
- this.linha++;
152
- this.atual = 0;
153
- };
154
- Lexador.prototype.proximoSimbolo = function () {
155
- if (this.atual + 1 >= this.codigo[this.linha].length)
156
- return '\0';
157
- return this.codigo[this.linha].charAt(this.atual + 1);
158
- };
159
- Lexador.prototype.simboloAnterior = function () {
160
- return this.codigo[this.linha].charAt(this.atual - 1);
161
- };
162
- Lexador.prototype.analisarTexto = function (delimitador) {
163
- if (delimitador === void 0) { delimitador = '"'; }
164
- while (this.simboloAtual() !== delimitador && !this.eFinalDoCodigo()) {
165
- this.avancar();
166
- }
167
- if (this.eFinalDoCodigo()) {
168
- this.erros.push({
169
- linha: this.linha + 1,
170
- caractere: this.simboloAnterior(),
171
- mensagem: 'Texto não finalizado.'
172
- });
173
- return;
174
- }
175
- var valor = this.codigo[this.linha].substring(this.inicioSimbolo + 1, this.atual);
176
- this.adicionarSimbolo(tiposDeSimbolos_1.default.TEXTO, valor);
177
- };
178
- Lexador.prototype.analisarNumero = function () {
179
- while (this.eDigito(this.simboloAtual())) {
180
- this.avancar();
181
- }
182
- if (this.simboloAtual() == '.' && this.eDigito(this.proximoSimbolo())) {
183
- this.avancar();
184
- while (this.eDigito(this.simboloAtual())) {
185
- this.avancar();
186
- }
187
- }
188
- var numeroCompleto = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
189
- this.adicionarSimbolo(tiposDeSimbolos_1.default.NUMERO, parseFloat(numeroCompleto));
190
- };
191
- Lexador.prototype.identificarPalavraChave = function () {
192
- while (this.eAlfabetoOuDigito(this.simboloAtual())) {
193
- this.avancar();
194
- }
195
- var codigo = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
196
- var tipo = codigo in palavrasReservadas
197
- ? palavrasReservadas[codigo]
198
- : tiposDeSimbolos_1.default.IDENTIFICADOR;
199
- this.adicionarSimbolo(tipo);
200
- };
201
- Lexador.prototype.encontrarFimComentarioAsterisco = function () {
202
- while (!this.eUltimaLinha()) {
203
- this.avancar();
204
- if (this.simboloAtual() === '*' && this.proximoSimbolo() === '/') {
205
- this.avancar();
206
- this.avancar();
207
- break;
208
- }
209
- }
210
- };
211
- Lexador.prototype.analisarToken = function () {
212
- var caractere = this.simboloAtual();
213
- switch (caractere) {
214
- case '[':
215
- this.adicionarSimbolo(tiposDeSimbolos_1.default.COLCHETE_ESQUERDO);
216
- this.avancar();
217
- break;
218
- case ']':
219
- this.adicionarSimbolo(tiposDeSimbolos_1.default.COLCHETE_DIREITO);
220
- this.avancar();
221
- break;
222
- case '(':
223
- this.adicionarSimbolo(tiposDeSimbolos_1.default.PARENTESE_ESQUERDO);
224
- this.avancar();
225
- break;
226
- case ')':
227
- this.adicionarSimbolo(tiposDeSimbolos_1.default.PARENTESE_DIREITO);
228
- this.avancar();
229
- break;
230
- case '{':
231
- this.adicionarSimbolo(tiposDeSimbolos_1.default.CHAVE_ESQUERDA);
232
- this.avancar();
233
- break;
234
- case '}':
235
- this.adicionarSimbolo(tiposDeSimbolos_1.default.CHAVE_DIREITA);
236
- this.avancar();
237
- break;
238
- case ',':
239
- this.adicionarSimbolo(tiposDeSimbolos_1.default.VIRGULA);
240
- this.avancar();
241
- break;
242
- case '.':
243
- this.adicionarSimbolo(tiposDeSimbolos_1.default.PONTO);
244
- this.avancar();
245
- break;
246
- case '-':
247
- this.avancar();
248
- if (this.simboloAtual() === '=') {
249
- this.adicionarSimbolo(tiposDeSimbolos_1.default.MENOS_IGUAL);
250
- this.avancar();
251
- }
252
- else {
253
- this.adicionarSimbolo(tiposDeSimbolos_1.default.SUBTRACAO);
254
- }
255
- break;
256
- case '+':
257
- this.avancar();
258
- if (this.simboloAtual() === '=') {
259
- this.adicionarSimbolo(tiposDeSimbolos_1.default.MAIS_IGUAL);
260
- this.avancar();
261
- }
262
- else {
263
- this.adicionarSimbolo(tiposDeSimbolos_1.default.ADICAO);
264
- }
265
- break;
266
- case ':':
267
- this.adicionarSimbolo(tiposDeSimbolos_1.default.DOIS_PONTOS);
268
- this.avancar();
269
- break;
270
- case '%':
271
- this.adicionarSimbolo(tiposDeSimbolos_1.default.MODULO);
272
- this.avancar();
273
- break;
274
- case '*':
275
- this.inicioSimbolo = this.atual;
276
- this.avancar();
277
- if (this.simboloAtual() === '*') {
278
- this.avancar();
279
- this.adicionarSimbolo(tiposDeSimbolos_1.default.EXPONENCIACAO);
280
- }
281
- else {
282
- this.adicionarSimbolo(tiposDeSimbolos_1.default.MULTIPLICACAO);
283
- }
284
- break;
285
- case '!':
286
- this.avancar();
287
- if (this.simboloAtual() === '=') {
288
- this.adicionarSimbolo(tiposDeSimbolos_1.default.DIFERENTE);
289
- this.avancar();
290
- }
291
- else {
292
- this.adicionarSimbolo(tiposDeSimbolos_1.default.NEGACAO);
293
- }
294
- break;
295
- case '=':
296
- this.avancar();
297
- if (this.simboloAtual() === '=') {
298
- this.adicionarSimbolo(tiposDeSimbolos_1.default.IGUAL_IGUAL);
299
- this.avancar();
300
- }
301
- else {
302
- this.adicionarSimbolo(tiposDeSimbolos_1.default.IGUAL);
303
- }
304
- break;
305
- case '&':
306
- this.adicionarSimbolo(tiposDeSimbolos_1.default.BIT_AND);
307
- this.avancar();
308
- break;
309
- case '~':
310
- this.adicionarSimbolo(tiposDeSimbolos_1.default.BIT_NOT);
311
- this.avancar();
312
- break;
313
- case '|':
314
- this.adicionarSimbolo(tiposDeSimbolos_1.default.BIT_OR);
315
- this.avancar();
316
- break;
317
- case '^':
318
- this.adicionarSimbolo(tiposDeSimbolos_1.default.BIT_XOR);
319
- this.avancar();
320
- break;
321
- case '<':
322
- this.avancar();
323
- if (this.simboloAtual() === '=') {
324
- this.adicionarSimbolo(tiposDeSimbolos_1.default.MENOR_IGUAL);
325
- this.avancar();
326
- }
327
- else if (this.simboloAtual() === '<') {
328
- this.adicionarSimbolo(tiposDeSimbolos_1.default.MENOR_MENOR);
329
- this.avancar();
330
- }
331
- else {
332
- this.adicionarSimbolo(tiposDeSimbolos_1.default.MENOR);
333
- }
334
- break;
335
- case '>':
336
- this.avancar();
337
- if (this.simboloAtual() === '=') {
338
- this.adicionarSimbolo(tiposDeSimbolos_1.default.MAIOR_IGUAL);
339
- this.avancar();
340
- }
341
- else if (this.simboloAtual() === '>') {
342
- this.adicionarSimbolo(tiposDeSimbolos_1.default.MAIOR_MAIOR);
343
- this.avancar();
344
- }
345
- else {
346
- this.adicionarSimbolo(tiposDeSimbolos_1.default.MAIOR);
347
- }
348
- break;
349
- case '/':
350
- this.avancar();
351
- if (this.simboloAtual() == '/') {
352
- this.avancarParaProximaLinha();
353
- }
354
- else if (this.simboloAtual() === '*') {
355
- this.encontrarFimComentarioAsterisco();
356
- }
357
- else {
358
- this.adicionarSimbolo(tiposDeSimbolos_1.default.DIVISAO);
359
- }
360
- break;
361
- // Esta sessão ignora espaços em branco na tokenização.
362
- // Ponto-e-vírgula é opcional em Delégua, então pode apenas ser ignorado.
363
- case ' ':
364
- case '\0':
365
- case '\r':
366
- case '\t':
367
- case ';':
368
- this.avancar();
369
- break;
370
- case '"':
371
- this.avancar();
372
- this.analisarTexto('"');
373
- this.avancar();
374
- break;
375
- case "'":
376
- this.avancar();
377
- this.analisarTexto("'");
378
- this.avancar();
379
- break;
380
- default:
381
- if (this.eDigito(caractere))
382
- this.analisarNumero();
383
- else if (this.eAlfabeto(caractere))
384
- this.identificarPalavraChave();
385
- else {
386
- this.erros.push({
387
- linha: this.linha + 1,
388
- caractere: caractere,
389
- mensagem: 'Caractere inesperado.'
390
- });
391
- this.avancar();
392
- }
393
- }
394
- };
395
- Lexador.prototype.mapear = function (codigo) {
396
- var inicioMapeamento = perf_hooks_1.performance.now();
397
- this.erros = [];
398
- this.simbolos = [];
399
- this.codigo = codigo || [''];
400
- while (!this.eFinalDoCodigo()) {
401
- this.inicioSimbolo = this.atual;
402
- this.analisarToken();
403
- }
404
- var fimMapeamento = perf_hooks_1.performance.now();
405
- if (this.performance) {
406
- console.log("[Lexador] Tempo para mapeamento: ".concat(fimMapeamento - inicioMapeamento, "ms"));
407
- }
408
- return {
409
- simbolos: this.simbolos,
410
- erros: this.erros
411
- };
412
- };
413
- return Lexador;
414
- }());
415
- exports.Lexador = Lexador;
17
+ __exportStar(require("./lexador"), exports);
18
+ __exportStar(require("./simbolo"), exports);
416
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/lexador/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/lexador/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,4CAA0B"}
@@ -0,0 +1,43 @@
1
+ import { LexadorInterface, SimboloInterface } from "../interfaces";
2
+ import { ErroLexador } from "./erro-lexador";
3
+ import { RetornoLexador } from "./retorno-lexador";
4
+ /**
5
+ * O Lexador é responsável por transformar o código em uma coleção de tokens de linguagem.
6
+ * Cada token de linguagem é representado por um tipo, um lexema e informações da linha de código em que foi expresso.
7
+ * Também é responsável por mapear as palavras reservadas da linguagem, que não podem ser usadas por outras
8
+ * estruturas, tais como nomes de variáveis, funções, literais, classes e assim por diante.
9
+ */
10
+ export declare class Lexador implements LexadorInterface {
11
+ codigo: string[];
12
+ simbolos: SimboloInterface[];
13
+ erros: ErroLexador[];
14
+ inicioSimbolo: number;
15
+ atual: number;
16
+ linha: number;
17
+ performance: boolean;
18
+ constructor(performance?: boolean);
19
+ eDigito(caractere: string): boolean;
20
+ eAlfabeto(caractere: string): boolean;
21
+ eAlfabetoOuDigito(caractere: any): boolean;
22
+ eFinalDaLinha(): boolean;
23
+ /**
24
+ * Indica se o código está na última linha.
25
+ * @returns Verdadeiro se contador de linhas está na última linha.
26
+ * Falso caso contrário.
27
+ */
28
+ eUltimaLinha(): boolean;
29
+ eFinalDoCodigo(): boolean;
30
+ avancar(): void;
31
+ adicionarSimbolo(tipo: any, literal?: any): void;
32
+ proximoIgualA(esperado: any): boolean;
33
+ simboloAtual(): string;
34
+ avancarParaProximaLinha(): void;
35
+ proximoSimbolo(): string;
36
+ simboloAnterior(): string;
37
+ analisarTexto(delimitador?: string): void;
38
+ analisarNumero(): void;
39
+ identificarPalavraChave(): void;
40
+ encontrarFimComentarioAsterisco(): void;
41
+ analisarToken(): void;
42
+ mapear(codigo?: string[]): RetornoLexador;
43
+ }