@designliquido/delegua 0.68.0 → 0.69.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 (74) hide show
  1. package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts +2 -1
  2. package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts.map +1 -1
  3. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +11 -0
  4. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -1
  5. package/avaliador-sintatico/avaliador-sintatico.d.ts +15 -12
  6. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  7. package/avaliador-sintatico/avaliador-sintatico.js +120 -79
  8. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  9. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +2 -2
  10. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  11. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +42 -13
  12. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  13. package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.d.ts +11 -6
  14. package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.d.ts.map +1 -1
  15. package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.js +81 -41
  16. package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.js.map +1 -1
  17. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.d.ts +5 -0
  18. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.d.ts.map +1 -1
  19. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js +46 -5
  20. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js.map +1 -1
  21. package/avaliador-sintatico/pilha-escopos.d.ts +1 -0
  22. package/avaliador-sintatico/pilha-escopos.d.ts.map +1 -1
  23. package/avaliador-sintatico/pilha-escopos.js +9 -0
  24. package/avaliador-sintatico/pilha-escopos.js.map +1 -1
  25. package/bin/package.json +1 -1
  26. package/construtos/ajuda-como-construto.d.ts +18 -0
  27. package/construtos/ajuda-como-construto.d.ts.map +1 -0
  28. package/construtos/ajuda-como-construto.js +32 -0
  29. package/construtos/ajuda-como-construto.js.map +1 -0
  30. package/construtos/index.d.ts +1 -0
  31. package/construtos/index.d.ts.map +1 -1
  32. package/construtos/index.js +1 -0
  33. package/construtos/index.js.map +1 -1
  34. package/declaracoes/ajuda.d.ts +13 -0
  35. package/declaracoes/ajuda.d.ts.map +1 -0
  36. package/declaracoes/ajuda.js +25 -0
  37. package/declaracoes/ajuda.js.map +1 -0
  38. package/declaracoes/index.d.ts +1 -0
  39. package/declaracoes/index.d.ts.map +1 -1
  40. package/declaracoes/index.js +1 -0
  41. package/declaracoes/index.js.map +1 -1
  42. package/declaracoes/var.d.ts +1 -0
  43. package/declaracoes/var.d.ts.map +1 -1
  44. package/declaracoes/var.js +1 -0
  45. package/declaracoes/var.js.map +1 -1
  46. package/interfaces/visitante-delegua-interface.d.ts +4 -2
  47. package/interfaces/visitante-delegua-interface.d.ts.map +1 -1
  48. package/interpretador/comum.d.ts +1 -0
  49. package/interpretador/comum.d.ts.map +1 -1
  50. package/interpretador/comum.js +300 -0
  51. package/interpretador/comum.js.map +1 -1
  52. package/interpretador/interpretador.d.ts +11 -2
  53. package/interpretador/interpretador.d.ts.map +1 -1
  54. package/interpretador/interpretador.js +25 -0
  55. package/interpretador/interpretador.js.map +1 -1
  56. package/lexador/dialetos/lexador-pitugues.d.ts +1 -1
  57. package/lexador/dialetos/lexador-pitugues.d.ts.map +1 -1
  58. package/lexador/dialetos/lexador-pitugues.js +20 -3
  59. package/lexador/dialetos/lexador-pitugues.js.map +1 -1
  60. package/lexador/palavras-reservadas.d.ts +1 -0
  61. package/lexador/palavras-reservadas.d.ts.map +1 -1
  62. package/lexador/palavras-reservadas.js +1 -0
  63. package/lexador/palavras-reservadas.js.map +1 -1
  64. package/package.json +1 -1
  65. package/tipos-de-simbolos/delegua.d.ts +2 -1
  66. package/tipos-de-simbolos/delegua.d.ts.map +1 -1
  67. package/tipos-de-simbolos/delegua.js +2 -1
  68. package/tipos-de-simbolos/delegua.js.map +1 -1
  69. package/tipos-de-simbolos/pitugues.d.ts +1 -0
  70. package/tipos-de-simbolos/pitugues.d.ts.map +1 -1
  71. package/tipos-de-simbolos/pitugues.js +1 -0
  72. package/tipos-de-simbolos/pitugues.js.map +1 -1
  73. package/tradutores/tradutor-assembly-x64.js +122 -122
  74. package/umd/delegua.js +1686 -704
