@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.
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts +2 -1
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts.map +1 -1
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +11 -0
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.d.ts +15 -12
- package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.js +120 -79
- package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +2 -2
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +42 -13
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.d.ts +11 -6
- package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.js +81 -41
- package/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.js.map +1 -1
- package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.d.ts +5 -0
- package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js +46 -5
- package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js.map +1 -1
- package/avaliador-sintatico/pilha-escopos.d.ts +1 -0
- package/avaliador-sintatico/pilha-escopos.d.ts.map +1 -1
- package/avaliador-sintatico/pilha-escopos.js +9 -0
- package/avaliador-sintatico/pilha-escopos.js.map +1 -1
- package/bin/package.json +1 -1
- package/construtos/ajuda-como-construto.d.ts +18 -0
- package/construtos/ajuda-como-construto.d.ts.map +1 -0
- package/construtos/ajuda-como-construto.js +32 -0
- package/construtos/ajuda-como-construto.js.map +1 -0
- package/construtos/index.d.ts +1 -0
- package/construtos/index.d.ts.map +1 -1
- package/construtos/index.js +1 -0
- package/construtos/index.js.map +1 -1
- package/declaracoes/ajuda.d.ts +13 -0
- package/declaracoes/ajuda.d.ts.map +1 -0
- package/declaracoes/ajuda.js +25 -0
- package/declaracoes/ajuda.js.map +1 -0
- package/declaracoes/index.d.ts +1 -0
- package/declaracoes/index.d.ts.map +1 -1
- package/declaracoes/index.js +1 -0
- package/declaracoes/index.js.map +1 -1
- package/declaracoes/var.d.ts +1 -0
- package/declaracoes/var.d.ts.map +1 -1
- package/declaracoes/var.js +1 -0
- package/declaracoes/var.js.map +1 -1
- package/interfaces/visitante-delegua-interface.d.ts +4 -2
- package/interfaces/visitante-delegua-interface.d.ts.map +1 -1
- package/interpretador/comum.d.ts +1 -0
- package/interpretador/comum.d.ts.map +1 -1
- package/interpretador/comum.js +300 -0
- package/interpretador/comum.js.map +1 -1
- package/interpretador/interpretador.d.ts +11 -2
- package/interpretador/interpretador.d.ts.map +1 -1
- package/interpretador/interpretador.js +25 -0
- package/interpretador/interpretador.js.map +1 -1
- package/lexador/dialetos/lexador-pitugues.d.ts +1 -1
- package/lexador/dialetos/lexador-pitugues.d.ts.map +1 -1
- package/lexador/dialetos/lexador-pitugues.js +20 -3
- package/lexador/dialetos/lexador-pitugues.js.map +1 -1
- package/lexador/palavras-reservadas.d.ts +1 -0
- package/lexador/palavras-reservadas.d.ts.map +1 -1
- package/lexador/palavras-reservadas.js +1 -0
- package/lexador/palavras-reservadas.js.map +1 -1
- package/package.json +1 -1
- package/tipos-de-simbolos/delegua.d.ts +2 -1
- package/tipos-de-simbolos/delegua.d.ts.map +1 -1
- package/tipos-de-simbolos/delegua.js +2 -1
- package/tipos-de-simbolos/delegua.js.map +1 -1
- package/tipos-de-simbolos/pitugues.d.ts +1 -0
- package/tipos-de-simbolos/pitugues.d.ts.map +1 -1
- package/tipos-de-simbolos/pitugues.js +1 -0
- package/tipos-de-simbolos/pitugues.js.map +1 -1
- package/tradutores/tradutor-assembly-x64.js +122 -122
- 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;
|
|
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"}
|
package/interpretador/comum.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/interpretador/comum.js
CHANGED
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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":"AAAA,OAAO,EACH,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,EACzB,iBAAiB,EAEjB,yBAAyB,EACzB,mBAAmB,EACnB,QAAQ,EAGR,uBAAuB,EACvB,YAAY,EACZ,UAAU,EAEV,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAGhB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,MAAM,EAIN,qBAAqB,EACrB,KAAK,EACL,UAAU,
|
|
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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"}
|