@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.
- package/bin/package.json +4 -3
- package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +67 -0
- package/fontes/avaliador-sintatico/avaliador-sintatico.js +663 -0
- package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -0
- package/fontes/avaliador-sintatico/dialetos/{egua-classico.d.ts → avaliador-sintatico-egua-classico.d.ts} +2 -1
- package/fontes/avaliador-sintatico/dialetos/{egua-classico.js → avaliador-sintatico-egua-classico.js} +153 -155
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -0
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.d.ts +80 -0
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js +708 -0
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js.map +1 -0
- package/fontes/avaliador-sintatico/dialetos/index.d.ts +1 -1
- package/fontes/avaliador-sintatico/dialetos/index.js +1 -1
- package/fontes/avaliador-sintatico/dialetos/index.js.map +1 -1
- package/fontes/avaliador-sintatico/index.d.ts +2 -66
- package/fontes/avaliador-sintatico/index.js +15 -661
- package/fontes/avaliador-sintatico/index.js.map +1 -1
- package/fontes/delegua.d.ts +6 -3
- package/fontes/delegua.js +32 -18
- package/fontes/delegua.js.map +1 -1
- package/fontes/interfaces/avaliador-sintatico-interface.d.ts +4 -3
- package/fontes/interfaces/delegua-interface.d.ts +3 -0
- package/fontes/interfaces/delegua-interface.js +3 -0
- package/fontes/interfaces/delegua-interface.js.map +1 -0
- package/fontes/interfaces/index.d.ts +7 -6
- package/fontes/interfaces/index.js +1 -0
- package/fontes/interfaces/index.js.map +1 -1
- package/fontes/interfaces/interpretador-interface.d.ts +2 -1
- package/fontes/interfaces/lexador-interface.d.ts +1 -1
- package/fontes/interpretador/dialetos/egua-classico.d.ts +5 -2
- package/fontes/interpretador/dialetos/egua-classico.js +30 -25
- package/fontes/interpretador/dialetos/egua-classico.js.map +1 -1
- package/fontes/interpretador/erro-interpretador.d.ts +5 -0
- package/fontes/interpretador/erro-interpretador.js +3 -0
- package/fontes/interpretador/erro-interpretador.js.map +1 -0
- package/fontes/interpretador/index.d.ts +4 -1
- package/fontes/interpretador/index.js +34 -29
- package/fontes/interpretador/index.js.map +1 -1
- package/fontes/interpretador/retorno-interpretador.d.ts +4 -0
- package/fontes/interpretador/retorno-interpretador.js +3 -0
- package/fontes/interpretador/retorno-interpretador.js.map +1 -0
- package/fontes/lexador/dialetos/index.d.ts +1 -1
- package/fontes/lexador/dialetos/index.js +1 -1
- package/fontes/lexador/dialetos/index.js.map +1 -1
- package/fontes/lexador/dialetos/{egua-classico.d.ts → lexador-egua-classico.d.ts} +2 -2
- package/fontes/lexador/dialetos/{egua-classico.js → lexador-egua-classico.js} +41 -82
- package/fontes/lexador/dialetos/lexador-egua-classico.js.map +1 -0
- package/fontes/lexador/dialetos/lexador-eguap.d.ts +51 -0
- package/fontes/lexador/dialetos/lexador-eguap.js +395 -0
- package/fontes/lexador/dialetos/lexador-eguap.js.map +1 -0
- package/fontes/lexador/dialetos/pragma.d.ts +8 -0
- package/fontes/lexador/dialetos/pragma.js +3 -0
- package/fontes/lexador/dialetos/pragma.js.map +1 -0
- package/fontes/{tiposDeSimbolos.d.ts → lexador/dialetos/tipos-de-simbolos-eguap.d.ts} +2 -1
- package/fontes/lexador/dialetos/tipos-de-simbolos-eguap.js +74 -0
- package/fontes/lexador/dialetos/tipos-de-simbolos-eguap.js.map +1 -0
- package/fontes/lexador/index.d.ts +2 -43
- package/fontes/lexador/index.js +15 -412
- package/fontes/lexador/index.js.map +1 -1
- package/fontes/lexador/lexador.d.ts +43 -0
- package/fontes/lexador/lexador.js +372 -0
- package/fontes/lexador/lexador.js.map +1 -0
- package/fontes/lexador/palavras-reservadas.d.ts +35 -0
- package/fontes/lexador/palavras-reservadas.js +41 -0
- package/fontes/lexador/palavras-reservadas.js.map +1 -0
- package/fontes/lexador/retorno-lexador.d.ts +4 -0
- package/fontes/lexador/simbolo.d.ts +9 -0
- package/fontes/lexador/simbolo.js +17 -0
- package/fontes/lexador/simbolo.js.map +1 -0
- package/fontes/lexador/tipos-de-simbolos.d.ts +72 -0
- package/fontes/{tiposDeSimbolos.js → lexador/tipos-de-simbolos.js} +2 -1
- package/fontes/lexador/tipos-de-simbolos.js.map +1 -0
- package/fontes/tipos-de-simbolos.d.ts +72 -0
- package/fontes/tipos-de-simbolos.js +74 -0
- package/fontes/tipos-de-simbolos.js.map +1 -0
- package/package.json +4 -3
- package/testes/avaliador-sintatico.test.js +2 -2
- package/testes/avaliador-sintatico.test.js.map +1 -1
- package/testes/biblioteca-global.test.js +43 -43
- package/testes/biblioteca-global.test.js.map +1 -1
- package/testes/egua-classico/avaliador-sintatico.test.js +7 -16
- package/testes/egua-classico/avaliador-sintatico.test.js.map +1 -1
- package/testes/egua-classico/interpretador.test.js +61 -61
- package/testes/egua-classico/interpretador.test.js.map +1 -1
- package/testes/egua-classico/resolvedor.test.js +4 -4
- package/testes/egua-classico/resolvedor.test.js.map +1 -1
- package/testes/eguap/lexador.test.d.ts +1 -0
- package/testes/eguap/lexador.test.js +53 -0
- package/testes/eguap/lexador.test.js.map +1 -0
- package/testes/interpretador.test.js +61 -61
- package/testes/interpretador.test.js.map +1 -1
- package/testes/resolvedor.test.js +1 -1
- package/testes/resolvedor.test.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/egua-classico.js.map +0 -1
- package/fontes/lexador/dialetos/egua-classico.js.map +0 -1
- package/fontes/tiposDeSimbolos.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"erro-interpretador.js","sourceRoot":"","sources":["../../../fontes/interpretador/erro-interpretador.ts"],"names":[],"mappings":""}
|
|
@@ -4,6 +4,8 @@ import { InterpretadorInterface, SimboloInterface } from '../interfaces';
|
|
|
4
4
|
import { Classe, Enquanto, Escolha, Escreva, Fazer, Funcao, Importar, Para, Se, Tente } from '../declaracoes';
|
|
5
5
|
import { DeleguaFuncao } from '../estruturas';
|
|
6
6
|
import { Construto, Super } from '../construtos';
|
|
7
|
+
import { ErroInterpretador } from './erro-interpretador';
|
|
8
|
+
import { RetornoInterpretador } from './retorno-interpretador';
|
|
7
9
|
/**
|
|
8
10
|
* O Interpretador visita todos os elementos complexos gerados pelo analisador sintático (Parser),
|
|
9
11
|
* e de fato executa a lógica de programação descrita no código.
|
|
@@ -14,6 +16,7 @@ export declare class Interpretador implements InterpretadorInterface {
|
|
|
14
16
|
global: Ambiente;
|
|
15
17
|
ambiente: Ambiente;
|
|
16
18
|
locais: Map<Construto, number>;
|
|
19
|
+
erros: ErroInterpretador[];
|
|
17
20
|
performance: boolean;
|
|
18
21
|
constructor(Delegua: Delegua, diretorioBase: string, performance?: boolean);
|
|
19
22
|
resolver(expressao: any, profundidade: number): void;
|
|
@@ -59,5 +62,5 @@ export declare class Interpretador implements InterpretadorInterface {
|
|
|
59
62
|
visitarExpressaoSuper(expressao: Super): any;
|
|
60
63
|
paraTexto(objeto: any): any;
|
|
61
64
|
executar(declaracao: any, mostrarResultado?: boolean): void;
|
|
62
|
-
interpretar(objeto: any, locais: Map<Construto, number>):
|
|
65
|
+
interpretar(objeto: any, locais: Map<Construto, number>): RetornoInterpretador;
|
|
63
66
|
}
|
|
@@ -29,8 +29,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
exports.Interpretador = void 0;
|
|
30
30
|
var caminho = __importStar(require("path"));
|
|
31
31
|
var fs = __importStar(require("fs"));
|
|
32
|
-
var
|
|
33
|
-
var
|
|
32
|
+
var browser_process_hrtime_1 = __importDefault(require("browser-process-hrtime"));
|
|
33
|
+
var tipos_de_simbolos_1 = __importDefault(require("../lexador/tipos-de-simbolos"));
|
|
34
34
|
var ambiente_1 = require("../ambiente");
|
|
35
35
|
var delegua_1 = require("../delegua");
|
|
36
36
|
var biblioteca_global_1 = __importDefault(require("../bibliotecas/biblioteca-global"));
|
|
@@ -50,6 +50,7 @@ var Interpretador = /** @class */ (function () {
|
|
|
50
50
|
this.global = new ambiente_1.Ambiente();
|
|
51
51
|
this.ambiente = this.global;
|
|
52
52
|
this.locais = new Map();
|
|
53
|
+
this.erros = [];
|
|
53
54
|
this.global = (0, biblioteca_global_1.default)(this, this.global);
|
|
54
55
|
}
|
|
55
56
|
Interpretador.prototype.resolver = function (expressao, profundidade) {
|
|
@@ -81,12 +82,12 @@ var Interpretador = /** @class */ (function () {
|
|
|
81
82
|
Interpretador.prototype.visitarExpressaoUnaria = function (expressao) {
|
|
82
83
|
var direita = this.avaliar(expressao.direita);
|
|
83
84
|
switch (expressao.operador.tipo) {
|
|
84
|
-
case
|
|
85
|
+
case tipos_de_simbolos_1.default.SUBTRACAO:
|
|
85
86
|
this.verificarOperandoNumero(expressao.operador, direita);
|
|
86
87
|
return -direita;
|
|
87
|
-
case
|
|
88
|
+
case tipos_de_simbolos_1.default.NEGACAO:
|
|
88
89
|
return !this.eVerdadeiro(direita);
|
|
89
|
-
case
|
|
90
|
+
case tipos_de_simbolos_1.default.BIT_NOT:
|
|
90
91
|
return ~direita;
|
|
91
92
|
}
|
|
92
93
|
return null;
|
|
@@ -107,25 +108,25 @@ var Interpretador = /** @class */ (function () {
|
|
|
107
108
|
var esquerda = this.avaliar(expressao.esquerda);
|
|
108
109
|
var direita = this.avaliar(expressao.direita);
|
|
109
110
|
switch (expressao.operador.tipo) {
|
|
110
|
-
case
|
|
111
|
+
case tipos_de_simbolos_1.default.EXPONENCIACAO:
|
|
111
112
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
112
113
|
return Math.pow(esquerda, direita);
|
|
113
|
-
case
|
|
114
|
+
case tipos_de_simbolos_1.default.MAIOR:
|
|
114
115
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
115
116
|
return Number(esquerda) > Number(direita);
|
|
116
|
-
case
|
|
117
|
+
case tipos_de_simbolos_1.default.MAIOR_IGUAL:
|
|
117
118
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
118
119
|
return Number(esquerda) >= Number(direita);
|
|
119
|
-
case
|
|
120
|
+
case tipos_de_simbolos_1.default.MENOR:
|
|
120
121
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
121
122
|
return Number(esquerda) < Number(direita);
|
|
122
|
-
case
|
|
123
|
+
case tipos_de_simbolos_1.default.MENOR_IGUAL:
|
|
123
124
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
124
125
|
return Number(esquerda) <= Number(direita);
|
|
125
|
-
case
|
|
126
|
+
case tipos_de_simbolos_1.default.SUBTRACAO:
|
|
126
127
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
127
128
|
return Number(esquerda) - Number(direita);
|
|
128
|
-
case
|
|
129
|
+
case tipos_de_simbolos_1.default.ADICAO:
|
|
129
130
|
if (typeof esquerda === 'number' &&
|
|
130
131
|
typeof direita === 'number') {
|
|
131
132
|
return Number(esquerda) + Number(direita);
|
|
@@ -133,33 +134,33 @@ var Interpretador = /** @class */ (function () {
|
|
|
133
134
|
else {
|
|
134
135
|
return String(esquerda) + String(direita);
|
|
135
136
|
}
|
|
136
|
-
case
|
|
137
|
+
case tipos_de_simbolos_1.default.DIVISAO:
|
|
137
138
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
138
139
|
return Number(esquerda) / Number(direita);
|
|
139
|
-
case
|
|
140
|
+
case tipos_de_simbolos_1.default.MULTIPLICACAO:
|
|
140
141
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
141
142
|
return Number(esquerda) * Number(direita);
|
|
142
|
-
case
|
|
143
|
+
case tipos_de_simbolos_1.default.MODULO:
|
|
143
144
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
144
145
|
return Number(esquerda) % Number(direita);
|
|
145
|
-
case
|
|
146
|
+
case tipos_de_simbolos_1.default.BIT_AND:
|
|
146
147
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
147
148
|
return Number(esquerda) & Number(direita);
|
|
148
|
-
case
|
|
149
|
+
case tipos_de_simbolos_1.default.BIT_XOR:
|
|
149
150
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
150
151
|
return Number(esquerda) ^ Number(direita);
|
|
151
|
-
case
|
|
152
|
+
case tipos_de_simbolos_1.default.BIT_OR:
|
|
152
153
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
153
154
|
return Number(esquerda) | Number(direita);
|
|
154
|
-
case
|
|
155
|
+
case tipos_de_simbolos_1.default.MENOR_MENOR:
|
|
155
156
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
156
157
|
return Number(esquerda) << Number(direita);
|
|
157
|
-
case
|
|
158
|
+
case tipos_de_simbolos_1.default.MAIOR_MAIOR:
|
|
158
159
|
this.verificarOperandosNumeros(expressao.operador, esquerda, direita);
|
|
159
160
|
return Number(esquerda) >> Number(direita);
|
|
160
|
-
case
|
|
161
|
+
case tipos_de_simbolos_1.default.DIFERENTE:
|
|
161
162
|
return !this.eIgual(esquerda, direita);
|
|
162
|
-
case
|
|
163
|
+
case tipos_de_simbolos_1.default.IGUAL_IGUAL:
|
|
163
164
|
return this.eIgual(esquerda, direita);
|
|
164
165
|
}
|
|
165
166
|
return null;
|
|
@@ -234,7 +235,7 @@ var Interpretador = /** @class */ (function () {
|
|
|
234
235
|
};
|
|
235
236
|
Interpretador.prototype.visitarExpressaoLogica = function (expressao) {
|
|
236
237
|
var esquerda = this.avaliar(expressao.esquerda);
|
|
237
|
-
if (expressao.operador.tipo ===
|
|
238
|
+
if (expressao.operador.tipo === tipos_de_simbolos_1.default.EM) {
|
|
238
239
|
var direita = this.avaliar(expressao.direita);
|
|
239
240
|
if (Array.isArray(direita) || typeof direita === 'string') {
|
|
240
241
|
return direita.includes(esquerda);
|
|
@@ -247,12 +248,12 @@ var Interpretador = /** @class */ (function () {
|
|
|
247
248
|
}
|
|
248
249
|
}
|
|
249
250
|
// se um estado for verdadeiro, retorna verdadeiro
|
|
250
|
-
if (expressao.operador.tipo ===
|
|
251
|
+
if (expressao.operador.tipo === tipos_de_simbolos_1.default.OU) {
|
|
251
252
|
if (this.eVerdadeiro(esquerda))
|
|
252
253
|
return esquerda;
|
|
253
254
|
}
|
|
254
255
|
// se um estado for falso, retorna falso
|
|
255
|
-
if (expressao.operador.tipo ===
|
|
256
|
+
if (expressao.operador.tipo === tipos_de_simbolos_1.default.E) {
|
|
256
257
|
if (!this.eVerdadeiro(esquerda))
|
|
257
258
|
return esquerda;
|
|
258
259
|
}
|
|
@@ -665,7 +666,8 @@ var Interpretador = /** @class */ (function () {
|
|
|
665
666
|
};
|
|
666
667
|
Interpretador.prototype.interpretar = function (objeto, locais) {
|
|
667
668
|
this.locais = locais;
|
|
668
|
-
|
|
669
|
+
this.erros = [];
|
|
670
|
+
var inicioInterpretacao = (0, browser_process_hrtime_1.default)();
|
|
669
671
|
try {
|
|
670
672
|
var declaracoes = objeto.declaracoes || objeto;
|
|
671
673
|
if (declaracoes.length === 1) {
|
|
@@ -680,14 +682,17 @@ var Interpretador = /** @class */ (function () {
|
|
|
680
682
|
}
|
|
681
683
|
}
|
|
682
684
|
catch (erro) {
|
|
683
|
-
this.
|
|
685
|
+
this.erros.push(erro);
|
|
684
686
|
}
|
|
685
687
|
finally {
|
|
686
|
-
var
|
|
688
|
+
var deltaInterpretacao = (0, browser_process_hrtime_1.default)(inicioInterpretacao);
|
|
687
689
|
if (this.performance) {
|
|
688
|
-
console.log("[Interpretador] Tempo para interpreta\u00E7ao: ".concat(
|
|
690
|
+
console.log("[Interpretador] Tempo para interpreta\u00E7ao: ".concat(deltaInterpretacao[0] * 1e9 + deltaInterpretacao[1], "ns"));
|
|
689
691
|
}
|
|
690
692
|
}
|
|
693
|
+
return {
|
|
694
|
+
erros: this.erros
|
|
695
|
+
};
|
|
691
696
|
};
|
|
692
697
|
return Interpretador;
|
|
693
698
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/interpretador/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/interpretador/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retorno-interpretador.js","sourceRoot":"","sources":["../../../fontes/interpretador/retorno-interpretador.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './egua-classico';
|
|
1
|
+
export * from './lexador-egua-classico';
|
|
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./egua-classico"), exports);
|
|
17
|
+
__exportStar(require("./lexador-egua-classico"), exports);
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fontes/lexador/dialetos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fontes/lexador/dialetos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC"}
|
|
@@ -15,8 +15,8 @@ export declare class LexadorEguaClassico implements LexadorInterface {
|
|
|
15
15
|
atual: number;
|
|
16
16
|
linha: number;
|
|
17
17
|
constructor(codigo?: any);
|
|
18
|
-
eDigito(caractere:
|
|
19
|
-
eAlfabeto(caractere:
|
|
18
|
+
eDigito(caractere: string): boolean;
|
|
19
|
+
eAlfabeto(caractere: string): boolean;
|
|
20
20
|
eAlfabetoOuDigito(caractere: any): boolean;
|
|
21
21
|
eFinalDoCodigo(): boolean;
|
|
22
22
|
avancar(): string;
|
|
@@ -4,50 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.LexadorEguaClassico = void 0;
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
em: tiposDeSimbolos_1.default.EM,
|
|
11
|
-
classe: tiposDeSimbolos_1.default.CLASSE,
|
|
12
|
-
senão: tiposDeSimbolos_1.default.SENÃO,
|
|
13
|
-
falso: tiposDeSimbolos_1.default.FALSO,
|
|
14
|
-
para: tiposDeSimbolos_1.default.PARA,
|
|
15
|
-
função: tiposDeSimbolos_1.default.FUNÇÃO,
|
|
16
|
-
se: tiposDeSimbolos_1.default.SE,
|
|
17
|
-
senãose: tiposDeSimbolos_1.default.SENÃOSE,
|
|
18
|
-
nulo: tiposDeSimbolos_1.default.NULO,
|
|
19
|
-
ou: tiposDeSimbolos_1.default.OU,
|
|
20
|
-
escreva: tiposDeSimbolos_1.default.ESCREVA,
|
|
21
|
-
retorna: tiposDeSimbolos_1.default.RETORNA,
|
|
22
|
-
super: tiposDeSimbolos_1.default.SUPER,
|
|
23
|
-
isto: tiposDeSimbolos_1.default.ISTO,
|
|
24
|
-
verdadeiro: tiposDeSimbolos_1.default.VERDADEIRO,
|
|
25
|
-
var: tiposDeSimbolos_1.default.VARIAVEL,
|
|
26
|
-
fazer: tiposDeSimbolos_1.default.FAZER,
|
|
27
|
-
enquanto: tiposDeSimbolos_1.default.ENQUANTO,
|
|
28
|
-
pausa: tiposDeSimbolos_1.default.PAUSA,
|
|
29
|
-
continua: tiposDeSimbolos_1.default.CONTINUA,
|
|
30
|
-
escolha: tiposDeSimbolos_1.default.ESCOLHA,
|
|
31
|
-
caso: tiposDeSimbolos_1.default.CASO,
|
|
32
|
-
padrao: tiposDeSimbolos_1.default.PADRAO,
|
|
33
|
-
importar: tiposDeSimbolos_1.default.IMPORTAR,
|
|
34
|
-
tente: tiposDeSimbolos_1.default.TENTE,
|
|
35
|
-
pegue: tiposDeSimbolos_1.default.PEGUE,
|
|
36
|
-
finalmente: tiposDeSimbolos_1.default.FINALMENTE,
|
|
37
|
-
herda: tiposDeSimbolos_1.default.HERDA,
|
|
38
|
-
};
|
|
39
|
-
var Simbolo = /** @class */ (function () {
|
|
40
|
-
function Simbolo(tipo, lexema, literal, linha) {
|
|
41
|
-
this.tipo = tipo;
|
|
42
|
-
this.lexema = lexema;
|
|
43
|
-
this.literal = literal;
|
|
44
|
-
this.linha = linha;
|
|
45
|
-
}
|
|
46
|
-
Simbolo.prototype.paraTexto = function () {
|
|
47
|
-
return this.tipo + ' ' + this.lexema + ' ' + this.literal;
|
|
48
|
-
};
|
|
49
|
-
return Simbolo;
|
|
50
|
-
}());
|
|
7
|
+
var tipos_de_simbolos_1 = __importDefault(require("../tipos-de-simbolos"));
|
|
8
|
+
var simbolo_1 = require("../simbolo");
|
|
9
|
+
var palavras_reservadas_1 = __importDefault(require("../palavras-reservadas"));
|
|
51
10
|
/**
|
|
52
11
|
* O Lexador é responsável por transformar o código em uma coleção de tokens de linguagem.
|
|
53
12
|
* Cada token de linguagem é representado por um tipo, um lexema e informações da linha de código em que foi expresso.
|
|
@@ -111,7 +70,7 @@ var LexadorEguaClassico = /** @class */ (function () {
|
|
|
111
70
|
LexadorEguaClassico.prototype.adicionarSimbolo = function (tipo, literal) {
|
|
112
71
|
if (literal === void 0) { literal = null; }
|
|
113
72
|
var texto = this.codigo.substring(this.inicioSimbolo, this.atual);
|
|
114
|
-
this.simbolos.push(new Simbolo(tipo, texto, literal, this.linha));
|
|
73
|
+
this.simbolos.push(new simbolo_1.Simbolo(tipo, texto, literal, this.linha));
|
|
115
74
|
};
|
|
116
75
|
LexadorEguaClassico.prototype.proximoIgualA = function (esperado) {
|
|
117
76
|
if (this.eFinalDoCodigo()) {
|
|
@@ -153,7 +112,7 @@ var LexadorEguaClassico = /** @class */ (function () {
|
|
|
153
112
|
}
|
|
154
113
|
this.avancar();
|
|
155
114
|
var valor = this.codigo.substring(this.inicioSimbolo + 1, this.atual - 1);
|
|
156
|
-
this.adicionarSimbolo(
|
|
115
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.TEXTO, valor);
|
|
157
116
|
};
|
|
158
117
|
LexadorEguaClassico.prototype.analisarNumero = function () {
|
|
159
118
|
while (this.eDigito(this.simboloAtual())) {
|
|
@@ -166,110 +125,110 @@ var LexadorEguaClassico = /** @class */ (function () {
|
|
|
166
125
|
}
|
|
167
126
|
}
|
|
168
127
|
var numeroCompleto = this.codigo.substring(this.inicioSimbolo, this.atual);
|
|
169
|
-
this.adicionarSimbolo(
|
|
128
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.NUMERO, parseFloat(numeroCompleto));
|
|
170
129
|
};
|
|
171
130
|
LexadorEguaClassico.prototype.identificarPalavraChave = function () {
|
|
172
131
|
while (this.eAlfabetoOuDigito(this.simboloAtual())) {
|
|
173
132
|
this.avancar();
|
|
174
133
|
}
|
|
175
134
|
var codigo = this.codigo.substring(this.inicioSimbolo, this.atual);
|
|
176
|
-
var tipo = codigo in
|
|
177
|
-
?
|
|
178
|
-
:
|
|
135
|
+
var tipo = codigo in palavras_reservadas_1.default
|
|
136
|
+
? palavras_reservadas_1.default[codigo]
|
|
137
|
+
: tipos_de_simbolos_1.default.IDENTIFICADOR;
|
|
179
138
|
this.adicionarSimbolo(tipo);
|
|
180
139
|
};
|
|
181
140
|
LexadorEguaClassico.prototype.analisarToken = function () {
|
|
182
141
|
var caractere = this.avancar();
|
|
183
142
|
switch (caractere) {
|
|
184
143
|
case '[':
|
|
185
|
-
this.adicionarSimbolo(
|
|
144
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.COLCHETE_ESQUERDO);
|
|
186
145
|
break;
|
|
187
146
|
case ']':
|
|
188
|
-
this.adicionarSimbolo(
|
|
147
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.COLCHETE_DIREITO);
|
|
189
148
|
break;
|
|
190
149
|
case '(':
|
|
191
|
-
this.adicionarSimbolo(
|
|
150
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.PARENTESE_ESQUERDO);
|
|
192
151
|
break;
|
|
193
152
|
case ')':
|
|
194
|
-
this.adicionarSimbolo(
|
|
153
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.PARENTESE_DIREITO);
|
|
195
154
|
break;
|
|
196
155
|
case '{':
|
|
197
|
-
this.adicionarSimbolo(
|
|
156
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.CHAVE_ESQUERDA);
|
|
198
157
|
break;
|
|
199
158
|
case '}':
|
|
200
|
-
this.adicionarSimbolo(
|
|
159
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.CHAVE_DIREITA);
|
|
201
160
|
break;
|
|
202
161
|
case ',':
|
|
203
|
-
this.adicionarSimbolo(
|
|
162
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.VIRGULA);
|
|
204
163
|
break;
|
|
205
164
|
case '.':
|
|
206
|
-
this.adicionarSimbolo(
|
|
165
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.PONTO);
|
|
207
166
|
break;
|
|
208
167
|
case '-':
|
|
209
|
-
this.adicionarSimbolo(
|
|
168
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.SUBTRACAO);
|
|
210
169
|
break;
|
|
211
170
|
case '+':
|
|
212
|
-
this.adicionarSimbolo(
|
|
171
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.ADICAO);
|
|
213
172
|
break;
|
|
214
173
|
case ':':
|
|
215
|
-
this.adicionarSimbolo(
|
|
174
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.DOIS_PONTOS);
|
|
216
175
|
break;
|
|
217
176
|
case ';':
|
|
218
|
-
this.adicionarSimbolo(
|
|
177
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.PONTO_E_VIRGULA);
|
|
219
178
|
break;
|
|
220
179
|
case '%':
|
|
221
|
-
this.adicionarSimbolo(
|
|
180
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.MODULO);
|
|
222
181
|
break;
|
|
223
182
|
case '*':
|
|
224
183
|
if (this.simboloAtual() === '*') {
|
|
225
184
|
this.avancar();
|
|
226
|
-
this.adicionarSimbolo(
|
|
185
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.EXPONENCIACAO);
|
|
227
186
|
break;
|
|
228
187
|
}
|
|
229
|
-
this.adicionarSimbolo(
|
|
188
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.MULTIPLICACAO);
|
|
230
189
|
break;
|
|
231
190
|
case '!':
|
|
232
191
|
this.adicionarSimbolo(this.proximoIgualA('=')
|
|
233
|
-
?
|
|
234
|
-
:
|
|
192
|
+
? tipos_de_simbolos_1.default.DIFERENTE
|
|
193
|
+
: tipos_de_simbolos_1.default.NEGACAO);
|
|
235
194
|
break;
|
|
236
195
|
case '=':
|
|
237
196
|
this.adicionarSimbolo(this.proximoIgualA('=')
|
|
238
|
-
?
|
|
239
|
-
:
|
|
197
|
+
? tipos_de_simbolos_1.default.IGUAL_IGUAL
|
|
198
|
+
: tipos_de_simbolos_1.default.IGUAL);
|
|
240
199
|
break;
|
|
241
200
|
case '&':
|
|
242
|
-
this.adicionarSimbolo(
|
|
201
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.BIT_AND);
|
|
243
202
|
break;
|
|
244
203
|
case '~':
|
|
245
|
-
this.adicionarSimbolo(
|
|
204
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.BIT_NOT);
|
|
246
205
|
break;
|
|
247
206
|
case '|':
|
|
248
|
-
this.adicionarSimbolo(
|
|
207
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.BIT_OR);
|
|
249
208
|
break;
|
|
250
209
|
case '^':
|
|
251
|
-
this.adicionarSimbolo(
|
|
210
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.BIT_XOR);
|
|
252
211
|
break;
|
|
253
212
|
case '<':
|
|
254
213
|
if (this.proximoIgualA('=')) {
|
|
255
|
-
this.adicionarSimbolo(
|
|
214
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.MENOR_IGUAL);
|
|
256
215
|
}
|
|
257
216
|
else if (this.proximoIgualA('<')) {
|
|
258
|
-
this.adicionarSimbolo(
|
|
217
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.MENOR_MENOR);
|
|
259
218
|
}
|
|
260
219
|
else {
|
|
261
|
-
this.adicionarSimbolo(
|
|
220
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.MENOR);
|
|
262
221
|
}
|
|
263
222
|
break;
|
|
264
223
|
case '>':
|
|
265
224
|
if (this.proximoIgualA('=')) {
|
|
266
|
-
this.adicionarSimbolo(
|
|
225
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.MAIOR_IGUAL);
|
|
267
226
|
}
|
|
268
227
|
else if (this.proximoIgualA('>')) {
|
|
269
|
-
this.adicionarSimbolo(
|
|
228
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.MAIOR_MAIOR);
|
|
270
229
|
}
|
|
271
230
|
else {
|
|
272
|
-
this.adicionarSimbolo(
|
|
231
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.MAIOR);
|
|
273
232
|
}
|
|
274
233
|
break;
|
|
275
234
|
case '/':
|
|
@@ -279,7 +238,7 @@ var LexadorEguaClassico = /** @class */ (function () {
|
|
|
279
238
|
this.avancar();
|
|
280
239
|
}
|
|
281
240
|
else {
|
|
282
|
-
this.adicionarSimbolo(
|
|
241
|
+
this.adicionarSimbolo(tipos_de_simbolos_1.default.DIVISAO);
|
|
283
242
|
}
|
|
284
243
|
break;
|
|
285
244
|
// Esta sessão ignora espaços em branco na tokenização
|
|
@@ -322,7 +281,7 @@ var LexadorEguaClassico = /** @class */ (function () {
|
|
|
322
281
|
this.inicioSimbolo = this.atual;
|
|
323
282
|
this.analisarToken();
|
|
324
283
|
}
|
|
325
|
-
this.simbolos.push(new Simbolo(
|
|
284
|
+
this.simbolos.push(new simbolo_1.Simbolo(tipos_de_simbolos_1.default.EOF, '', null, this.linha));
|
|
326
285
|
return {
|
|
327
286
|
simbolos: this.simbolos,
|
|
328
287
|
erros: this.erros
|
|
@@ -331,4 +290,4 @@ var LexadorEguaClassico = /** @class */ (function () {
|
|
|
331
290
|
return LexadorEguaClassico;
|
|
332
291
|
}());
|
|
333
292
|
exports.LexadorEguaClassico = LexadorEguaClassico;
|
|
334
|
-
//# sourceMappingURL=egua-classico.js.map
|
|
293
|
+
//# sourceMappingURL=lexador-egua-classico.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lexador-egua-classico.js","sourceRoot":"","sources":["../../../../fontes/lexador/dialetos/lexador-egua-classico.ts"],"names":[],"mappings":"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"}
|