@@ -1 +1 @@
1
- {"version":3,"file":"visitante-delegua-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/visitante-delegua-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,EACL,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACtE,yBAAyB,CAAC,UAAU,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACrE,yBAAyB,CAAC,UAAU,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACrE,wBAAwB,CAAC,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAChF,qBAAqB,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7D,qBAAqB,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC1E,wBAAwB,CAAC,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAChF,gCAAgC,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC1F,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACxE,wBAAwB,CAAC,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAChF,0BAA0B,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;CAC1E"}
1
+ {"version":3,"file":"visitante-delegua-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/visitante-delegua-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,kBAAkB,EAClB,KAAK,EACL,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACtE,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC/D,yBAAyB,CAAC,UAAU,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACrE,yBAAyB,CAAC,UAAU,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACrE,qBAAqB,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC1E,wBAAwB,CAAC,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAChF,qBAAqB,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7D,qBAAqB,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC1E,wBAAwB,CAAC,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAChF,gCAAgC,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC1F,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACxE,wBAAwB,CAAC,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAChF,0BAA0B,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;CAC1E"}
@@ -1,3 +1,4 @@
1
1
  import { PilhaEscoposExecucaoInterface } from '../interfaces/pilha-escopos-execucao-interface';
2
2
  export declare function carregarBibliotecasGlobais(pilhaEscoposExecucao: PilhaEscoposExecucaoInterface): void;
3
+ export declare function obterTopicoAjuda(topico: any): string;
3
4
  //# sourceMappingURL=comum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"comum.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAM/F,wBAAgB,0BAA0B,CAAC,oBAAoB,EAAE,6BAA6B,QAmF7F"}
1
+ {"version":3,"file":"comum.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAO/F,wBAAgB,0BAA0B,CAAC,oBAAoB,EAAE,6BAA6B,QAmF7F;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAgBpD"}
@@ -34,8 +34,10 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.carregarBibliotecasGlobais = carregarBibliotecasGlobais;
37
+ exports.obterTopicoAjuda = obterTopicoAjuda;
37
38
  const funcao_padrao_1 = require("./estruturas/funcao-padrao");
38
39
  const bibliotecaGlobal = __importStar(require("../bibliotecas/biblioteca-global"));
