@designliquido/delegua 1.23.5 → 1.24.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/bin/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/delegua",
3
- "version": "1.23.4",
3
+ "version": "1.23.5",
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",
@@ -0,0 +1,31 @@
1
+ import { Classe } from '../declaracoes';
2
+ import { DescritorTipoClasse } from '../interpretador/estruturas';
3
+ /**
4
+ * Contrato que qualquer runtime deve implementar para fornecer suporte a FFI
5
+ * em tempo de execução.
6
+ *
7
+ * O core (`InterpretadorBase`) depende apenas desta interface — sem qualquer
8
+ * referência a `koffi`, APIs de SO ou Node.js. Cada runtime (Node.js, Deno,
9
+ * Bun, etc.) fornece sua própria implementação concreta.
10
+ */
11
+ export interface DespachadorFFIInterface {
12
+ /**
13
+ * Chamado quando o interpretador visita uma `classe estrangeira` com `@definicao`.
14
+ *
15
+ * Deve retornar um `DescritorTipoClasse` com os métodos estáticos já vinculados
16
+ * à biblioteca nativa, ou `null` se a declaração não tiver metadados FFI suficientes
17
+ * (ex.: `@definicao` sem atributo `biblioteca`).
18
+ *
19
+ * Quando retorna `null`, o interpretador mantém o comportamento padrão:
20
+ * `DescritorTipoClasse.estrangeira = true`, que lança erro ao tentar instanciar.
21
+ */
22
+ resolverClasseEstrangeira(declaracao: Classe): DescritorTipoClasse | null;
23
+ /**
24
+ * Libera todos os recursos nativos carregados (handles de bibliotecas, etc.).
25
+ * Chamado automaticamente pelo interpretador quando `interpretar()` é invocado sem
26
+ * `manterAmbiente` (modo script). Em modo REPL (`manterAmbiente = true`), o
27
+ * runtime deve chamar este método manualmente ao encerrar a sessão.
28
+ */
29
+ descarregarTudo(): void;
30
+ }
31
+ //# sourceMappingURL=despachador-ffi-interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"despachador-ffi-interface.d.ts","sourceRoot":"","sources":["../../fontes/ffi/despachador-ffi-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACpC;;;;;;;;;OASG;IACH,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAAC;IAE1E;;;;;OAKG;IACH,eAAe,IAAI,IAAI,CAAC;CAC3B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=despachador-ffi-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"despachador-ffi-interface.js","sourceRoot":"","sources":["../../fontes/ffi/despachador-ffi-interface.ts"],"names":[],"mappings":""}
package/ffi/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * from './despachador-ffi-interface';
2
+ export * from './leitor-definicao';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/ffi/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC"}
package/ffi/index.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = 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);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./despachador-ffi-interface"), exports);
18
+ __exportStar(require("./leitor-definicao"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/ffi/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,qDAAmC"}
@@ -0,0 +1,23 @@
1
+ import { Decorador } from '../construtos';
2
+ export interface MetadadosFFIClasse {
3
+ biblioteca: string;
4
+ prefixo: string;
5
+ }
6
+ export interface MetadadosFFIMetodo {
7
+ /** Nome do símbolo C resolvido, pronto para uso em `koffi.load(...).func(simbolo, ...)`. */
8
+ simbolo: string;
9
+ }
10
+ /**
11
+ * Lê os atributos de `@definicao` de uma lista de decoradores de uma classe estrangeira.
12
+ * Retorna `null` se nenhum decorador `definicao` com atributo `biblioteca` for encontrado.
13
+ */
14
+ export declare function lerMetadadosClasse(decoradores: Decorador[]): MetadadosFFIClasse | null;
15
+ /**
16
+ * Resolve o nome do símbolo C para um método de uma classe estrangeira.
17
+ *
18
+ * Ordem de resolução:
19
+ * 1. `@definicao(simbolo="...")` no próprio método → usa o valor literal
20
+ * 2. Caso contrário → `prefixo + nomeMetodo`
21
+ */
22
+ export declare function lerMetadadosMetodo(decoradores: Decorador[], nomeMetodo: string, prefixo: string): MetadadosFFIMetodo;
23
+ //# sourceMappingURL=leitor-definicao.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leitor-definicao.d.ts","sourceRoot":"","sources":["../../fontes/ffi/leitor-definicao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAC/B,4FAA4F;IAC5F,OAAO,EAAE,MAAM,CAAC;CACnB;AAmBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,kBAAkB,GAAG,IAAI,CAStF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAC9B,WAAW,EAAE,SAAS,EAAE,EACxB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,kBAAkB,CASpB"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lerMetadadosClasse = lerMetadadosClasse;
4
+ exports.lerMetadadosMetodo = lerMetadadosMetodo;
5
+ const construtos_1 = require("../construtos");
6
+ /**
7
+ * Extrai o valor primitivo de um atributo de decorador.
8
+ * O parser armazena `valorPadrao` como um `Literal` construto;
9
+ * aqui desembrulhamos para o valor JS puro.
10
+ */
11
+ function resolverValorAtributo(valor) {
12
+ if (valor instanceof construtos_1.Literal)
13
+ return valor.valor;
14
+ return valor;
15
+ }
16
+ /**
17
+ * Normaliza o nome do decorador removendo o prefixo `@` adicionado pelo parser.
18
+ */
19
+ function nomeDecorador(decorador) {
20
+ return decorador.nome.startsWith('@') ? decorador.nome.slice(1) : decorador.nome;
21
+ }
22
+ /**
23
+ * Lê os atributos de `@definicao` de uma lista de decoradores de uma classe estrangeira.
24
+ * Retorna `null` se nenhum decorador `definicao` com atributo `biblioteca` for encontrado.
25
+ */
26
+ function lerMetadadosClasse(decoradores) {
27
+ for (const decorador of decoradores) {
28
+ if (nomeDecorador(decorador) !== 'definicao')
29
+ continue;
30
+ const biblioteca = resolverValorAtributo(decorador.atributos?.['biblioteca']);
31
+ if (!biblioteca)
32
+ continue;
33
+ const prefixo = resolverValorAtributo(decorador.atributos?.['prefixo']) ?? '';
34
+ return { biblioteca: String(biblioteca), prefixo: String(prefixo) };
35
+ }
36
+ return null;
37
+ }
38
+ /**
39
+ * Resolve o nome do símbolo C para um método de uma classe estrangeira.
40
+ *
41
+ * Ordem de resolução:
42
+ * 1. `@definicao(simbolo="...")` no próprio método → usa o valor literal
43
+ * 2. Caso contrário → `prefixo + nomeMetodo`
44
+ */
45
+ function lerMetadadosMetodo(decoradores, nomeMetodo, prefixo) {
46
+ for (const decorador of decoradores) {
47
+ if (nomeDecorador(decorador) !== 'definicao')
48
+ continue;
49
+ const simbolo = resolverValorAtributo(decorador.atributos?.['simbolo']);
50
+ if (simbolo) {
51
+ return { simbolo: String(simbolo) };
52
+ }
53
+ }
54
+ return { simbolo: prefixo + nomeMetodo };
55
+ }
56
+ //# sourceMappingURL=leitor-definicao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leitor-definicao.js","sourceRoot":"","sources":["../../fontes/ffi/leitor-definicao.ts"],"names":[],"mappings":";;AAkCA,gDASC;AASD,gDAaC;AAhED,8CAAwC;AAYxC;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,KAAU;IACrC,IAAI,KAAK,YAAY,oBAAO;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IACjD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,SAAoB;IACvC,OAAO,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;AACrF,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,WAAwB;IACvD,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,aAAa,CAAC,SAAS,CAAC,KAAK,WAAW;YAAE,SAAS;QACvD,MAAM,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACxE,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAC9B,WAAwB,EACxB,UAAkB,EAClB,OAAe;IAEf,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,aAAa,CAAC,SAAS,CAAC,KAAK,WAAW;YAAE,SAAS;QACvD,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAAC;AAC7C,CAAC"}
package/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './analisador-semantico';
2
+ export * from './ffi';
2
3
  export * from './avaliador-sintatico';
3
4
  export * from './construtos';
4
5
  export * from './declaracoes';
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../fontes/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../fontes/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,OAAO,CAAC;AACtB,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
package/index.js CHANGED
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./analisador-semantico"), exports);
18
+ __exportStar(require("./ffi"), exports);
18
19
  __exportStar(require("./avaliador-sintatico"), exports);
19
20
  __exportStar(require("./construtos"), exports);
20
21
  __exportStar(require("./declaracoes"), exports);
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../fontes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,wDAAsC;AACtC,+CAA6B;AAC7B,gDAA8B;AAE9B,gDAA8B;AAC9B,iDAA+B;AAC/B,4DAA0C;AAC1C,+CAA6B;AAC7B,kDAAgC;AAChC,4CAA0B;AAC1B,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../fontes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,wCAAsB;AACtB,wDAAsC;AACtC,+CAA6B;AAC7B,gDAA8B;AAE9B,gDAA8B;AAC9B,iDAA+B;AAC/B,4DAA0C;AAC1C,+CAA6B;AAC7B,kDAAgC;AAChC,4CAA0B;AAC1B,+CAA6B"}
@@ -19,7 +19,7 @@ export declare class DescritorTipoClasse extends Chamavel {
19
19
  [nome: string]: DeleguaFuncao | DeleguaFuncao[];
20
20
  };
21
21
  metodosEstaticos: {
22
- [nome: string]: DeleguaFuncao | DeleguaFuncao[];
22
+ [nome: string]: Chamavel | Chamavel[];
23
23
  };
24
24
  membrosEstaticos: {
25
25
  [nome: string]: any;
@@ -1 +1 @@
1
- {"version":3,"file":"descritor-tipo-classe.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/descritor-tipo-classe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"descritor-tipo-classe.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/descritor-tipo-classe.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { DespachadorFFIInterface } from '../ffi';
1
2
  import { Bloco, CabecalhoPrograma, Classe, Comentario, Const, ConstMultiplo, Continua, Declaracao, Enquanto, Escolha, Escreva, EscrevaMesmaLinha, Expressao, Extensao, Falhar, Fazer, FuncaoDeclaracao, Importar, InicioAlgoritmo, InterfaceDeclaracao, Para, ParaCada, Retorna, Se, TendoComo, Tente, TextoDocumentacao, Var, VarMultiplo } from '../declaracoes';
2
3
  import { Chamavel, DescritorTipoClasse, DeleguaFuncao, DeleguaModulo } from './estruturas';
3
4
  import { AcessoIndiceVariavel, AcessoIntervaloVariavel, AcessoMetodo, AcessoMetodoOuPropriedade, AcessoPropriedade, Agrupamento, ArgumentoReferenciaFuncao, AtribuicaoPorIndice, Atribuir, Chamada, ComentarioComoConstruto, DefinirValor, Dicionario, ExpressaoRegular, FimPara, FormatacaoEscrita, FuncaoConstruto, Leia, Literal, Logico, ReferenciaFuncao, Separador, Super, TipoDe, Tupla, TuplaN, Unario, Variavel, Vetor, Isto, Binario } from '../construtos';
@@ -42,6 +43,14 @@ export declare class InterpretadorBase implements InterpretadorInterface {
42
43
  extensoesModulo: Map<number, Map<string, Map<string, DeleguaFuncao>>>;
43
44
  microLexador: MicroLexador;
44
45
  microAvaliadorSintatico: MicroAvaliadorSintaticoBase;
46
+ /**
47
+ * Despachador FFI opcional. Quando presente, é invocado ao visitar uma
48
+ * `classe estrangeira` com `@definicao`, permitindo que o runtime forneça
49
+ * métodos vinculados a bibliotecas nativas (ex.: via `koffi` em Node.js).
50
+ * Quando ausente, o comportamento padrão é preservado: a classe recebe
51
+ * `estrangeira = true` e lança erro ao ser instanciada diretamente.
52
+ */
53
+ despachadorFFI?: DespachadorFFIInterface;
45
54
  regexInterpolacao: RegExp;
46
55
  private iteracoesParaCederControle;
47
56
  private tiposNumericos;
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-base.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpretador-base.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-base.ts"],"names":[],"mappings":"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"}
@@ -1701,6 +1701,14 @@ class InterpretadorBase {
1701
1701
  return descritorTipoClasse;
1702
1702
  }
1703
1703
  resolverMetodoDeClasse(declaracao, superClassesResolvidas, _mesclaResolvidas) {
1704
+ if (declaracao.estrangeira && this.despachadorFFI) {
1705
+ const descritorFFI = this.despachadorFFI.resolverClasseEstrangeira(declaracao);
1706
+ if (descritorFFI) {
1707
+ descritorFFI.estrangeira = true;
1708
+ descritorFFI.orem = estruturas_1.DescritorTipoClasse.computarOReM(descritorFFI);
1709
+ return descritorFFI;
1710
+ }
1711
+ }
1704
1712
  const metodos = {};
1705
1713
  for (const metodoAtual of declaracao.metodos) {
1706
1714
  const nomeMetodo = metodoAtual.simbolo.lexema;
@@ -1716,6 +1724,9 @@ class InterpretadorBase {
1716
1724
  descritorTipoClasse.superClasses = [estruturas_1.OBJETO_BASE];
1717
1725
  }
1718
1726
  descritorTipoClasse.orem = estruturas_1.DescritorTipoClasse.computarOReM(descritorTipoClasse);
1727
+ if (declaracao.estrangeira) {
1728
+ descritorTipoClasse.estrangeira = true;
1729
+ }
1719
1730
  return descritorTipoClasse;
1720
1731
  }
1721
1732
  /**
@@ -2273,6 +2284,9 @@ class InterpretadorBase {
2273
2284
  const deltaInterpretacao = (0, browser_process_hrtime_1.default)(inicioInterpretacao);
2274
2285
  console.log(`[Interpretador] Tempo para interpretaçao: ${deltaInterpretacao[0] * 1e9 + deltaInterpretacao[1]}ns`);
2275
2286
  }
2287
+ if (!manterAmbiente) {
2288
+ this.despachadorFFI?.descarregarTudo();
2289
+ }
2276
2290
  const retorno = {
2277
2291
  erros: this.erros,
2278
2292
  resultado: this.resultadoInterpretador,