@designliquido/delegua 0.2.0 → 0.2.1
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 +11 -7
- package/coverage/lcov-report/block-navigation.d.ts +1 -0
- package/coverage/lcov-report/block-navigation.js +70 -0
- package/coverage/lcov-report/block-navigation.js.map +1 -0
- package/coverage/lcov-report/prettify.d.ts +0 -0
- package/coverage/lcov-report/prettify.js +477 -0
- package/coverage/lcov-report/prettify.js.map +1 -0
- package/coverage/lcov-report/sorter.d.ts +1 -0
- package/coverage/lcov-report/sorter.js +163 -0
- package/coverage/lcov-report/sorter.js.map +1 -0
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/jest.config.d.ts +3 -0
- package/jest.config.js +50 -0
- package/jest.config.js.map +1 -0
- package/package.json +11 -7
- package/src/avaliador-sintatico/dialetos/index.js +5 -1
- package/src/avaliador-sintatico/dialetos/index.js.map +1 -1
- package/src/avaliador-sintatico/index.d.ts +4 -3
- package/src/avaliador-sintatico/index.js +33 -24
- package/src/avaliador-sintatico/index.js.map +1 -1
- package/src/construtos/atribuicao-sobrescrita.d.ts +2 -2
- package/src/construtos/atribuir.d.ts +2 -2
- package/src/construtos/binario.d.ts +2 -2
- package/src/construtos/chamada.d.ts +2 -2
- package/src/construtos/conjunto.d.ts +2 -2
- package/src/construtos/{expr.d.ts → construto.d.ts} +1 -1
- package/src/construtos/{expr.js → construto.js} +1 -1
- package/src/construtos/construto.js.map +1 -0
- package/src/construtos/dicionario.d.ts +2 -2
- package/src/construtos/funcao.d.ts +2 -2
- package/src/construtos/get.d.ts +2 -2
- package/src/construtos/grouping.d.ts +2 -2
- package/src/construtos/index.d.ts +1 -1
- package/src/construtos/index.js +6 -2
- package/src/construtos/index.js.map +1 -1
- package/src/construtos/isto.d.ts +2 -2
- package/src/construtos/literal.d.ts +2 -2
- package/src/construtos/logical.d.ts +2 -2
- package/src/construtos/subscript.d.ts +2 -2
- package/src/construtos/super.d.ts +2 -2
- package/src/construtos/unario.d.ts +2 -2
- package/src/construtos/variavel.d.ts +2 -2
- package/src/construtos/vetor.d.ts +2 -2
- package/src/declaracoes/bloco.d.ts +2 -2
- package/src/declaracoes/bloco.js +2 -2
- package/src/declaracoes/bloco.js.map +1 -1
- package/src/declaracoes/classe.d.ts +2 -2
- package/src/declaracoes/classe.js +2 -2
- package/src/declaracoes/classe.js.map +1 -1
- package/src/declaracoes/continua.d.ts +2 -2
- package/src/declaracoes/continua.js +2 -2
- package/src/declaracoes/continua.js.map +1 -1
- package/src/declaracoes/declaracao.d.ts +3 -0
- package/src/declaracoes/declaracao.js +11 -0
- package/src/declaracoes/declaracao.js.map +1 -0
- package/src/declaracoes/enquanto.d.ts +2 -2
- package/src/declaracoes/enquanto.js +2 -2
- package/src/declaracoes/enquanto.js.map +1 -1
- package/src/declaracoes/escolha.d.ts +2 -2
- package/src/declaracoes/escolha.js +2 -2
- package/src/declaracoes/escolha.js.map +1 -1
- package/src/declaracoes/escreva.d.ts +2 -2
- package/src/declaracoes/escreva.js +2 -2
- package/src/declaracoes/escreva.js.map +1 -1
- package/src/declaracoes/expressao.d.ts +2 -2
- package/src/declaracoes/expressao.js +2 -2
- package/src/declaracoes/expressao.js.map +1 -1
- package/src/declaracoes/fazer.d.ts +2 -2
- package/src/declaracoes/fazer.js +2 -2
- package/src/declaracoes/fazer.js.map +1 -1
- package/src/declaracoes/funcao.d.ts +2 -2
- package/src/declaracoes/funcao.js +2 -2
- package/src/declaracoes/funcao.js.map +1 -1
- package/src/declaracoes/importar.d.ts +2 -2
- package/src/declaracoes/importar.js +2 -2
- package/src/declaracoes/importar.js.map +1 -1
- package/src/declaracoes/index.d.ts +1 -1
- package/src/declaracoes/index.js +6 -2
- package/src/declaracoes/index.js.map +1 -1
- package/src/declaracoes/para.d.ts +2 -2
- package/src/declaracoes/para.js +2 -2
- package/src/declaracoes/para.js.map +1 -1
- package/src/declaracoes/pausa.d.ts +2 -2
- package/src/declaracoes/pausa.js +2 -2
- package/src/declaracoes/pausa.js.map +1 -1
- package/src/declaracoes/retorna.d.ts +2 -2
- package/src/declaracoes/retorna.js +2 -2
- package/src/declaracoes/retorna.js.map +1 -1
- package/src/declaracoes/se.d.ts +2 -2
- package/src/declaracoes/se.js +2 -2
- package/src/declaracoes/se.js.map +1 -1
- package/src/declaracoes/tente.d.ts +2 -2
- package/src/declaracoes/tente.js +2 -2
- package/src/declaracoes/tente.js.map +1 -1
- package/src/declaracoes/var.d.ts +2 -2
- package/src/declaracoes/var.js +2 -2
- package/src/declaracoes/var.js.map +1 -1
- package/src/delegua.d.ts +3 -3
- package/src/delegua.js +17 -14
- package/src/delegua.js.map +1 -1
- package/src/estruturas/funcao.js +1 -1
- package/src/estruturas/index.js +5 -1
- package/src/estruturas/index.js.map +1 -1
- package/src/excecoes/excecao-continuar.d.ts +2 -0
- package/src/excecoes/{continue-exception.js → excecao-continuar.js} +7 -7
- package/src/excecoes/excecao-continuar.js.map +1 -0
- package/src/excecoes/excecao-quebra.d.ts +2 -0
- package/src/excecoes/{break-exception.js → excecao-quebra.js} +7 -7
- package/src/excecoes/excecao-quebra.js.map +1 -0
- package/src/excecoes/excecao-retornar.d.ts +4 -0
- package/src/excecoes/{return-exception.js → excecao-retornar.js} +8 -8
- package/src/excecoes/{return-exception.js.map → excecao-retornar.js.map} +1 -1
- package/src/excecoes/index.d.ts +3 -3
- package/src/excecoes/index.js +8 -4
- package/src/excecoes/index.js.map +1 -1
- package/src/interfaces/index.js +5 -1
- package/src/interfaces/index.js.map +1 -1
- package/src/interfaces/lexador-interface.d.ts +10 -10
- package/src/interfaces/resolvedor-interface.d.ts +3 -2
- package/src/interfaces/simbolo-interface.d.ts +1 -1
- package/src/interpretador/dialetos/egua-classico.d.ts +1 -1
- package/src/interpretador/dialetos/egua-classico.js +12 -12
- package/src/interpretador/dialetos/egua-classico.js.map +1 -1
- package/src/interpretador/dialetos/index.js +5 -1
- package/src/interpretador/dialetos/index.js.map +1 -1
- package/src/interpretador/index.d.ts +4 -3
- package/src/interpretador/index.js +59 -48
- package/src/interpretador/index.js.map +1 -1
- package/src/lexador/dialetos/egua-classico.d.ts +8 -8
- package/src/lexador/dialetos/egua-classico.js +31 -30
- package/src/lexador/dialetos/egua-classico.js.map +1 -1
- package/src/lexador/dialetos/index.js +5 -1
- package/src/lexador/dialetos/index.js.map +1 -1
- package/src/lexador/index.d.ts +29 -18
- package/src/lexador/index.js +213 -107
- package/src/lexador/index.js.map +1 -1
- package/src/resolvedor/dialetos/egua-classico.d.ts +5 -3
- package/src/resolvedor/dialetos/egua-classico.js +6 -6
- package/src/resolvedor/dialetos/egua-classico.js.map +1 -1
- package/src/resolvedor/dialetos/index.js +5 -1
- package/src/resolvedor/dialetos/index.js.map +1 -1
- package/src/resolvedor/index.d.ts +8 -5
- package/src/resolvedor/index.js +49 -49
- package/src/resolvedor/index.js.map +1 -1
- package/testes/avaliador-sintatico.test.d.ts +1 -0
- package/testes/avaliador-sintatico.test.js +30 -0
- package/testes/avaliador-sintatico.test.js.map +1 -0
- package/testes/interpretador.test.d.ts +1 -0
- package/testes/interpretador.test.js +155 -0
- package/testes/interpretador.test.js.map +1 -0
- package/testes/lexador.test.d.ts +1 -0
- package/testes/lexador.test.js +74 -0
- package/testes/lexador.test.js.map +1 -0
- package/testes/resolvedor.test.d.ts +1 -0
- package/testes/resolvedor.test.js +35 -0
- package/testes/resolvedor.test.js.map +1 -0
- package/src/construtos/expr.js.map +0 -1
- package/src/declaracoes/stmt.d.ts +0 -3
- package/src/declaracoes/stmt.js +0 -11
- package/src/declaracoes/stmt.js.map +0 -1
- package/src/excecoes/break-exception.d.ts +0 -2
- package/src/excecoes/break-exception.js.map +0 -1
- package/src/excecoes/continue-exception.d.ts +0 -2
- package/src/excecoes/continue-exception.js.map +0 -1
- package/src/excecoes/return-exception.d.ts +0 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prettify.js","sourceRoot":"","sources":["../../../coverage/lcov-report/prettify.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare function addSorting(): void;
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
var addSorting = (function () {
|
|
3
|
+
'use strict';
|
|
4
|
+
var cols, currentSort = {
|
|
5
|
+
index: 0,
|
|
6
|
+
desc: false
|
|
7
|
+
};
|
|
8
|
+
// returns the summary table element
|
|
9
|
+
function getTable() {
|
|
10
|
+
return document.querySelector('.coverage-summary');
|
|
11
|
+
}
|
|
12
|
+
// returns the thead element of the summary table
|
|
13
|
+
function getTableHeader() {
|
|
14
|
+
return getTable().querySelector('thead tr');
|
|
15
|
+
}
|
|
16
|
+
// returns the tbody element of the summary table
|
|
17
|
+
function getTableBody() {
|
|
18
|
+
return getTable().querySelector('tbody');
|
|
19
|
+
}
|
|
20
|
+
// returns the th element for nth column
|
|
21
|
+
function getNthColumn(n) {
|
|
22
|
+
return getTableHeader().querySelectorAll('th')[n];
|
|
23
|
+
}
|
|
24
|
+
function onFilterInput() {
|
|
25
|
+
var searchValue = document.getElementById('fileSearch').value;
|
|
26
|
+
var rows = document.getElementsByTagName('tbody')[0].children;
|
|
27
|
+
for (var i = 0; i < rows.length; i++) {
|
|
28
|
+
var row = rows[i];
|
|
29
|
+
if (row.textContent
|
|
30
|
+
.toLowerCase()
|
|
31
|
+
.includes(searchValue.toLowerCase())) {
|
|
32
|
+
row.style.display = '';
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
row.style.display = 'none';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// loads the search box
|
|
40
|
+
function addSearchBox() {
|
|
41
|
+
var template = document.getElementById('filterTemplate');
|
|
42
|
+
var templateClone = template.content.cloneNode(true);
|
|
43
|
+
templateClone.getElementById('fileSearch').oninput = onFilterInput;
|
|
44
|
+
template.parentElement.appendChild(templateClone);
|
|
45
|
+
}
|
|
46
|
+
// loads all columns
|
|
47
|
+
function loadColumns() {
|
|
48
|
+
var colNodes = getTableHeader().querySelectorAll('th'), colNode, cols = [], col, i;
|
|
49
|
+
for (i = 0; i < colNodes.length; i += 1) {
|
|
50
|
+
colNode = colNodes[i];
|
|
51
|
+
col = {
|
|
52
|
+
key: colNode.getAttribute('data-col'),
|
|
53
|
+
sortable: !colNode.getAttribute('data-nosort'),
|
|
54
|
+
type: colNode.getAttribute('data-type') || 'string'
|
|
55
|
+
};
|
|
56
|
+
cols.push(col);
|
|
57
|
+
if (col.sortable) {
|
|
58
|
+
col.defaultDescSort = col.type === 'number';
|
|
59
|
+
colNode.innerHTML =
|
|
60
|
+
colNode.innerHTML + '<span class="sorter"></span>';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return cols;
|
|
64
|
+
}
|
|
65
|
+
// attaches a data attribute to every tr element with an object
|
|
66
|
+
// of data values keyed by column name
|
|
67
|
+
function loadRowData(tableRow) {
|
|
68
|
+
var tableCols = tableRow.querySelectorAll('td'), colNode, col, data = {}, i, val;
|
|
69
|
+
for (i = 0; i < tableCols.length; i += 1) {
|
|
70
|
+
colNode = tableCols[i];
|
|
71
|
+
col = cols[i];
|
|
72
|
+
val = colNode.getAttribute('data-value');
|
|
73
|
+
if (col.type === 'number') {
|
|
74
|
+
val = Number(val);
|
|
75
|
+
}
|
|
76
|
+
data[col.key] = val;
|
|
77
|
+
}
|
|
78
|
+
return data;
|
|
79
|
+
}
|
|
80
|
+
// loads all row data
|
|
81
|
+
function loadData() {
|
|
82
|
+
var rows = getTableBody().querySelectorAll('tr'), i;
|
|
83
|
+
for (i = 0; i < rows.length; i += 1) {
|
|
84
|
+
rows[i].data = loadRowData(rows[i]);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// sorts the table using the data for the ith column
|
|
88
|
+
function sortByIndex(index, desc) {
|
|
89
|
+
var key = cols[index].key, sorter = function (a, b) {
|
|
90
|
+
a = a.data[key];
|
|
91
|
+
b = b.data[key];
|
|
92
|
+
return a < b ? -1 : a > b ? 1 : 0;
|
|
93
|
+
}, finalSorter = sorter, tableBody = document.querySelector('.coverage-summary tbody'), rowNodes = tableBody.querySelectorAll('tr'), rows = [], i;
|
|
94
|
+
if (desc) {
|
|
95
|
+
finalSorter = function (a, b) {
|
|
96
|
+
return -1 * sorter(a, b);
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
for (i = 0; i < rowNodes.length; i += 1) {
|
|
100
|
+
rows.push(rowNodes[i]);
|
|
101
|
+
tableBody.removeChild(rowNodes[i]);
|
|
102
|
+
}
|
|
103
|
+
rows.sort(finalSorter);
|
|
104
|
+
for (i = 0; i < rows.length; i += 1) {
|
|
105
|
+
tableBody.appendChild(rows[i]);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// removes sort indicators for current column being sorted
|
|
109
|
+
function removeSortIndicators() {
|
|
110
|
+
var col = getNthColumn(currentSort.index), cls = col.className;
|
|
111
|
+
cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
|
|
112
|
+
col.className = cls;
|
|
113
|
+
}
|
|
114
|
+
// adds sort indicators for current column being sorted
|
|
115
|
+
function addSortIndicators() {
|
|
116
|
+
getNthColumn(currentSort.index).className += currentSort.desc
|
|
117
|
+
? ' sorted-desc'
|
|
118
|
+
: ' sorted';
|
|
119
|
+
}
|
|
120
|
+
// adds event listeners for all sorter widgets
|
|
121
|
+
function enableUI() {
|
|
122
|
+
var i, el, ithSorter = function ithSorter(i) {
|
|
123
|
+
var col = cols[i];
|
|
124
|
+
return function () {
|
|
125
|
+
var desc = col.defaultDescSort;
|
|
126
|
+
if (currentSort.index === i) {
|
|
127
|
+
desc = !currentSort.desc;
|
|
128
|
+
}
|
|
129
|
+
sortByIndex(i, desc);
|
|
130
|
+
removeSortIndicators();
|
|
131
|
+
currentSort.index = i;
|
|
132
|
+
currentSort.desc = desc;
|
|
133
|
+
addSortIndicators();
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
for (i = 0; i < cols.length; i += 1) {
|
|
137
|
+
if (cols[i].sortable) {
|
|
138
|
+
// add the click event handler on the th so users
|
|
139
|
+
// dont have to click on those tiny arrows
|
|
140
|
+
el = getNthColumn(i).querySelector('.sorter').parentElement;
|
|
141
|
+
if (el.addEventListener) {
|
|
142
|
+
el.addEventListener('click', ithSorter(i));
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
el.attachEvent('onclick', ithSorter(i));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// adds sorting functionality to the UI
|
|
151
|
+
return function () {
|
|
152
|
+
if (!getTable()) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
cols = loadColumns();
|
|
156
|
+
loadData();
|
|
157
|
+
addSearchBox();
|
|
158
|
+
addSortIndicators();
|
|
159
|
+
enableUI();
|
|
160
|
+
};
|
|
161
|
+
})();
|
|
162
|
+
window.addEventListener('load', addSorting);
|
|
163
|
+
//# sourceMappingURL=sorter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sorter.js","sourceRoot":"","sources":["../../../coverage/lcov-report/sorter.js"],"names":[],"mappings":"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"}
|
package/index.js
CHANGED
|
@@ -7,6 +7,7 @@ var principal = function () {
|
|
|
7
7
|
var nomeArquivo;
|
|
8
8
|
analisadorArgumentos
|
|
9
9
|
.option("-d, --dialeto <dialeto>", "Dialeto a ser usado. Padrão: delegua", "delegua")
|
|
10
|
+
.option("-p, --performance", "Visualizar indicadores de performance. Desabilitado por padrão", false)
|
|
10
11
|
.argument('[arquivos...]', 'Nomes dos arquivos (opcional)')
|
|
11
12
|
.action(function (arquivos) {
|
|
12
13
|
if (arquivos.length > 0) {
|
|
@@ -15,7 +16,7 @@ var principal = function () {
|
|
|
15
16
|
});
|
|
16
17
|
analisadorArgumentos.parse();
|
|
17
18
|
var opcoes = analisadorArgumentos.opts();
|
|
18
|
-
var delegua = new delegua_1.Delegua(opcoes.dialeto);
|
|
19
|
+
var delegua = new delegua_1.Delegua(opcoes.dialeto, opcoes.performance);
|
|
19
20
|
if (!nomeArquivo) {
|
|
20
21
|
delegua.iniciarDelegua();
|
|
21
22
|
}
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;AAAA,yCAAwC;AACxC,uCAAoC;AAEpC,IAAM,SAAS,GAAG;IAChB,IAAM,oBAAoB,GAAG,IAAI,mBAAO,EAAE,CAAC;IAC3C,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;AAAA,yCAAwC;AACxC,uCAAoC;AAEpC,IAAM,SAAS,GAAG;IAChB,IAAM,oBAAoB,GAAG,IAAI,mBAAO,EAAE,CAAC;IAC3C,IAAI,WAAmB,CAAC;IAExB,oBAAoB;SACjB,MAAM,CAAC,yBAAyB,EAAE,sCAAsC,EAAG,SAAS,CAAC;SACrF,MAAM,CAAC,mBAAmB,EAAE,gEAAgE,EAAG,KAAK,CAAC;SACrG,QAAQ,CAAC,eAAe,EAAE,+BAA+B,CAAC;SAC1D,MAAM,CAAC,UAAC,QAAQ;QACb,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC7B;IACL,CAAC,CAAC,CAAC;IAEL,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC7B,IAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAE3C,IAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAEhE,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,CAAC,cAAc,EAAE,CAAC;KAC1B;SAAM;QACL,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;KACtC;AACH,CAAC,CAAC;AAEF,SAAS,EAAE,CAAC"}
|
package/jest.config.d.ts
ADDED
package/jest.config.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.default = (function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
40
|
+
return __generator(this, function (_a) {
|
|
41
|
+
return [2 /*return*/, {
|
|
42
|
+
verbose: true,
|
|
43
|
+
modulePathIgnorePatterns: ["<rootDir>/dist/"],
|
|
44
|
+
preset: 'ts-jest',
|
|
45
|
+
testEnvironment: 'node',
|
|
46
|
+
coverageReporters: ['text', 'text-summary', 'lcov']
|
|
47
|
+
}];
|
|
48
|
+
});
|
|
49
|
+
}); });
|
|
50
|
+
//# sourceMappingURL=jest.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,mBAAe;;QACb,sBAAO;gBACL,OAAO,EAAE,IAAI;gBACb,wBAAwB,EAAE,CAAC,iBAAiB,CAAC;gBAC7C,MAAM,EAAE,SAAS;gBACjB,eAAe,EAAE,MAAM;gBACvB,iBAAiB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC;aACpD,EAAC;;KACH,EAAC"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/delegua",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Linguagem de programação simples e moderna usando português",
|
|
5
5
|
"main": "index.ts",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"empacotar": "rm -Rf ./dist && tsc && copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && copyfiles -V ./package.json ./dist/bin && copyfiles -V ./README.md ./dist",
|
|
8
8
|
"publicar-npm": "npm publish --access public",
|
|
9
|
-
"testes": "./bin/delegua-ts testes/testes.egua",
|
|
10
|
-
"testes:delegua:bhaskara": "./bin/delegua-ts testes/dialetos/egua-classico/bhaskara.egua",
|
|
11
|
-
"testes:
|
|
12
|
-
"testes-
|
|
9
|
+
"testes": "./bin/delegua-ts testes/exemplos/testes.egua",
|
|
10
|
+
"testes:delegua:bhaskara": "./bin/delegua-ts testes/exemplos/dialetos/egua-classico/bhaskara.egua",
|
|
11
|
+
"testes:delegua:fibonacci": "./bin/delegua-ts testes/exemplos/dialetos/egua-classico/fibonacci.egua",
|
|
12
|
+
"testes:egua-classico": "./bin/delegua-ts --dialeto egua testes/exemplos/dialetos/egua-classico/testes.egua",
|
|
13
|
+
"testes-unitarios": "jest --coverage",
|
|
14
|
+
"observar-testes-unitarios": "jest --watchAll",
|
|
13
15
|
"release": "release-it"
|
|
14
16
|
},
|
|
15
17
|
"repository": {
|
|
@@ -41,11 +43,13 @@
|
|
|
41
43
|
"homepage": "https://github.com/DesignLiquido/delegua#readme",
|
|
42
44
|
"devDependencies": {
|
|
43
45
|
"@babel/preset-env": "^7.12.1",
|
|
46
|
+
"@types/jest": "^27.4.1",
|
|
44
47
|
"copyfiles": "^2.4.1",
|
|
45
|
-
"jest": "^
|
|
48
|
+
"jest": "^27.5.1",
|
|
46
49
|
"release-it": "^14.12.3",
|
|
50
|
+
"ts-jest": "^27.1.4",
|
|
47
51
|
"ts-node": "^10.4.0",
|
|
48
|
-
"typescript": "^4.
|
|
52
|
+
"typescript": "^4.6.3"
|
|
49
53
|
},
|
|
50
54
|
"dependencies": {
|
|
51
55
|
"commander": "^8.3.0"
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/avaliador-sintatico/dialetos/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/avaliador-sintatico/dialetos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AvaliadorSintaticoInterface, SimboloInterface } from
|
|
2
|
-
import { Escreva } from
|
|
1
|
+
import { AvaliadorSintaticoInterface, SimboloInterface } from '../interfaces';
|
|
2
|
+
import { Escreva } from '../declaracoes';
|
|
3
3
|
/**
|
|
4
4
|
* O avaliador sintático (Parser) é responsável por transformar os símbolos do Lexador em estruturas de alto nível.
|
|
5
5
|
* Essas estruturas de alto nível são as partes que executam lógica de programação de fato.
|
|
@@ -9,7 +9,8 @@ export declare class Parser implements AvaliadorSintaticoInterface {
|
|
|
9
9
|
Delegua: any;
|
|
10
10
|
atual: number;
|
|
11
11
|
ciclos: number;
|
|
12
|
-
|
|
12
|
+
performance: boolean;
|
|
13
|
+
constructor(Delegua: any, performance?: boolean);
|
|
13
14
|
sincronizar(): void;
|
|
14
15
|
erro(simbolo: any, mensagemDeErro: any): any;
|
|
15
16
|
consumir(tipo: any, mensagemDeErro: any): any;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Parser = void 0;
|
|
4
4
|
var tiposDeSimbolos_1 = require("../tiposDeSimbolos");
|
|
5
|
+
var perf_hooks_1 = require("perf_hooks");
|
|
5
6
|
var construtos_1 = require("../construtos");
|
|
6
7
|
var erros_avaliador_1 = require("./erros-avaliador");
|
|
7
8
|
var declaracoes_1 = require("../declaracoes");
|
|
@@ -10,11 +11,12 @@ var declaracoes_1 = require("../declaracoes");
|
|
|
10
11
|
* Essas estruturas de alto nível são as partes que executam lógica de programação de fato.
|
|
11
12
|
*/
|
|
12
13
|
var Parser = /** @class */ (function () {
|
|
13
|
-
function Parser(Delegua,
|
|
14
|
-
|
|
14
|
+
function Parser(Delegua, performance) {
|
|
15
|
+
if (performance === void 0) { performance = false; }
|
|
15
16
|
this.Delegua = Delegua;
|
|
16
17
|
this.atual = 0;
|
|
17
18
|
this.ciclos = 0;
|
|
19
|
+
this.performance = performance;
|
|
18
20
|
}
|
|
19
21
|
Parser.prototype.sincronizar = function () {
|
|
20
22
|
this.avancar();
|
|
@@ -66,7 +68,8 @@ var Parser = /** @class */ (function () {
|
|
|
66
68
|
};
|
|
67
69
|
Parser.prototype.estaNoFinal = function () {
|
|
68
70
|
var simboloAtual = this.simboloAtual();
|
|
69
|
-
if (simboloAtual &&
|
|
71
|
+
if (simboloAtual &&
|
|
72
|
+
simboloAtual.tipo === tiposDeSimbolos_1.default.PONTO_E_VIRGULA) {
|
|
70
73
|
return true;
|
|
71
74
|
}
|
|
72
75
|
return this.atual === this.simbolos.length;
|
|
@@ -94,7 +97,7 @@ var Parser = /** @class */ (function () {
|
|
|
94
97
|
if (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.SUPER)) {
|
|
95
98
|
var palavraChave = this.voltar();
|
|
96
99
|
this.consumir(tiposDeSimbolos_1.default.PONTO, "Esperado '.' após 'super'.");
|
|
97
|
-
var metodo = this.consumir(tiposDeSimbolos_1.default.IDENTIFICADOR,
|
|
100
|
+
var metodo = this.consumir(tiposDeSimbolos_1.default.IDENTIFICADOR, 'Esperado nome do método da SuperClasse.');
|
|
98
101
|
return new construtos_1.Super(palavraChave, metodo);
|
|
99
102
|
}
|
|
100
103
|
if (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.COLCHETE_ESQUERDO)) {
|
|
@@ -105,8 +108,9 @@ var Parser = /** @class */ (function () {
|
|
|
105
108
|
while (!this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.COLCHETE_DIREITO)) {
|
|
106
109
|
var valor = this.atribuir();
|
|
107
110
|
valores.push(valor);
|
|
108
|
-
if (this.simboloAtual().tipo !==
|
|
109
|
-
|
|
111
|
+
if (this.simboloAtual().tipo !==
|
|
112
|
+
tiposDeSimbolos_1.default.COLCHETE_DIREITO) {
|
|
113
|
+
this.consumir(tiposDeSimbolos_1.default.VIRGULA, 'Esperado vírgula antes da próxima expressão.');
|
|
110
114
|
}
|
|
111
115
|
}
|
|
112
116
|
return new construtos_1.Vetor(valores);
|
|
@@ -124,15 +128,15 @@ var Parser = /** @class */ (function () {
|
|
|
124
128
|
chaves.push(chave);
|
|
125
129
|
valores.push(valor);
|
|
126
130
|
if (this.simboloAtual().tipo !== tiposDeSimbolos_1.default.CHAVE_DIREITA) {
|
|
127
|
-
this.consumir(tiposDeSimbolos_1.default.VIRGULA,
|
|
131
|
+
this.consumir(tiposDeSimbolos_1.default.VIRGULA, 'Esperado vírgula antes da próxima expressão.');
|
|
128
132
|
}
|
|
129
133
|
}
|
|
130
134
|
return new construtos_1.Dicionario(chaves, valores);
|
|
131
135
|
}
|
|
132
136
|
if (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.FUNÇÃO))
|
|
133
|
-
return this.corpoDaFuncao(
|
|
137
|
+
return this.corpoDaFuncao('função');
|
|
134
138
|
if (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.FUNCAO))
|
|
135
|
-
return this.corpoDaFuncao(
|
|
139
|
+
return this.corpoDaFuncao('funcao');
|
|
136
140
|
if (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.FALSO))
|
|
137
141
|
return new construtos_1.Literal(false);
|
|
138
142
|
if (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.VERDADEIRO))
|
|
@@ -154,14 +158,14 @@ var Parser = /** @class */ (function () {
|
|
|
154
158
|
}
|
|
155
159
|
if (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.IMPORTAR))
|
|
156
160
|
return this.declaracaoImportar();
|
|
157
|
-
throw this.erro(this.simboloAtual(),
|
|
161
|
+
throw this.erro(this.simboloAtual(), 'Esperado expressão.');
|
|
158
162
|
};
|
|
159
163
|
Parser.prototype.finalizarChamada = function (entidadeChamada) {
|
|
160
164
|
var argumentos = [];
|
|
161
165
|
if (!this.verificar(tiposDeSimbolos_1.default.PARENTESE_DIREITO)) {
|
|
162
166
|
do {
|
|
163
167
|
if (argumentos.length >= 255) {
|
|
164
|
-
throw this.erro(this.simboloAtual(),
|
|
168
|
+
throw this.erro(this.simboloAtual(), 'Não pode haver mais de 255 argumentos.');
|
|
165
169
|
}
|
|
166
170
|
argumentos.push(this.expressao());
|
|
167
171
|
} while (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.VIRGULA));
|
|
@@ -314,7 +318,7 @@ var Parser = /** @class */ (function () {
|
|
|
314
318
|
else if (expr instanceof construtos_1.Subscript) {
|
|
315
319
|
return new construtos_1.AtribuicaoSobrescrita(expr.entidadeChamada, expr.indice, valor);
|
|
316
320
|
}
|
|
317
|
-
this.erro(igual,
|
|
321
|
+
this.erro(igual, 'Tarefa de atribuição inválida');
|
|
318
322
|
}
|
|
319
323
|
return expr;
|
|
320
324
|
};
|
|
@@ -542,7 +546,7 @@ var Parser = /** @class */ (function () {
|
|
|
542
546
|
return this.declaracaoExpressao();
|
|
543
547
|
};
|
|
544
548
|
Parser.prototype.declaracaoDeVariavel = function () {
|
|
545
|
-
var nome = this.consumir(tiposDeSimbolos_1.default.IDENTIFICADOR,
|
|
549
|
+
var nome = this.consumir(tiposDeSimbolos_1.default.IDENTIFICADOR, 'Esperado nome de variável.');
|
|
546
550
|
var inicializador = null;
|
|
547
551
|
if (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.IGUAL) ||
|
|
548
552
|
this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.MAIS_IGUAL)) {
|
|
@@ -560,22 +564,22 @@ var Parser = /** @class */ (function () {
|
|
|
560
564
|
if (!this.verificar(tiposDeSimbolos_1.default.PARENTESE_DIREITO)) {
|
|
561
565
|
do {
|
|
562
566
|
if (parametros.length >= 255) {
|
|
563
|
-
this.erro(this.simboloAtual(),
|
|
567
|
+
this.erro(this.simboloAtual(), 'Não pode haver mais de 255 parâmetros');
|
|
564
568
|
}
|
|
565
569
|
var paramObj = {};
|
|
566
570
|
if (this.simboloAtual().tipo === tiposDeSimbolos_1.default.MULTIPLICACAO) {
|
|
567
571
|
this.consumir(tiposDeSimbolos_1.default.MULTIPLICACAO, null);
|
|
568
|
-
paramObj[
|
|
572
|
+
paramObj['tipo'] = 'wildcard';
|
|
569
573
|
}
|
|
570
574
|
else {
|
|
571
|
-
paramObj[
|
|
575
|
+
paramObj['tipo'] = 'standard';
|
|
572
576
|
}
|
|
573
|
-
paramObj[
|
|
577
|
+
paramObj['nome'] = this.consumir(tiposDeSimbolos_1.default.IDENTIFICADOR, 'Esperado nome do parâmetro.');
|
|
574
578
|
if (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.IGUAL)) {
|
|
575
|
-
paramObj[
|
|
579
|
+
paramObj['default'] = this.primario();
|
|
576
580
|
}
|
|
577
581
|
parametros.push(paramObj);
|
|
578
|
-
if (paramObj[
|
|
582
|
+
if (paramObj['tipo'] === 'wildcard')
|
|
579
583
|
break;
|
|
580
584
|
} while (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.VIRGULA));
|
|
581
585
|
}
|
|
@@ -585,17 +589,17 @@ var Parser = /** @class */ (function () {
|
|
|
585
589
|
return new construtos_1.Funcao(parametros, corpo);
|
|
586
590
|
};
|
|
587
591
|
Parser.prototype.declaracaoDeClasse = function () {
|
|
588
|
-
var nome = this.consumir(tiposDeSimbolos_1.default.IDENTIFICADOR,
|
|
592
|
+
var nome = this.consumir(tiposDeSimbolos_1.default.IDENTIFICADOR, 'Esperado nome da classe.');
|
|
589
593
|
var superClasse = null;
|
|
590
594
|
if (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.HERDA)) {
|
|
591
|
-
this.consumir(tiposDeSimbolos_1.default.IDENTIFICADOR,
|
|
595
|
+
this.consumir(tiposDeSimbolos_1.default.IDENTIFICADOR, 'Esperado nome da SuperClasse.');
|
|
592
596
|
superClasse = new construtos_1.Variavel(this.voltar());
|
|
593
597
|
}
|
|
594
598
|
this.consumir(tiposDeSimbolos_1.default.CHAVE_ESQUERDA, "Esperado '{' antes do escopo da classe.");
|
|
595
599
|
var metodos = [];
|
|
596
600
|
while (!this.verificar(tiposDeSimbolos_1.default.CHAVE_DIREITA) &&
|
|
597
601
|
!this.estaNoFinal()) {
|
|
598
|
-
metodos.push(this.funcao(
|
|
602
|
+
metodos.push(this.funcao('método'));
|
|
599
603
|
}
|
|
600
604
|
this.consumir(tiposDeSimbolos_1.default.CHAVE_DIREITA, "Esperado '}' após o escopo da classe.");
|
|
601
605
|
return new declaracoes_1.Classe(nome, superClasse, metodos);
|
|
@@ -605,12 +609,12 @@ var Parser = /** @class */ (function () {
|
|
|
605
609
|
if (this.verificar(tiposDeSimbolos_1.default.FUNÇÃO) &&
|
|
606
610
|
this.verificarProximo(tiposDeSimbolos_1.default.IDENTIFICADOR)) {
|
|
607
611
|
this.consumir(tiposDeSimbolos_1.default.FUNÇÃO, null);
|
|
608
|
-
return this.funcao(
|
|
612
|
+
return this.funcao('função');
|
|
609
613
|
}
|
|
610
614
|
if (this.verificar(tiposDeSimbolos_1.default.FUNCAO) &&
|
|
611
615
|
this.verificarProximo(tiposDeSimbolos_1.default.IDENTIFICADOR)) {
|
|
612
616
|
this.consumir(tiposDeSimbolos_1.default.FUNCAO, null);
|
|
613
|
-
return this.funcao(
|
|
617
|
+
return this.funcao('funcao');
|
|
614
618
|
}
|
|
615
619
|
if (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.VARIAVEL))
|
|
616
620
|
return this.declaracaoDeVariavel();
|
|
@@ -624,6 +628,7 @@ var Parser = /** @class */ (function () {
|
|
|
624
628
|
}
|
|
625
629
|
};
|
|
626
630
|
Parser.prototype.analisar = function (simbolos) {
|
|
631
|
+
var inicioAnalise = perf_hooks_1.performance.now();
|
|
627
632
|
this.atual = 0;
|
|
628
633
|
this.ciclos = 0;
|
|
629
634
|
if (simbolos) {
|
|
@@ -633,6 +638,10 @@ var Parser = /** @class */ (function () {
|
|
|
633
638
|
while (!this.estaNoFinal()) {
|
|
634
639
|
declaracoes.push(this.declaracao());
|
|
635
640
|
}
|
|
641
|
+
var fimAnalise = perf_hooks_1.performance.now();
|
|
642
|
+
if (this.performance) {
|
|
643
|
+
console.log("[Avaliador Sint\u00E1tico] Tempo para an\u00E1lise: ".concat(fimAnalise - inicioAnalise, "ms"));
|
|
644
|
+
}
|
|
636
645
|
return declaracoes;
|
|
637
646
|
};
|
|
638
647
|
return Parser;
|