40
+ const construtos_1 = require("../construtos");
39
41
  function carregarBibliotecasGlobais(pilhaEscoposExecucao) {
40
42
  pilhaEscoposExecucao.definirVariavel('aleatorio', new funcao_padrao_1.FuncaoPadrao(1, bibliotecaGlobal.aleatorio));
41
43
  pilhaEscoposExecucao.definirVariavel('aleatorioEntre', new funcao_padrao_1.FuncaoPadrao(2, bibliotecaGlobal.aleatorioEntre));
@@ -62,4 +64,302 @@ function carregarBibliotecasGlobais(pilhaEscoposExecucao) {
62
64
  pilhaEscoposExecucao.definirVariavel('todosEmCondicao', new funcao_padrao_1.FuncaoPadrao(2, bibliotecaGlobal.todosEmCondicao));
63
65
  pilhaEscoposExecucao.definirVariavel('tupla', new funcao_padrao_1.FuncaoPadrao(1, bibliotecaGlobal.tupla));
64
66
  }
67
+ function obterTopicoAjuda(topico) {
68
+ switch (topico.constructor) {
69
+ case construtos_1.Leia:
70
+ return `A instrução 'leia' permite capturar a entrada do usuário durante a execução do programa. ` +
71
+ `Você pode usar 'leia()' para ler uma linha de entrada do usuário e armazená-la em uma variável. ` +
72
+ `Exemplo de uso:\n\n` +
73
+ `\tvar minhaVariavel = leia()\n\n` +
74
+ `Isto irá ler a entrada do usuário e atribuí-la à variável 'minhaVariavel'.`;
75
+ case funcao_padrao_1.FuncaoPadrao:
76
+ return obterAjudaFuncaoPadrao(topico);
77
+ default:
78
+ console.log(topico);
79
+ return `Desculpe, não há documentação disponível para o tópico solicitado no momento.`;
80
+ }
81
+ }
82
+ function obterAjudaFuncaoPadrao(funcaoPadrao) {
83
+ // Tentamos identificar a função pela aridade e pela implementação
84
+ const aridade = funcaoPadrao.valorAridade;
85
+ const implementacao = funcaoPadrao.funcao;
86
+ // Mapeamento de funções por nome
87
+ const nomeFuncao = Object.keys(bibliotecaGlobal).find(key => bibliotecaGlobal[key] === implementacao);
88
+ if (!nomeFuncao) {
89
+ return 'Função não identificada. Não há documentação disponível.';
90
+ }
91
+ switch (nomeFuncao) {
92
+ case 'aleatorio':
93
+ return `# aleatorio()\n\n` +
94
+ `Retorna um número aleatório entre 0 e 1.\n\n` +
95
+ `**Sintaxe:** aleatorio()\n\n` +
96
+ `**Retorno:** Número real entre 0 (inclusivo) e 1 (exclusivo).\n\n` +
97
+ `**Exemplo:**\n` +
98
+ `\tvar numeroSorteado = aleatorio()\n` +
99
+ `\tescreva(numeroSorteado) // Pode retornar algo como 0.4829374657\n`;
100
+ case 'aleatorioEntre':
101
+ return `# aleatorioEntre(minimo, maximo)\n\n` +
102
+ `Retorna um número aleatório inteiro de acordo com os parâmetros passados.\n` +
103
+ `Mínimo (inclusivo) - Máximo (exclusivo).\n\n` +
104
+ `**Sintaxe:** aleatorioEntre(minimo: número, maximo: número)\n\n` +
105
+ `**Parâmetros:**\n` +
106
+ ` - minimo: O valor mínimo (inclusivo)\n` +
107
+ ` - maximo: O valor máximo (exclusivo)\n\n` +
108
+ `**Retorno:** Número inteiro entre minimo e maximo-1.\n\n` +
109
+ `**Exemplo:**\n` +
110
+ `\tvar dado = aleatorioEntre(1, 7)\n` +
111
+ `\tescreva(dado) // Retorna um número entre 1 e 6\n`;
112
+ case 'algum':
113
+ return `# algum(vetor, funcaoPesquisa)\n\n` +
114
+ `Verifica se algum dos elementos do vetor satisfaz a condição definida pela função de pesquisa.\n\n` +
115
+ `**Sintaxe:** algum(vetor: qualquer[], funcaoPesquisa: função)\n\n` +
116
+ `**Parâmetros:**\n` +
117
+ ` - vetor: Um vetor de elementos\n` +
118
+ ` - funcaoPesquisa: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
119
+ `**Retorno:** Verdadeiro se pelo menos um elemento satisfaz a condição, falso caso contrário.\n\n` +
120
+ `**Exemplo:**\n` +
121
+ `\tvar numeros = [1, 2, 3, 4, 5]\n` +
122
+ `\tvar temPar = algum(numeros, funcao(n) { retorna n % 2 == 0 })\n` +
123
+ `\tescreva(temPar) // verdadeiro\n`;
124
+ case 'clonar':
125
+ return `# clonar(valor)\n\n` +
126
+ `Clona profundamente uma variável ou constante em Delégua, criando uma cópia independente.\n\n` +
127
+ `**Sintaxe:** clonar(valor: qualquer)\n\n` +
128
+ `**Parâmetros:**\n` +
129
+ ` - valor: O valor a ser clonado (vetor, dicionário, objeto, tupla, etc.)\n\n` +
130
+ `**Retorno:** Uma cópia profunda do valor fornecido.\n\n` +
131
+ `**Exemplo:**\n` +
132
+ `\tvar original = [1, 2, [3, 4]]\n` +
133
+ `\tvar copia = clonar(original)\n` +
134
+ `\tcopia[2][0] = 99\n` +
135
+ `\tescreva(original[2][0]) // 3 (não foi modificado)\n` +
136
+ `\tescreva(copia[2][0]) // 99\n`;
137
+ case 'encontrar':
138
+ return `# encontrar(vetor, funcaoPesquisa)\n\n` +
139
+ `Encontra o primeiro elemento de um vetor cuja função de pesquisa retorne verdadeiro.\n\n` +
140
+ `**Sintaxe:** encontrar(vetor: qualquer[], funcaoPesquisa: função)\n\n` +
141
+ `**Parâmetros:**\n` +
142
+ ` - vetor: Um vetor de elementos\n` +
143
+ ` - funcaoPesquisa: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
144
+ `**Retorno:** O primeiro elemento que satisfaz a condição, ou nulo se nenhum elemento for encontrado.\n\n` +
145
+ `**Exemplo:**\n` +
146
+ `\tvar numeros = [1, 3, 5, 8, 10]\n` +
147
+ `\tvar primeiroPar = encontrar(numeros, funcao(n) { retorna n % 2 == 0 })\n` +
148
+ `\tescreva(primeiroPar) // 8\n`;
149
+ case 'encontrarIndice':
150
+ return `# encontrarIndice(vetor, funcaoPesquisa)\n\n` +
151
+ `Encontra o índice do primeiro elemento de um vetor cuja função de pesquisa retorne verdadeiro.\n\n` +
152
+ `**Sintaxe:** encontrarIndice(vetor: qualquer[], funcaoPesquisa: função)\n\n` +
153
+ `**Parâmetros:**\n` +
154
+ ` - vetor: Um vetor de elementos\n` +
155
+ ` - funcaoPesquisa: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
156
+ `**Retorno:** O índice do primeiro elemento que satisfaz a condição, ou -1 se nenhum elemento for encontrado.\n\n` +
157
+ `**Exemplo:**\n` +
158
+ `\tvar frutas = ["maçã", "banana", "laranja"]\n` +
159
+ `\tvar indice = encontrarIndice(frutas, funcao(f) { retorna f == "banana" })\n` +
160
+ `\tescreva(indice) // 1\n`;
161
+ case 'encontrarUltimo':
162
+ return `# encontrarUltimo(vetor, funcaoPesquisa)\n\n` +
163
+ `Encontra o último elemento de um vetor cuja função de pesquisa retorne verdadeiro.\n\n` +
164
+ `**Sintaxe:** encontrarUltimo(vetor: qualquer[], funcaoPesquisa: função)\n\n` +
165
+ `**Parâmetros:**\n` +
166
+ ` - vetor: Um vetor de elementos\n` +
167
+ ` - funcaoPesquisa: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
168
+ `**Retorno:** O último elemento que satisfaz a condição, ou nulo se nenhum elemento for encontrado.\n\n` +
169
+ `**Exemplo:**\n` +
170
+ `\tvar numeros = [2, 4, 6, 7, 9]\n` +
171
+ `\tvar ultimoPar = encontrarUltimo(numeros, funcao(n) { retorna n % 2 == 0 })\n` +
172
+ `\tescreva(ultimoPar) // 6\n`;
173
+ case 'encontrarUltimoIndice':
174
+ return `# encontrarUltimoIndice(vetor, funcaoPesquisa)\n\n` +
175
+ `Encontra o índice do último elemento de um vetor cuja função de pesquisa retorne verdadeiro.\n\n` +
176
+ `**Sintaxe:** encontrarUltimoIndice(vetor: qualquer[], funcaoPesquisa: função)\n\n` +
177
+ `**Parâmetros:**\n` +
178
+ ` - vetor: Um vetor de elementos\n` +
179
+ ` - funcaoPesquisa: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
180
+ `**Retorno:** O índice do último elemento que satisfaz a condição, ou nulo se nenhum elemento for encontrado.\n\n` +
181
+ `**Exemplo:**\n` +
182
+ `\tvar numeros = [2, 4, 6, 7, 9]\n` +
183
+ `\tvar indiceUltimoPar = encontrarUltimoIndice(numeros, funcao(n) { retorna n % 2 == 0 })\n` +
184
+ `\tescreva(indiceUltimoPar) // 2\n`;
185
+ case 'filtrarPor':
186
+ return `# filtrarPor(vetor, funcaoFiltragem)\n\n` +
187
+ `Cria um novo vetor com todos os elementos que passam no teste implementado pela função de filtragem.\n\n` +
188
+ `**Sintaxe:** filtrarPor(vetor: qualquer[], funcaoFiltragem: função)\n\n` +
189
+ `**Parâmetros:**\n` +
190
+ ` - vetor: Um vetor de elementos\n` +
191
+ ` - funcaoFiltragem: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
192
+ `**Retorno:** Novo vetor contendo apenas os elementos que satisfazem a condição.\n\n` +
193
+ `**Exemplo:**\n` +
194
+ `\tvar numeros = [1, 2, 3, 4, 5, 6]\n` +
195
+ `\tvar pares = filtrarPor(numeros, funcao(n) { retorna n % 2 == 0 })\n` +
196
+ `\tescreva(pares) // [2, 4, 6]\n`;
197
+ case 'incluido':
198
+ return `# incluido(vetor, valor)\n\n` +
199
+ `Verifica se um valor está incluído em um vetor.\n\n` +
200
+ `**Sintaxe:** incluido(vetor: qualquer[], valor: qualquer)\n\n` +
201
+ `**Parâmetros:**\n` +
202
+ ` - vetor: Um vetor de elementos\n` +
203
+ ` - valor: O valor a ser procurado\n\n` +
204
+ `**Retorno:** Verdadeiro se o valor estiver no vetor, falso caso contrário.\n\n` +
205
+ `**Exemplo:**\n` +
206
+ `\tvar frutas = ["maçã", "banana", "laranja"]\n` +
207
+ `\tescreva(incluido(frutas, "banana")) // verdadeiro\n` +
208
+ `\tescreva(incluido(frutas, "uva")) // falso\n`;
209
+ case 'inteiro':
210
+ return `# inteiro(valor)\n\n` +
211
+ `Converte um valor em um número inteiro.\n\n` +
212
+ `**Sintaxe:** inteiro(valor: número | texto)\n\n` +
213
+ `**Parâmetros:**\n` +
214
+ ` - valor: O valor a ser convertido (número ou texto)\n\n` +
215
+ `**Retorno:** Número inteiro correspondente ao valor fornecido.\n\n` +
216
+ `**Exemplo:**\n` +
217
+ `\tescreva(inteiro(3.14)) // 3\n` +
218
+ `\tescreva(inteiro("42")) // 42\n` +
219
+ `\tescreva(inteiro("3.99")) // 3\n`;
220
+ case 'intervalo':
221
+ return `# intervalo(valorInicial, valorFinal)\n\n` +
222
+ `Cria um vetor com números inteiros no intervalo especificado.\n` +
223
+ `O valor inicial é inclusivo e o valor final é exclusivo.\n\n` +
224
+ `**Sintaxe:** intervalo(valorInicial: número, valorFinal: número)\n\n` +
225
+ `**Parâmetros:**\n` +
226
+ ` - valorInicial: O valor inicial (inclusivo)\n` +
227
+ ` - valorFinal: O valor final (exclusivo)\n\n` +
228
+ `**Retorno:** Vetor com os números no intervalo especificado.\n\n` +
229
+ `**Exemplo:**\n` +
230
+ `\tvar numeros = intervalo(1, 6)\n` +
231
+ `\tescreva(numeros) // [1, 2, 3, 4, 5]\n`;
232
+ case 'mapear':
233
+ return `# mapear(vetor, funcaoMapeamento)\n\n` +
234
+ `Cria um novo vetor com os resultados da aplicação de uma função a cada elemento do vetor original.\n\n` +
235
+ `**Sintaxe:** mapear(vetor: qualquer[], funcaoMapeamento: função)\n\n` +
236
+ `**Parâmetros:**\n` +
237
+ ` - vetor: Um vetor de elementos\n` +
238
+ ` - funcaoMapeamento: Função que recebe um elemento e retorna um novo valor\n\n` +
239
+ `**Retorno:** Novo vetor com os valores transformados.\n\n` +
240
+ `**Exemplo:**\n` +
241
+ `\tvar numeros = [1, 2, 3, 4]\n` +
242
+ `\tvar quadrados = mapear(numeros, funcao(n) { retorna n * n })\n` +
243
+ `\tescreva(quadrados) // [1, 4, 9, 16]\n`;
244
+ case 'numero':
245
+ return `# numero(valor)\n\n` +
246
+ `Converte um valor em um número (pode ter parte decimal).\n\n` +
247
+ `**Sintaxe:** numero(valor: número | texto)\n\n` +
248
+ `**Parâmetros:**\n` +
249
+ ` - valor: O valor a ser convertido\n\n` +
250
+ `**Retorno:** Número correspondente ao valor fornecido.\n\n` +
251
+ `**Exemplo:**\n` +
252
+ `\tescreva(numero("3.14")) // 3.14\n` +
253
+ `\tescreva(numero("42")) // 42\n` +
254
+ `\tescreva(numero(5)) // 5\n`;
255
+ case 'ordenar':
256
+ return `# ordenar(vetor)\n\n` +
257
+ `Ordena os elementos de um vetor em ordem crescente (números) ou alfabética (textos).\n\n` +
258
+ `**Sintaxe:** ordenar(vetor: qualquer[])\n\n` +
259
+ `**Parâmetros:**\n` +
260
+ ` - vetor: Um vetor de elementos\n\n` +
261
+ `**Retorno:** O mesmo vetor, agora ordenado.\n\n` +
262
+ `**Exemplo:**\n` +
263
+ `\tvar numeros = [5, 2, 8, 1, 9]\n` +
264
+ `\tordenar(numeros)\n` +
265
+ `\tescreva(numeros) // [1, 2, 5, 8, 9]\n`;
266
+ case 'paraCada':
267
+ return `# paraCada(vetor, funcao)\n\n` +
268
+ `Executa uma função para cada elemento do vetor.\n\n` +
269
+ `**Sintaxe:** paraCada(vetor: qualquer[], funcao: função)\n\n` +
270
+ `**Parâmetros:**\n` +
271
+ ` - vetor: Um vetor de elementos\n` +
272
+ ` - funcao: Função a ser executada para cada elemento\n\n` +
273
+ `**Retorno:** Nenhum (undefined).\n\n` +
274
+ `**Exemplo:**\n` +
275
+ `\tvar nomes = ["Ana", "Bruno", "Carlos"]\n` +
276
+ `\tparaCada(nomes, funcao(nome) {\n` +
277
+ `\t\tescreva("Olá, " + nome)\n` +
278
+ `\t})\n`;
279
+ case 'primeiroEmCondicao':
280
+ return `# primeiroEmCondicao(vetor, funcaoFiltragem)\n\n` +
281
+ `Retorna o primeiro elemento que satisfaz a condição especificada pela função de filtragem.\n\n` +
282
+ `**Sintaxe:** primeiroEmCondicao(vetor: qualquer[], funcaoFiltragem: função)\n\n` +
283
+ `**Parâmetros:**\n` +
284
+ ` - vetor: Um vetor de elementos\n` +
285
+ ` - funcaoFiltragem: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
286
+ `**Retorno:** O primeiro elemento que satisfaz a condição, ou undefined se nenhum for encontrado.\n\n` +
287
+ `**Exemplo:**\n` +
288
+ `\tvar numeros = [1, 3, 5, 8, 10]\n` +
289
+ `\tvar resultado = primeiroEmCondicao(numeros, funcao(n) { retorna n > 5 })\n` +
290
+ `\tescreva(resultado) // 8\n`;
291
+ case 'real':
292
+ return `# real(valor)\n\n` +
293
+ `Converte um valor em um número real (ponto flutuante).\n\n` +
294
+ `**Sintaxe:** real(valor: número | texto)\n\n` +
295
+ `**Parâmetros:**\n` +
296
+ ` - valor: O valor a ser convertido\n\n` +
297
+ `**Retorno:** Número real correspondente ao valor fornecido.\n\n` +
298
+ `**Exemplo:**\n` +
299
+ `\tescreva(real("3.14")) // 3.14\n` +
300
+ `\tescreva(real(42)) // 42.0\n`;
301
+ case 'reduzir':
302
+ return `# reduzir(vetor, funcaoReducao, valorInicial)\n\n` +
303
+ `Aplica uma função a um acumulador e cada elemento do vetor para reduzi-lo a um único valor.\n\n` +
304
+ `**Sintaxe:** reduzir(vetor: qualquer[], funcaoReducao: função, valorInicial?: qualquer)\n\n` +
305
+ `**Parâmetros:**\n` +
306
+ ` - vetor: Um vetor de elementos\n` +
307
+ ` - funcaoReducao: Função que recebe (acumulador, elemento) e retorna novo valor do acumulador\n` +
308
+ ` - valorInicial: (Opcional) Valor inicial do acumulador\n\n` +
309
+ `**Retorno:** Valor final do acumulador.\n\n` +
310
+ `**Exemplo:**\n` +
311
+ `\tvar numeros = [1, 2, 3, 4]\n` +
312
+ `\tvar soma = reduzir(numeros, funcao(acc, n) { retorna acc + n }, 0)\n` +
313
+ `\tescreva(soma) // 10\n`;
314
+ case 'tamanho':
315
+ return `# tamanho(objeto)\n\n` +
316
+ `Retorna o tamanho de um objeto (vetor, texto, função, etc.).\n\n` +
317
+ `**Sintaxe:** tamanho(objeto: qualquer)\n\n` +
318
+ `**Parâmetros:**\n` +
319
+ ` - objeto: O objeto cujo tamanho será medido\n\n` +
320
+ `**Retorno:** Para vetores e textos, retorna o número de elementos/caracteres. ` +
321
+ `Para funções, retorna o número de parâmetros.\n\n` +
322
+ `**Exemplo:**\n` +
323
+ `\tescreva(tamanho([1, 2, 3])) // 3\n` +
324
+ `\tescreva(tamanho("Delégua")) // 7\n`;
325
+ case 'texto':
326
+ return `# texto(valor)\n\n` +
327
+ `Transforma o valor ou variável em texto.\n\n` +
328
+ `**Sintaxe:** texto(valor: qualquer)\n\n` +
329
+ `**Parâmetros:**\n` +
330
+ ` - valor: O valor a ser convertido em texto\n\n` +
331
+ `**Retorno:** Representação em texto do valor fornecido.\n\n` +
332
+ `**Exemplo:**\n` +
333
+ `\tescreva(texto(42)) // "42"\n` +
334
+ `\tescreva(texto(verdadeiro)) // "verdadeiro"\n` +
335
+ `\tescreva(texto([1, 2, 3])) // "[1, 2, 3]"\n`;
336
+ case 'todosEmCondicao':
337
+ return `# todosEmCondicao(vetor, funcaoCondicional)\n\n` +
338
+ `Retorna verdadeiro se todos os elementos do vetor satisfazem a condição especificada pela função.\n\n` +
339
+ `**Sintaxe:** todosEmCondicao(vetor: qualquer[], funcaoCondicional: função)\n\n` +
340
+ `**Parâmetros:**\n` +
341
+ ` - vetor: Um vetor de elementos\n` +
342
+ ` - funcaoCondicional: Função que recebe um elemento e retorna verdadeiro ou falso\n\n` +
343
+ `**Retorno:** Verdadeiro se todos os elementos satisfazem a condição, falso caso contrário.\n\n` +
344
+ `**Exemplo:**\n` +
345
+ `\tvar numeros = [2, 4, 6, 8]\n` +
346
+ `\tvar todosPares = todosEmCondicao(numeros, funcao(n) { retorna n % 2 == 0 })\n` +
347
+ `\tescreva(todosPares) // verdadeiro\n`;
348
+ case 'tupla':
349
+ return `# tupla(vetor)\n\n` +
350
+ `Transforma um vetor de elementos em uma tupla de N elementos, sendo N a largura do vetor.\n` +
351
+ `Tuplas são estruturas imutáveis de tamanho fixo.\n\n` +
352
+ `**Sintaxe:** tupla(vetor: qualquer[])\n\n` +
353
+ `**Parâmetros:**\n` +
354
+ ` - vetor: Um vetor com 2 a 10 elementos\n\n` +
355
+ `**Retorno:** Uma tupla (Dupla, Trio, Quarteto, etc.) correspondente ao vetor.\n\n` +
356
+ `**Exemplo:**\n` +
357
+ `\tvar coordenadas = tupla([10, 20])\n` +
358
+ `\tescreva(coordenadas.primeiro) // 10\n` +
359
+ `\tescreva(coordenadas.segundo) // 20\n`;
360
+ default:
361
+ return `Função global identificada, mas documentação específica não disponível.\n` +
362
+ `Aridade: ${aridade} parâmetro(s).`;
363
+ }
364
+ }
65
365
  //# sourceMappingURL=comum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"comum.js","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comum.js","sourceRoot":"","sources":["../../fontes/interpretador/comum.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { AcessoIndiceVariavel, AcessoMetodo, AcessoMetodoOuPropriedade, AcessoPropriedade, ArgumentoReferenciaFuncao, AtribuicaoPorIndice, Atribuir, ComentarioComoConstruto, DefinirValor, Dicionario, EnquantoComoConstruto, FazerComoConstruto, ListaCompreensao, ParaCadaComoConstruto, ParaComoConstruto, ReferenciaFuncao, Separador, TipoDe, ImportarComoConstruto, Elvis, SeTernario } from '../construtos';
1
+ import { AcessoIndiceVariavel, AcessoMetodo, AcessoMetodoOuPropriedade, AcessoPropriedade, ArgumentoReferenciaFuncao, AtribuicaoPorIndice, Atribuir, ComentarioComoConstruto, DefinirValor, Dicionario, EnquantoComoConstruto, FazerComoConstruto, ListaCompreensao, ParaCadaComoConstruto, ParaComoConstruto, ReferenciaFuncao, Separador, TipoDe, ImportarComoConstruto, Elvis, SeTernario, AjudaComoConstruto } from '../construtos';
2
2
  import { ReferenciaMontao } from './estruturas';
3
3
  import { ResultadoParcialInterpretadorInterface, RetornoInterpretadorInterface, VisitanteDeleguaInterface } from '../interfaces';
4
4
  import { InterpretadorBase } from './interpretador-base';
5
- import { Const, ConstMultiplo, Declaracao, Enquanto, Fazer, FuncaoDeclaracao, Para, ParaCada, Retorna, Var, VarMultiplo } from '../declaracoes';
5
+ import { Ajuda, Const, ConstMultiplo, Declaracao, Enquanto, Fazer, FuncaoDeclaracao, Para, ParaCada, Retorna, Var, VarMultiplo } from '../declaracoes';
6
6
  import { RetornoQuebra } from '../quebras';
7
7
  import { Montao } from './montao';
8
8
  import { EnquantoInterface, FazerInterface, ParaCadaInterface, ParaInterface } from '../interfaces/delegua';
@@ -23,6 +23,14 @@ export declare class Interpretador extends InterpretadorBase implements Visitant
23
23
  private serializarSemEspacos;
24
24
  paraTexto(objeto: any): string;
25
25
  avaliacaoDeclaracaoVarOuConst(declaracao: Const | ConstMultiplo | Var | VarMultiplo): Promise<any>;
26
+ /**
27
+ * Declaração de ajuda.
28
+ * Neste interpretador básico, a ajuda apenas retorna texto sobre um determinado
29
+ * tópico, ou ainda sobre a ajuda em si.
30
+ * Outros ambientes implementam mecanismos mais sofisticados, como o modo de ajuda.
31
+ * @param declaracao A declaração de ajuda.
32
+ */
33
+ visitarDeclaracaoAjuda(declaracao: Ajuda): Promise<any>;
26
34
  visitarDeclaracaoDefinicaoFuncao(declaracao: FuncaoDeclaracao): Promise<any>;
27
35
  protected logicaComumExecucaoEnquanto(enquanto: EnquantoInterface, acumularRetornos: boolean): Promise<ResultadoParcialInterpretadorInterface | {
28
36
  valorRetornado: any[];
@@ -51,6 +59,7 @@ export declare class Interpretador extends InterpretadorBase implements Visitant
51
59
  */
52
60
  visitarExpressaoAcessoMetodoOuPropriedade(expressao: AcessoMetodoOuPropriedade): Promise<any>;
53
61
  visitarExpressaoAcessoPropriedade(expressao: AcessoPropriedade): Promise<any>;
62
+ visitarExpressaoAjuda(expressao: AjudaComoConstruto): Promise<any>;
54
63
  visitarExpressaoArgumentoReferenciaFuncao(expressao: ArgumentoReferenciaFuncao): Promise<any>;
55
64
  visitarExpressaoAtribuicaoPorIndice(expressao: AtribuicaoPorIndice): Promise<any>;
56
65
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpretador.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":"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"}
@@ -169,6 +169,20 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
169
169
  }
170
170
  return valorFinal;
171
171
  }
