@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.
Files changed (166) hide show
  1. package/bin/package.json +11 -7
  2. package/coverage/lcov-report/block-navigation.d.ts +1 -0
  3. package/coverage/lcov-report/block-navigation.js +70 -0
  4. package/coverage/lcov-report/block-navigation.js.map +1 -0
  5. package/coverage/lcov-report/prettify.d.ts +0 -0
  6. package/coverage/lcov-report/prettify.js +477 -0
  7. package/coverage/lcov-report/prettify.js.map +1 -0
  8. package/coverage/lcov-report/sorter.d.ts +1 -0
  9. package/coverage/lcov-report/sorter.js +163 -0
  10. package/coverage/lcov-report/sorter.js.map +1 -0
  11. package/index.js +2 -1
  12. package/index.js.map +1 -1
  13. package/jest.config.d.ts +3 -0
  14. package/jest.config.js +50 -0
  15. package/jest.config.js.map +1 -0
  16. package/package.json +11 -7
  17. package/src/avaliador-sintatico/dialetos/index.js +5 -1
  18. package/src/avaliador-sintatico/dialetos/index.js.map +1 -1
  19. package/src/avaliador-sintatico/index.d.ts +4 -3
  20. package/src/avaliador-sintatico/index.js +33 -24
  21. package/src/avaliador-sintatico/index.js.map +1 -1
  22. package/src/construtos/atribuicao-sobrescrita.d.ts +2 -2
  23. package/src/construtos/atribuir.d.ts +2 -2
  24. package/src/construtos/binario.d.ts +2 -2
  25. package/src/construtos/chamada.d.ts +2 -2
  26. package/src/construtos/conjunto.d.ts +2 -2
  27. package/src/construtos/{expr.d.ts → construto.d.ts} +1 -1
  28. package/src/construtos/{expr.js → construto.js} +1 -1
  29. package/src/construtos/construto.js.map +1 -0
  30. package/src/construtos/dicionario.d.ts +2 -2
  31. package/src/construtos/funcao.d.ts +2 -2
  32. package/src/construtos/get.d.ts +2 -2
  33. package/src/construtos/grouping.d.ts +2 -2
  34. package/src/construtos/index.d.ts +1 -1
  35. package/src/construtos/index.js +6 -2
  36. package/src/construtos/index.js.map +1 -1
  37. package/src/construtos/isto.d.ts +2 -2
  38. package/src/construtos/literal.d.ts +2 -2
  39. package/src/construtos/logical.d.ts +2 -2
  40. package/src/construtos/subscript.d.ts +2 -2
  41. package/src/construtos/super.d.ts +2 -2
  42. package/src/construtos/unario.d.ts +2 -2
  43. package/src/construtos/variavel.d.ts +2 -2
  44. package/src/construtos/vetor.d.ts +2 -2
  45. package/src/declaracoes/bloco.d.ts +2 -2
  46. package/src/declaracoes/bloco.js +2 -2
  47. package/src/declaracoes/bloco.js.map +1 -1
  48. package/src/declaracoes/classe.d.ts +2 -2
  49. package/src/declaracoes/classe.js +2 -2
  50. package/src/declaracoes/classe.js.map +1 -1
  51. package/src/declaracoes/continua.d.ts +2 -2
  52. package/src/declaracoes/continua.js +2 -2
  53. package/src/declaracoes/continua.js.map +1 -1
  54. package/src/declaracoes/declaracao.d.ts +3 -0
  55. package/src/declaracoes/declaracao.js +11 -0
  56. package/src/declaracoes/declaracao.js.map +1 -0
  57. package/src/declaracoes/enquanto.d.ts +2 -2
  58. package/src/declaracoes/enquanto.js +2 -2
  59. package/src/declaracoes/enquanto.js.map +1 -1
  60. package/src/declaracoes/escolha.d.ts +2 -2
  61. package/src/declaracoes/escolha.js +2 -2
  62. package/src/declaracoes/escolha.js.map +1 -1
  63. package/src/declaracoes/escreva.d.ts +2 -2
  64. package/src/declaracoes/escreva.js +2 -2
  65. package/src/declaracoes/escreva.js.map +1 -1
  66. package/src/declaracoes/expressao.d.ts +2 -2
  67. package/src/declaracoes/expressao.js +2 -2
  68. package/src/declaracoes/expressao.js.map +1 -1
  69. package/src/declaracoes/fazer.d.ts +2 -2
  70. package/src/declaracoes/fazer.js +2 -2
  71. package/src/declaracoes/fazer.js.map +1 -1
  72. package/src/declaracoes/funcao.d.ts +2 -2
  73. package/src/declaracoes/funcao.js +2 -2
  74. package/src/declaracoes/funcao.js.map +1 -1
  75. package/src/declaracoes/importar.d.ts +2 -2
  76. package/src/declaracoes/importar.js +2 -2
  77. package/src/declaracoes/importar.js.map +1 -1
  78. package/src/declaracoes/index.d.ts +1 -1
  79. package/src/declaracoes/index.js +6 -2
  80. package/src/declaracoes/index.js.map +1 -1
  81. package/src/declaracoes/para.d.ts +2 -2
  82. package/src/declaracoes/para.js +2 -2
  83. package/src/declaracoes/para.js.map +1 -1
  84. package/src/declaracoes/pausa.d.ts +2 -2
  85. package/src/declaracoes/pausa.js +2 -2
  86. package/src/declaracoes/pausa.js.map +1 -1
  87. package/src/declaracoes/retorna.d.ts +2 -2
  88. package/src/declaracoes/retorna.js +2 -2
  89. package/src/declaracoes/retorna.js.map +1 -1
  90. package/src/declaracoes/se.d.ts +2 -2
  91. package/src/declaracoes/se.js +2 -2
  92. package/src/declaracoes/se.js.map +1 -1
  93. package/src/declaracoes/tente.d.ts +2 -2
  94. package/src/declaracoes/tente.js +2 -2
  95. package/src/declaracoes/tente.js.map +1 -1
  96. package/src/declaracoes/var.d.ts +2 -2
  97. package/src/declaracoes/var.js +2 -2
  98. package/src/declaracoes/var.js.map +1 -1
  99. package/src/delegua.d.ts +3 -3
  100. package/src/delegua.js +17 -14
  101. package/src/delegua.js.map +1 -1
  102. package/src/estruturas/funcao.js +1 -1
  103. package/src/estruturas/index.js +5 -1
  104. package/src/estruturas/index.js.map +1 -1
  105. package/src/excecoes/excecao-continuar.d.ts +2 -0
  106. package/src/excecoes/{continue-exception.js → excecao-continuar.js} +7 -7
  107. package/src/excecoes/excecao-continuar.js.map +1 -0
  108. package/src/excecoes/excecao-quebra.d.ts +2 -0
  109. package/src/excecoes/{break-exception.js → excecao-quebra.js} +7 -7
  110. package/src/excecoes/excecao-quebra.js.map +1 -0
  111. package/src/excecoes/excecao-retornar.d.ts +4 -0
  112. package/src/excecoes/{return-exception.js → excecao-retornar.js} +8 -8
  113. package/src/excecoes/{return-exception.js.map → excecao-retornar.js.map} +1 -1
  114. package/src/excecoes/index.d.ts +3 -3
  115. package/src/excecoes/index.js +8 -4
  116. package/src/excecoes/index.js.map +1 -1
  117. package/src/interfaces/index.js +5 -1
  118. package/src/interfaces/index.js.map +1 -1
  119. package/src/interfaces/lexador-interface.d.ts +10 -10
  120. package/src/interfaces/resolvedor-interface.d.ts +3 -2
  121. package/src/interfaces/simbolo-interface.d.ts +1 -1
  122. package/src/interpretador/dialetos/egua-classico.d.ts +1 -1
  123. package/src/interpretador/dialetos/egua-classico.js +12 -12
  124. package/src/interpretador/dialetos/egua-classico.js.map +1 -1
  125. package/src/interpretador/dialetos/index.js +5 -1
  126. package/src/interpretador/dialetos/index.js.map +1 -1
  127. package/src/interpretador/index.d.ts +4 -3
  128. package/src/interpretador/index.js +59 -48
  129. package/src/interpretador/index.js.map +1 -1
  130. package/src/lexador/dialetos/egua-classico.d.ts +8 -8
  131. package/src/lexador/dialetos/egua-classico.js +31 -30
  132. package/src/lexador/dialetos/egua-classico.js.map +1 -1
  133. package/src/lexador/dialetos/index.js +5 -1
  134. package/src/lexador/dialetos/index.js.map +1 -1
  135. package/src/lexador/index.d.ts +29 -18
  136. package/src/lexador/index.js +213 -107
  137. package/src/lexador/index.js.map +1 -1
  138. package/src/resolvedor/dialetos/egua-classico.d.ts +5 -3
  139. package/src/resolvedor/dialetos/egua-classico.js +6 -6
  140. package/src/resolvedor/dialetos/egua-classico.js.map +1 -1
  141. package/src/resolvedor/dialetos/index.js +5 -1
  142. package/src/resolvedor/dialetos/index.js.map +1 -1
  143. package/src/resolvedor/index.d.ts +8 -5
  144. package/src/resolvedor/index.js +49 -49
  145. package/src/resolvedor/index.js.map +1 -1
  146. package/testes/avaliador-sintatico.test.d.ts +1 -0
  147. package/testes/avaliador-sintatico.test.js +30 -0
  148. package/testes/avaliador-sintatico.test.js.map +1 -0
  149. package/testes/interpretador.test.d.ts +1 -0
  150. package/testes/interpretador.test.js +155 -0
  151. package/testes/interpretador.test.js.map +1 -0
  152. package/testes/lexador.test.d.ts +1 -0
  153. package/testes/lexador.test.js +74 -0
  154. package/testes/lexador.test.js.map +1 -0
  155. package/testes/resolvedor.test.d.ts +1 -0
  156. package/testes/resolvedor.test.js +35 -0
  157. package/testes/resolvedor.test.js.map +1 -0
  158. package/src/construtos/expr.js.map +0 -1
  159. package/src/declaracoes/stmt.d.ts +0 -3
  160. package/src/declaracoes/stmt.js +0 -11
  161. package/src/declaracoes/stmt.js.map +0 -1
  162. package/src/excecoes/break-exception.d.ts +0 -2
  163. package/src/excecoes/break-exception.js.map +0 -1
  164. package/src/excecoes/continue-exception.d.ts +0 -2
  165. package/src/excecoes/continue-exception.js.map +0 -1
  166. 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,WAAW,CAAC;IAEhB,oBAAoB;SACjB,MAAM,CAAC,yBAAyB,EAAE,sCAAsC,EAAG,SAAS,CAAC;SACrF,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,CAAC,CAAC;IAE5C,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"}
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"}
@@ -0,0 +1,3 @@
1
+ import type { Config } from '@jest/types';
2
+ declare const _default: () => Promise<Config.InitialOptions>;
3
+ export default _default;
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.0",
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:egua-classico": "./bin/delegua-ts --dialeto egua testes/dialetos/egua-classico/testes.egua",
12
- "testes-unitarios": "jest",
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": "^26.6.1",
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.5.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.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
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":";;;;;;;;;;;;AAAA,kDAAgC"}
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 "../interfaces";
2
- import { Escreva } from "../declaracoes";
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
- constructor(Delegua: any, simbolos?: SimboloInterface[]);
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, simbolos) {
14
- this.simbolos = simbolos;
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 && simboloAtual.tipo === tiposDeSimbolos_1.default.PONTO_E_VIRGULA) {
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, "Esperado nome do método da SuperClasse.");
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 !== tiposDeSimbolos_1.default.COLCHETE_DIREITO) {
109
- this.consumir(tiposDeSimbolos_1.default.VIRGULA, "Esperado vírgula antes da próxima expressão.");
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, "Esperado vírgula antes da próxima expressão.");
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("função");
137
+ return this.corpoDaFuncao('função');
134
138
  if (this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos_1.default.FUNCAO))
135
- return this.corpoDaFuncao("funcao");
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(), "Esperado expressão.");
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(), "Não pode haver mais de 255 argumentos.");
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, "Tarefa de atribuição inválida");
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, "Esperado nome de variável.");
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(), "Não pode haver mais de 255 parâmetros");
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["tipo"] = "wildcard";
572
+ paramObj['tipo'] = 'wildcard';
569
573
  }
570
574
  else {
571
- paramObj["tipo"] = "standard";
575
+ paramObj['tipo'] = 'standard';
572
576
  }
573
- paramObj["nome"] = this.consumir(tiposDeSimbolos_1.default.IDENTIFICADOR, "Esperado nome do parâmetro.");
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["default"] = this.primario();
579
+ paramObj['default'] = this.primario();
576
580
  }
577
581
  parametros.push(paramObj);
578
- if (paramObj["tipo"] === "wildcard")
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, "Esperado nome da classe.");
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, "Esperado nome da SuperClasse.");
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("método"));
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("função");
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("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;