@designliquido/delegua 0.71.0 → 0.73.0

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 (55) hide show
  1. package/analisador-semantico/analisador-semantico-base.d.ts.map +1 -1
  2. package/analisador-semantico/analisador-semantico-base.js +7 -9
  3. package/analisador-semantico/analisador-semantico-base.js.map +1 -1
  4. package/analisador-semantico/analisador-semantico.d.ts +5 -1
  5. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  6. package/analisador-semantico/analisador-semantico.js +67 -4
  7. package/analisador-semantico/analisador-semantico.js.map +1 -1
  8. package/avaliador-sintatico/avaliador-sintatico.d.ts +5 -0
  9. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  10. package/avaliador-sintatico/avaliador-sintatico.js +26 -1
  11. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  12. package/bibliotecas/dialetos/pitugues/primitivas-texto.d.ts.map +1 -1
  13. package/bibliotecas/dialetos/pitugues/primitivas-texto.js +25 -0
  14. package/bibliotecas/dialetos/pitugues/primitivas-texto.js.map +1 -1
  15. package/bibliotecas/primitivas-texto.d.ts +2 -0
  16. package/bibliotecas/primitivas-texto.d.ts.map +1 -1
  17. package/bibliotecas/primitivas-texto.js +58 -0
  18. package/bibliotecas/primitivas-texto.js.map +1 -1
  19. package/bin/package.json +1 -1
  20. package/estilizador/regras/index.d.ts +1 -0
  21. package/estilizador/regras/index.d.ts.map +1 -1
  22. package/estilizador/regras/index.js +1 -0
  23. package/estilizador/regras/index.js.map +1 -1
  24. package/estilizador/regras/paradigma-consistente.d.ts +45 -0
  25. package/estilizador/regras/paradigma-consistente.d.ts.map +1 -0
  26. package/estilizador/regras/paradigma-consistente.js +89 -0
  27. package/estilizador/regras/paradigma-consistente.js.map +1 -0
  28. package/interpretador/dialetos/calango/index.d.ts +2 -0
  29. package/interpretador/dialetos/calango/index.d.ts.map +1 -0
  30. package/interpretador/dialetos/calango/index.js +18 -0
  31. package/interpretador/dialetos/calango/index.js.map +1 -0
  32. package/interpretador/dialetos/index.d.ts +2 -0
  33. package/interpretador/dialetos/index.d.ts.map +1 -1
  34. package/interpretador/dialetos/index.js +2 -0
  35. package/interpretador/dialetos/index.js.map +1 -1
  36. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts +2 -1
  37. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts.map +1 -1
  38. package/interpretador/dialetos/pitugues/interpretador-pitugues.js +42 -1
  39. package/interpretador/dialetos/pitugues/interpretador-pitugues.js.map +1 -1
  40. package/interpretador/interpretador-base.d.ts.map +1 -1
  41. package/interpretador/interpretador-base.js +3 -0
  42. package/interpretador/interpretador-base.js.map +1 -1
  43. package/interpretador/interpretador.d.ts.map +1 -1
  44. package/interpretador/interpretador.js +4 -8
  45. package/interpretador/interpretador.js.map +1 -1
  46. package/lexador/filtro-paradigma.d.ts +15 -0
  47. package/lexador/filtro-paradigma.d.ts.map +1 -0
  48. package/lexador/filtro-paradigma.js +51 -0
  49. package/lexador/filtro-paradigma.js.map +1 -0
  50. package/lexador/mapeamento-paradigmas.d.ts +47 -0
  51. package/lexador/mapeamento-paradigmas.d.ts.map +1 -0
  52. package/lexador/mapeamento-paradigmas.js +183 -0
  53. package/lexador/mapeamento-paradigmas.js.map +1 -0
  54. package/package.json +1 -1
  55. package/umd/delegua.js +789 -371
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.palavrasNeutras = exports.gruposPalavrasParadigma = void 0;
7
+ exports.obterMapaLexemaParaParadigma = obterMapaLexemaParaParadigma;
8
+ exports.obterFormaAlternativa = obterFormaAlternativa;
9
+ exports.pertenceAoParadigma = pertenceAoParadigma;
10
+ const delegua_1 = __importDefault(require("../tipos-de-simbolos/delegua"));
11
+ /**
12
+ * Grupos de palavras reservadas organizadas por paradigma.
13
+ * Cada grupo representa diferentes formas de expressar a mesma funcionalidade.
14
+ */
15
+ exports.gruposPalavrasParadigma = [
16
+ {
17
+ tipo: delegua_1.default.ESCREVA,
18
+ imperativo: ['escreva'],
19
+ infinitivo: ['escrever'],
20
+ },
21
+ {
22
+ tipo: delegua_1.default.LEIA,
23
+ imperativo: ['leia'],
24
+ infinitivo: ['ler'],
25
+ },
26
+ {
27
+ tipo: delegua_1.default.CONTINUA,
28
+ imperativo: ['continua'],
29
+ infinitivo: ['continuar'],
30
+ },
31
+ {
32
+ tipo: delegua_1.default.RETORNA,
33
+ imperativo: ['retorna', 'retorne'],
34
+ infinitivo: ['retornar'],
35
+ },
36
+ {
37
+ tipo: delegua_1.default.ESCOLHA,
38
+ imperativo: ['escolha'],
39
+ infinitivo: ['escolher'],
40
+ },
41
+ {
42
+ tipo: delegua_1.default.TENTE,
43
+ imperativo: ['tente'],
44
+ infinitivo: ['tentar'],
45
+ },
46
+ {
47
+ tipo: delegua_1.default.PEGUE,
48
+ imperativo: ['pegue'],
49
+ infinitivo: ['pegar'],
50
+ },
51
+ {
52
+ tipo: delegua_1.default.QUEBRAR,
53
+ imperativo: ['quebre'],
54
+ infinitivo: ['quebrar'],
55
+ },
56
+ {
57
+ tipo: delegua_1.default.IMPORTAR,
58
+ imperativo: ['importe'],
59
+ infinitivo: ['importar'],
60
+ },
61
+ {
62
+ tipo: delegua_1.default.FAZER,
63
+ imperativo: ['faca', 'faça'],
64
+ infinitivo: ['fazer'],
65
+ },
66
+ ];
67
+ /**
68
+ * Palavras neutras que não têm paradigma específico.
69
+ * Estas palavras são aceitas em todos os modos de paradigma.
70
+ */
71
+ exports.palavrasNeutras = {
72
+ ajuda: delegua_1.default.AJUDA,
73
+ cada: delegua_1.default.CADA,
74
+ caso: delegua_1.default.CASO,
75
+ classe: delegua_1.default.CLASSE,
76
+ como: delegua_1.default.COMO,
77
+ construtor: delegua_1.default.CONSTRUTOR,
78
+ constante: delegua_1.default.CONSTANTE,
79
+ const: delegua_1.default.CONSTANTE,
80
+ contem: delegua_1.default.CONTEM,
81
+ contém: delegua_1.default.CONTEM,
82
+ de: delegua_1.default.DE,
83
+ e: delegua_1.default.E,
84
+ em: delegua_1.default.EM,
85
+ enquanto: delegua_1.default.ENQUANTO,
86
+ falhar: delegua_1.default.FALHAR,
87
+ falso: delegua_1.default.FALSO,
88
+ finalmente: delegua_1.default.FINALMENTE,
89
+ fixo: delegua_1.default.CONSTANTE,
90
+ funcao: delegua_1.default.FUNCAO,
91
+ função: delegua_1.default.FUNÇÃO,
92
+ herda: delegua_1.default.HERDA,
93
+ isto: delegua_1.default.ISTO,
94
+ nao: delegua_1.default.NAO,
95
+ não: delegua_1.default.NAO,
96
+ nulo: delegua_1.default.NULO,
97
+ ou: delegua_1.default.OU,
98
+ padrao: delegua_1.default.PADRAO,
99
+ padrão: delegua_1.default.PADRAO,
100
+ para: delegua_1.default.PARA,
101
+ se: delegua_1.default.SE,
102
+ senao: delegua_1.default.SENAO,
103
+ senão: delegua_1.default.SENÃO,
104
+ super: delegua_1.default.SUPER,
105
+ sustar: delegua_1.default.SUSTAR,
106
+ tendo: delegua_1.default.TENDO,
107
+ tipo: delegua_1.default.TIPO,
108
+ tudo: delegua_1.default.TUDO,
109
+ var: delegua_1.default.VARIAVEL,
110
+ variavel: delegua_1.default.VARIAVEL,
111
+ variável: delegua_1.default.VARIAVEL,
112
+ verdadeiro: delegua_1.default.VERDADEIRO,
113
+ };
114
+ /**
115
+ * Retorna um mapa de lexema para paradigma.
116
+ * Útil para verificar rapidamente se uma palavra pertence a um paradigma.
117
+ */
118
+ function obterMapaLexemaParaParadigma() {
119
+ const mapa = new Map();
120
+ // Adiciona palavras neutras
121
+ for (const lexema of Object.keys(exports.palavrasNeutras)) {
122
+ mapa.set(lexema, 'neutro');
123
+ }
124
+ // Adiciona palavras de paradigmas
125
+ for (const grupo of exports.gruposPalavrasParadigma) {
126
+ if (grupo.imperativo) {
127
+ for (const lexema of grupo.imperativo) {
128
+ mapa.set(lexema, 'imperativo');
129
+ }
130
+ }
131
+ if (grupo.infinitivo) {
132
+ for (const lexema of grupo.infinitivo) {
133
+ mapa.set(lexema, 'infinitivo');
134
+ }
135
+ }
136
+ }
137
+ return mapa;
138
+ }
139
+ /**
140
+ * Obtém a forma alternativa de uma palavra para o paradigma especificado.
141
+ * @param lexema A palavra original
142
+ * @param paradigmaAlvo O paradigma desejado
143
+ * @returns A forma alternativa ou undefined se não houver conversão
144
+ */
145
+ function obterFormaAlternativa(lexema, paradigmaAlvo) {
146
+ var _a, _b;
147
+ const lexemaLower = lexema.toLowerCase();
148
+ // Encontra o grupo que contém este lexema
149
+ for (const grupo of exports.gruposPalavrasParadigma) {
150
+ const temImperativo = (_a = grupo.imperativo) === null || _a === void 0 ? void 0 : _a.some((p) => p === lexemaLower);
151
+ const temInfinitivo = (_b = grupo.infinitivo) === null || _b === void 0 ? void 0 : _b.some((p) => p === lexemaLower);
152
+ if (temImperativo || temInfinitivo) {
153
+ // Retorna a primeira forma do paradigma alvo
154
+ if (paradigmaAlvo === 'imperativo' && grupo.imperativo && grupo.imperativo.length > 0) {
155
+ return grupo.imperativo[0];
156
+ }
157
+ if (paradigmaAlvo === 'infinitivo' && grupo.infinitivo && grupo.infinitivo.length > 0) {
158
+ return grupo.infinitivo[0];
159
+ }
160
+ }
161
+ }
162
+ return undefined;
163
+ }
164
+ /**
165
+ * Verifica se um lexema pertence a um paradigma específico.
166
+ * @param lexema A palavra a verificar
167
+ * @param paradigma O paradigma a verificar
168
+ * @returns true se o lexema pertence ao paradigma ou é neutro
169
+ */
170
+ function pertenceAoParadigma(lexema, paradigma) {
171
+ if (paradigma === 'ambos') {
172
+ return true;
173
+ }
174
+ const mapa = obterMapaLexemaParaParadigma();
175
+ const paradigmaLexema = mapa.get(lexema.toLowerCase());
176
+ // Palavras neutras são aceitas em todos os paradigmas
177
+ if (paradigmaLexema === 'neutro') {
178
+ return true;
179
+ }
180
+ // Verifica se o paradigma corresponde
181
+ return paradigmaLexema === paradigma;
182
+ }
183
+ //# sourceMappingURL=mapeamento-paradigmas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapeamento-paradigmas.js","sourceRoot":"","sources":["../../fontes/lexador/mapeamento-paradigmas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/delegua",
3
- "version": "0.71.0",
3
+ "version": "0.73.0",
4
4
  "description": "Linguagem de programação simples e moderna usando português estruturado.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",