172
+ /**
173
+ * Declaração de ajuda.
174
+ * Neste interpretador básico, a ajuda apenas retorna texto sobre um determinado
175
+ * tópico, ou ainda sobre a ajuda em si.
176
+ * Outros ambientes implementam mecanismos mais sofisticados, como o modo de ajuda.
177
+ * @param declaracao A declaração de ajuda.
178
+ */
179
+ async visitarDeclaracaoAjuda(declaracao) {
180
+ if (!declaracao.elemento) {
181
+ // TODO: Terminar
182
+ }
183
+ const elementoResolvido = await declaracao.elemento.aceitar(this);
184
+ console.log(elementoResolvido);
185
+ }
172
186
  visitarDeclaracaoDefinicaoFuncao(declaracao) {
173
187
  const funcao = new estruturas_1.DeleguaFuncao(declaracao.simbolo.lexema, declaracao.funcao);
174
188
  // TODO: Depreciar essa abordagem a favor do uso por referências?
@@ -659,6 +673,17 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
659
673
  }
660
674
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(null, `Propriedade para objeto ou primitiva não encontrado: ${expressao.nomePropriedade}.`, expressao.linha));
661
675
  }
676
+ async visitarExpressaoAjuda(expressao) {
677
+ if (!expressao.funcao) {
678
+ return "Para usar a ajuda, use como uma função: ajuda(objeto).";
679
+ }
680
+ if (!expressao.valor) {
681
+ return "Te damos as boas-vindas ao utilitário de ajuda de Delégua!\n\n" +
682
+ "Use ajuda(objeto) para obter informações sobre um objeto, função, classe ou módulo.\n" +
683
+ "Use ajuda('tópico') para obter informações sobre um tópico específico.\n\n";
684
+ }
685
+ return (0, comum_1.obterTopicoAjuda)(expressao.valor);
686
+ }
662
687
  async visitarExpressaoArgumentoReferenciaFuncao(expressao) {
663
688
  const deleguaFuncao = this.pilhaEscoposExecucao.obterVariavelPorNome(expressao.simboloFuncao.lexema);
664
689
  return deleguaFuncao;
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpretador.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":"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"}