@designliquido/delegua 0.21.6 → 0.21.7

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 (26) hide show
  1. package/bin/package.json +5 -3
  2. package/fontes/analisador-semantico/analisador-semantico.d.ts +3 -3
  3. package/fontes/analisador-semantico/dialetos/analisador-semantico-birl.d.ts +64 -0
  4. package/fontes/analisador-semantico/dialetos/analisador-semantico-birl.js +190 -0
  5. package/fontes/analisador-semantico/dialetos/analisador-semantico-birl.js.map +1 -0
  6. package/fontes/analisador-semantico/dialetos/index.d.ts +1 -0
  7. package/fontes/analisador-semantico/dialetos/index.js +18 -0
  8. package/fontes/analisador-semantico/dialetos/index.js.map +1 -0
  9. package/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +1 -0
  10. package/fontes/avaliador-sintatico/avaliador-sintatico-base.js +5 -0
  11. package/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
  12. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.d.ts +3 -1
  13. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js +87 -17
  14. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js.map +1 -1
  15. package/fontes/bibliotecas/primitivas-texto.d.ts +13 -13
  16. package/fontes/bibliotecas/primitivas-texto.js +6 -1
  17. package/fontes/bibliotecas/primitivas-texto.js.map +1 -1
  18. package/fontes/interpretador/dialetos/birl/comum.d.ts +3 -0
  19. package/fontes/interpretador/dialetos/birl/comum.js +66 -0
  20. package/fontes/interpretador/dialetos/birl/comum.js.map +1 -0
  21. package/fontes/interpretador/dialetos/birl/interpretador-birl.d.ts +11 -6
  22. package/fontes/interpretador/dialetos/birl/interpretador-birl.js +159 -31
  23. package/fontes/interpretador/dialetos/birl/interpretador-birl.js.map +1 -1
  24. package/fontes/interpretador/interpretador-base.js +14 -9
  25. package/fontes/interpretador/interpretador-base.js.map +1 -1
  26. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico-birl.js","sourceRoot":"","sources":["../../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico-birl.js","sourceRoot":"","sources":["../../../../fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,17 @@
1
1
  import { VisitanteComumInterface } from "../interfaces";
2
2
  declare const _default: {
3
- aparar: (interpretador: VisitanteComumInterface, texto: string) => Promise<any>;
4
- apararFim: (interpretador: VisitanteComumInterface, texto: string) => Promise<any>;
5
- apararInicio: (interpretador: VisitanteComumInterface, texto: string) => Promise<any>;
6
- concatenar: (interpretador: VisitanteComumInterface, ...texto: string[]) => Promise<any>;
7
- dividir: (interpretador: VisitanteComumInterface, texto: string, divisor: any, limite: number) => Promise<any>;
8
- fatiar: (interpretador: VisitanteComumInterface, texto: string, inicio: number, fim: number) => Promise<any>;
9
- inclui: (interpretador: VisitanteComumInterface, texto: string, elemento: any) => Promise<any>;
10
- inverter: (interpretador: VisitanteComumInterface, texto: string) => Promise<any>;
11
- maiusculo: (interpretador: VisitanteComumInterface, texto: string) => Promise<any>;
12
- minusculo: (interpretador: VisitanteComumInterface, texto: string) => Promise<any>;
13
- substituir: (interpretador: VisitanteComumInterface, texto: string, elemento: string, substituto: string) => Promise<any>;
14
- subtexto: (interpretador: VisitanteComumInterface, texto: string, inicio: number, fim: number) => Promise<any>;
15
- tamanho: (interpretador: VisitanteComumInterface, texto: string) => Promise<any>;
3
+ aparar: (interpretador: VisitanteComumInterface, texto: string) => Promise<string>;
4
+ apararFim: (interpretador: VisitanteComumInterface, texto: string) => Promise<string>;
5
+ apararInicio: (interpretador: VisitanteComumInterface, texto: string) => Promise<string>;
6
+ concatenar: (interpretador: VisitanteComumInterface, ...texto: string[]) => Promise<string>;
7
+ dividir: (interpretador: VisitanteComumInterface, texto: string, divisor: any, limite?: number) => Promise<string[]>;
8
+ fatiar: (interpretador: VisitanteComumInterface, texto: string, inicio: number, fim: number) => Promise<string>;
9
+ inclui: (interpretador: VisitanteComumInterface, texto: string, elemento: any) => Promise<boolean>;
10
+ inverter: (interpretador: VisitanteComumInterface, texto: string) => Promise<string>;
11
+ maiusculo: (interpretador: VisitanteComumInterface, texto: string) => Promise<string>;
12
+ minusculo: (interpretador: VisitanteComumInterface, texto: string) => Promise<string>;
13
+ substituir: (interpretador: VisitanteComumInterface, texto: string, elemento: string, substituto: string) => Promise<string>;
14
+ subtexto: (interpretador: VisitanteComumInterface, texto: string, inicio: number, fim: number) => Promise<string>;
15
+ tamanho: (interpretador: VisitanteComumInterface, texto: string) => Promise<number>;
16
16
  };
17
17
  export default _default;
@@ -5,7 +5,12 @@ exports.default = {
5
5
  apararFim: (interpretador, texto) => Promise.resolve(texto.trimEnd()),
6
6
  apararInicio: (interpretador, texto) => Promise.resolve(texto.trimStart()),
7
7
  concatenar: (interpretador, ...texto) => Promise.resolve("".concat(...texto)),
8
- dividir: (interpretador, texto, divisor, limite) => Promise.resolve(texto.split(divisor || ' ', limite)),
8
+ dividir: (interpretador, texto, divisor, limite) => {
9
+ if (limite) {
10
+ return Promise.resolve(texto.split(divisor, limite));
11
+ }
12
+ return Promise.resolve(texto.split(divisor));
13
+ },
9
14
  fatiar: (interpretador, texto, inicio, fim) => Promise.resolve(texto.slice(inicio, fim)),
10
15
  inclui: (interpretador, texto, elemento) => Promise.resolve(texto.includes(elemento)),
11
16
  inverter: (interpretador, texto) => Promise.resolve(texto.split('').reduce((texto, caracter) => texto = caracter + texto, '')),
@@ -1 +1 @@
1
- {"version":3,"file":"primitivas-texto.js","sourceRoot":"","sources":["../../../fontes/bibliotecas/primitivas-texto.ts"],"names":[],"mappings":";;AAEA,kBAAe;IACX,MAAM,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAgB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC9G,SAAS,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAgB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACpH,YAAY,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAgB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IACzH,UAAU,EAAE,CAAC,aAAsC,EAAE,GAAG,KAAe,EAAgB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;IAC9H,OAAO,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAE,OAAY,EAAE,MAAc,EAAgB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,GAAG,EAAE,MAAM,CAAC,CAAC;IACpK,MAAM,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAE,MAAc,EAAE,GAAW,EAAgB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvJ,MAAM,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAE,QAAa,EAAgB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzI,QAAQ,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAgB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,GAAG,QAAQ,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7K,SAAS,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAgB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IACxH,SAAS,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAgB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IACxH,UAAU,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAE,QAAgB,EAAE,UAAkB,EAAgB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC/K,QAAQ,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAE,MAAc,EAAE,GAAW,EAAgB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzJ,OAAO,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAgB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;CAClH,CAAC"}
1
+ {"version":3,"file":"primitivas-texto.js","sourceRoot":"","sources":["../../../fontes/bibliotecas/primitivas-texto.ts"],"names":[],"mappings":";;AAEA,kBAAe;IACX,MAAM,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAmB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACjH,SAAS,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAmB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACvH,YAAY,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAmB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IAC5H,UAAU,EAAE,CAAC,aAAsC,EAAE,GAAG,KAAe,EAAmB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;IACjI,OAAO,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAE,OAAY,EAAE,MAAe,EAAqB,EAAE;QACjH,IAAI,MAAM,EAAE;YACR,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;SACvD;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;IAChD,CAAC;IACD,MAAM,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAE,MAAc,EAAE,GAAW,EAAmB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1J,MAAM,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAE,QAAa,EAAoB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7I,QAAQ,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAmB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,GAAG,QAAQ,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;IAChL,SAAS,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAmB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC3H,SAAS,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAmB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC3H,UAAU,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAE,QAAgB,EAAE,UAAkB,EAAmB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAClL,QAAQ,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAE,MAAc,EAAE,GAAW,EAAmB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5J,OAAO,EAAE,CAAC,aAAsC,EAAE,KAAa,EAAmB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;CACrH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Construto } from '../../../construtos';
2
+ import { InterpretadorBirl } from './interpretador-birl';
3
+ export declare function atribuirVariavel(interpretador: InterpretadorBirl, expressao: Construto, valor: any, tipo: string): Promise<any>;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.atribuirVariavel = void 0;
4
+ const construtos_1 = require("../../../construtos");
5
+ function converteTipoOuEstouraError(valor, tipo) {
6
+ try {
7
+ switch (tipo) {
8
+ case 'texto':
9
+ return String(valor);
10
+ case 'número':
11
+ if (valor.includes('.')) {
12
+ return parseFloat(valor);
13
+ }
14
+ var numero = Number(valor);
15
+ if (isNaN(numero)) {
16
+ throw new Error(`Não foi possível converter o valor "${valor}" para o tipo ${tipo}.`);
17
+ }
18
+ return numero;
19
+ default:
20
+ return valor;
21
+ }
22
+ }
23
+ catch (err) {
24
+ throw new Error(`Não foi possível converter o valor "${valor}" para o tipo ${tipo}.`);
25
+ }
26
+ }
27
+ async function atribuirVariavel(interpretador, expressao, valor, tipo) {
28
+ valor = converteTipoOuEstouraError(valor, tipo);
29
+ if (expressao instanceof construtos_1.Variavel) {
30
+ interpretador.pilhaEscoposExecucao.atribuirVariavel(expressao.simbolo, valor);
31
+ return;
32
+ }
33
+ if (expressao instanceof construtos_1.AcessoIndiceVariavel) {
34
+ const promises = await Promise.all([
35
+ interpretador.avaliar(expressao.entidadeChamada),
36
+ interpretador.avaliar(expressao.indice),
37
+ ]);
38
+ let alvo = promises[0];
39
+ let indice = promises[1];
40
+ const subtipo = alvo.hasOwnProperty('subtipo') ? alvo.subtipo : undefined;
41
+ if (alvo.hasOwnProperty('valor')) {
42
+ alvo = alvo.valor;
43
+ }
44
+ if (indice.hasOwnProperty('valor')) {
45
+ indice = indice.valor;
46
+ }
47
+ let valorResolvido;
48
+ switch (subtipo) {
49
+ case 'texto':
50
+ valorResolvido = String(valor);
51
+ break;
52
+ case 'número':
53
+ valorResolvido = Number(valor);
54
+ break;
55
+ case 'lógico':
56
+ valorResolvido = Boolean(valor);
57
+ break;
58
+ default:
59
+ valorResolvido = valor;
60
+ break;
61
+ }
62
+ alvo[indice] = valorResolvido;
63
+ }
64
+ }
65
+ exports.atribuirVariavel = atribuirVariavel;
66
+ //# sourceMappingURL=comum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comum.js","sourceRoot":"","sources":["../../../../../fontes/interpretador/dialetos/birl/comum.ts"],"names":[],"mappings":";;;AAAA,oDAAgF;AAGhF,SAAS,0BAA0B,CAAC,KAAU,EAAE,IAAY;IACxD,IAAI;QACA,QAAQ,IAAI,EAAE;YACV,KAAK,OAAO;gBACR,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,KAAK,QAAQ;gBACT,IAAK,KAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACjC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;iBAC5B;gBACD,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;oBACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,iBAAiB,IAAI,GAAG,CAAC,CAAC;iBACzF;gBACD,OAAO,MAAM,CAAC;YAClB;gBACI,OAAO,KAAK,CAAC;SACpB;KACJ;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,iBAAiB,IAAI,GAAG,CAAC,CAAC;KACzF;AACL,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAClC,aAAgC,EAChC,SAAoB,EACpB,KAAU,EACV,IAAY;IAEZ,KAAK,GAAG,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAEhD,IAAI,SAAS,YAAY,qBAAQ,EAAE;QAC/B,aAAa,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9E,OAAO;KACV;IAED,IAAI,SAAS,YAAY,iCAAoB,EAAE;QAC3C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/B,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;YAChD,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;SAC1C,CAAC,CAAC;QAEH,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1E,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YAC9B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;SACrB;QAED,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YAChC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;SACzB;QAED,IAAI,cAAc,CAAC;QACnB,QAAQ,OAAO,EAAE;YACb,KAAK,OAAO;gBACR,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,MAAM;YACV,KAAK,QAAQ;gBACT,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,MAAM;YACV,KAAK,QAAQ;gBACT,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM;YACV;gBACI,cAAc,GAAG,KAAK,CAAC;gBACvB,MAAM;SACb;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC;KACjC;AACL,CAAC;AAjDD,4CAiDC"}
@@ -1,11 +1,11 @@
1
- import { Construto, Atribuir, Literal, FimPara, FormatacaoEscrita, Super, Variavel, Unario, TipoDe } from '../../../construtos';
2
- import { Declaracao, Expressao, Leia, Para, ParaCada, Se, Fazer, Escolha, Tente, Enquanto, Importar, Escreva, EscrevaMesmaLinha, Bloco, Var, Const, Continua, Sustar, Retorna, FuncaoDeclaracao, Classe } from '../../../declaracoes';
1
+ import { Atribuir, Construto, FimPara, FormatacaoEscrita, Literal, Super, TipoDe, Unario, Variavel } from '../../../construtos';
2
+ import { Bloco, Classe, Const, Continua, Declaracao, Enquanto, Escolha, Escreva, EscrevaMesmaLinha, Expressao, Fazer, FuncaoDeclaracao, Importar, Leia, Para, ParaCada, Retorna, Se, Tente, Var } from '../../../declaracoes';
3
3
  import { EspacoVariaveis } from '../../../espaco-variaveis';
4
4
  import { InterpretadorInterface, SimboloInterface, VariavelInterface } from '../../../interfaces';
5
5
  import { ErroInterpretador } from '../../../interfaces/erros/erro-interpretador';
6
6
  import { PilhaEscoposExecucaoInterface } from '../../../interfaces/pilha-escopos-execucao-interface';
7
7
  import { RetornoInterpretador } from '../../../interfaces/retornos';
8
- import { ContinuarQuebra, SustarQuebra, RetornoQuebra } from '../../../quebras';
8
+ import { ContinuarQuebra, RetornoQuebra, SustarQuebra } from '../../../quebras';
9
9
  export declare class InterpretadorBirl implements InterpretadorInterface {
10
10
  diretorioBase: any;
11
11
  funcaoDeRetorno: Function;
@@ -44,7 +44,12 @@ export declare class InterpretadorBirl implements InterpretadorInterface {
44
44
  */
45
45
  protected verificarOperandosNumeros(operador: SimboloInterface, direita: VariavelInterface | any, esquerda: VariavelInterface | any): void;
46
46
  visitarExpressaoBinaria(expressao: any): Promise<any>;
47
- visitarExpressaoDeChamada(expressao: any): void;
47
+ /**
48
+ * Executa uma chamada de função, método ou classe.
49
+ * @param expressao A expressão chamada.
50
+ * @returns O resultado da chamada.
51
+ */
52
+ visitarExpressaoDeChamada(expressao: any): Promise<any>;
48
53
  visitarDeclaracaoDeAtribuicao(expressao: Atribuir): void;
49
54
  protected procurarVariavel(simbolo: SimboloInterface): any;
50
55
  visitarExpressaoDeVariavel(expressao: Variavel): any;
@@ -86,7 +91,7 @@ export declare class InterpretadorBirl implements InterpretadorInterface {
86
91
  visitarExpressaoFormatacaoEscrita(declaracao: FormatacaoEscrita): void;
87
92
  visitarDeclaracaoEscolha(declaracao: Escolha): void;
88
93
  visitarDeclaracaoTente(declaracao: Tente): void;
89
- visitarDeclaracaoEnquanto(declaracao: Enquanto): void;
94
+ visitarDeclaracaoEnquanto(declaracao: Enquanto): Promise<any>;
90
95
  visitarDeclaracaoImportar(declaracao: Importar): void;
91
96
  protected avaliarArgumentosEscreva(argumentos: Construto[]): Promise<string>;
92
97
  /**
@@ -107,7 +112,7 @@ export declare class InterpretadorBirl implements InterpretadorInterface {
107
112
  visitarDeclaracaoVar(declaracao: Var): Promise<any>;
108
113
  visitarDeclaracaoConst(declaracao: Const): Promise<any>;
109
114
  visitarExpressaoContinua(declaracao?: Continua): ContinuarQuebra;
110
- visitarExpressaoSustar(declaracao?: Sustar): SustarQuebra;
115
+ visitarExpressaoSustar(declaracao?: any): SustarQuebra;
111
116
  visitarExpressaoRetornar(declaracao: Retorna): Promise<RetornoQuebra>;
112
117
  visitarExpressaoDeleguaFuncao(expressao: any): void;
113
118
  visitarExpressaoAtribuicaoPorIndice(expressao: any): Promise<any>;
@@ -1,4 +1,27 @@
1
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
@@ -9,9 +32,10 @@ const espaco_variaveis_1 = require("../../../espaco-variaveis");
9
32
  const estruturas_1 = require("../../../estruturas");
10
33
  const excecoes_1 = require("../../../excecoes");
11
34
  const quebras_1 = require("../../../quebras");
35
+ const birl_1 = __importDefault(require("../../../tipos-de-simbolos/birl"));
12
36
  const inferenciador_1 = require("../../inferenciador");
13
37
  const pilha_escopos_execucao_1 = require("../../pilha-escopos-execucao");
14
- const birl_1 = __importDefault(require("../../../tipos-de-simbolos/birl"));
38
+ const comum = __importStar(require("./comum"));
15
39
  class InterpretadorBirl {
16
40
  constructor(diretorioBase, funcaoDeRetorno = null, funcaoDeRetornoMesmaLinha = null) {
17
41
  this.funcaoDeRetorno = null;
@@ -244,8 +268,98 @@ class InterpretadorBirl {
244
268
  return Promise.reject(erro);
245
269
  }
246
270
  }
247
- visitarExpressaoDeChamada(expressao) {
248
- throw new Error('Método não implementado.');
271
+ /**
272
+ * Executa uma chamada de função, método ou classe.
273
+ * @param expressao A expressão chamada.
274
+ * @returns O resultado da chamada.
275
+ */
276
+ async visitarExpressaoDeChamada(expressao) {
277
+ try {
278
+ const variavelEntidadeChamada = await this.avaliar(expressao.entidadeChamada);
279
+ if (variavelEntidadeChamada === null) {
280
+ return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, 'Chamada de função ou método inexistente: ' + String(expressao.entidadeChamada), expressao.linha));
281
+ }
282
+ const entidadeChamada = variavelEntidadeChamada.hasOwnProperty('valor')
283
+ ? variavelEntidadeChamada.valor
284
+ : variavelEntidadeChamada;
285
+ let argumentos = [];
286
+ for (let i = 0; i < expressao.argumentos.length; i++) {
287
+ argumentos.push(await this.avaliar(expressao.argumentos[i]));
288
+ }
289
+ if (entidadeChamada instanceof estruturas_1.DeleguaModulo) {
290
+ return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, 'Entidade chamada é um módulo de Delégua. Provavelmente você quer chamar um de seus componentes?', expressao.linha));
291
+ }
292
+ if (entidadeChamada instanceof estruturas_1.MetodoPrimitiva) {
293
+ const argumentosResolvidos = [];
294
+ for (const argumento of expressao.argumentos) {
295
+ const valorResolvido = await this.avaliar(argumento);
296
+ argumentosResolvidos.push((valorResolvido === null || valorResolvido === void 0 ? void 0 : valorResolvido.hasOwnProperty('valor')) ? valorResolvido.valor : valorResolvido);
297
+ }
298
+ return await entidadeChamada.chamar(this, argumentosResolvidos);
299
+ }
300
+ let parametros;
301
+ if (entidadeChamada instanceof estruturas_1.DeleguaFuncao) {
302
+ parametros = entidadeChamada.declaracao.parametros;
303
+ }
304
+ else if (entidadeChamada instanceof estruturas_1.DeleguaClasse) {
305
+ parametros = entidadeChamada.metodos.inicializacao
306
+ ? entidadeChamada.metodos.inicializacao.declaracao.parametros
307
+ : [];
308
+ }
309
+ else {
310
+ parametros = [];
311
+ }
312
+ const aridade = entidadeChamada.aridade ? entidadeChamada.aridade() : entidadeChamada.length;
313
+ // Completar os parâmetros não preenchidos com nulos.
314
+ if (argumentos.length < aridade) {
315
+ const diferenca = aridade - argumentos.length;
316
+ for (let i = 0; i < diferenca; i++) {
317
+ argumentos.push(null);
318
+ }
319
+ }
320
+ else {
321
+ if (parametros && parametros.length > 0 && parametros[parametros.length - 1].abrangencia === 'multiplo') {
322
+ const novosArgumentos = argumentos.slice(0, parametros.length - 1);
323
+ novosArgumentos.push(argumentos.slice(parametros.length - 1, argumentos.length));
324
+ argumentos = novosArgumentos;
325
+ }
326
+ }
327
+ if (entidadeChamada instanceof estruturas_1.FuncaoPadrao) {
328
+ try {
329
+ return entidadeChamada.chamar(argumentos.map((a) => (a !== null && a.hasOwnProperty('valor') ? a.valor : a)), expressao.entidadeChamada.nome);
330
+ }
331
+ catch (erro) {
332
+ this.erros.push({
333
+ erroInterno: erro,
334
+ linha: expressao.linha,
335
+ hashArquivo: expressao.hashArquivo,
336
+ });
337
+ this.erros.push(erro);
338
+ }
339
+ }
340
+ if (entidadeChamada instanceof estruturas_1.Chamavel) {
341
+ return entidadeChamada.chamar(this, argumentos);
342
+ }
343
+ // A função chamada pode ser de uma biblioteca JavaScript.
344
+ // Neste caso apenas testamos se o tipo é uma função.
345
+ if (typeof entidadeChamada === 'function') {
346
+ let objeto = null;
347
+ if (expressao.entidadeChamada.objeto) {
348
+ objeto = await this.avaliar(expressao.entidadeChamada.objeto);
349
+ }
350
+ return entidadeChamada.apply(objeto.hasOwnProperty('valor') ? objeto.valor : objeto, argumentos);
351
+ }
352
+ return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, 'Só pode chamar função ou classe.', expressao.linha));
353
+ }
354
+ catch (erro) {
355
+ console.log(erro);
356
+ this.erros.push({
357
+ erroInterno: erro,
358
+ linha: expressao.linha,
359
+ hashArquivo: expressao.hashArquivo,
360
+ });
361
+ this.erros.push(erro);
362
+ }
249
363
  }
250
364
  visitarDeclaracaoDeAtribuicao(expressao) {
251
365
  throw new Error('Método não implementado.');
@@ -266,10 +380,17 @@ class InterpretadorBirl {
266
380
  * @returns Promise com o resultado da leitura.
267
381
  */
268
382
  async visitarExpressaoLeia(expressao) {
269
- const mensagem = expressao.argumentos && expressao.argumentos[0] ? expressao.argumentos[0].valor : '> ';
270
- return new Promise((resolucao) => this.interfaceEntradaSaida.question(mensagem, (resposta) => {
383
+ // const mensagem = expressao.argumentos && expressao.argumentos[0] ? expressao.argumentos[0].valor : '> ';
384
+ /**
385
+ * Em Birl não se usa mensagem junto com o prompt, normalmente se usa um Escreva antes.
386
+ */
387
+ const mensagem = '> ';
388
+ const promessaLeitura = () => new Promise((resolucao) => this.interfaceEntradaSaida.question(mensagem, (resposta) => {
271
389
  resolucao(resposta);
272
390
  }));
391
+ const valorLido = await promessaLeitura();
392
+ await comum.atribuirVariavel(this, expressao.argumentos[0], valorLido, expressao.argumentos[1].valor);
393
+ return;
273
394
  }
274
395
  /**
275
396
  * Busca variáveis interpoladas.
@@ -322,12 +443,7 @@ class InterpretadorBirl {
322
443
  }
323
444
  async visitarDeclaracaoPara(declaracao) {
324
445
  if (declaracao.inicializador !== null) {
325
- if (declaracao.inicializador instanceof Array) {
326
- await this.avaliar(declaracao.inicializador[0]);
327
- }
328
- else {
329
- await this.avaliar(declaracao.inicializador);
330
- }
446
+ await this.avaliar(declaracao.inicializador);
331
447
  }
332
448
  let retornoExecucao;
333
449
  while (!(retornoExecucao instanceof quebras_1.Quebra)) {
@@ -407,8 +523,28 @@ class InterpretadorBirl {
407
523
  visitarDeclaracaoTente(declaracao) {
408
524
  throw new Error('Método não implementado.');
409
525
  }
410
- visitarDeclaracaoEnquanto(declaracao) {
411
- throw new Error('Método não implementado.');
526
+ async visitarDeclaracaoEnquanto(declaracao) {
527
+ let retornoExecucao;
528
+ while (!(retornoExecucao instanceof quebras_1.Quebra) && this.eVerdadeiro(await this.avaliar(declaracao.condicao))) {
529
+ try {
530
+ retornoExecucao = await this.executar(declaracao.corpo);
531
+ if (retornoExecucao instanceof quebras_1.SustarQuebra) {
532
+ return null;
533
+ }
534
+ if (retornoExecucao instanceof quebras_1.ContinuarQuebra) {
535
+ retornoExecucao = null;
536
+ }
537
+ }
538
+ catch (erro) {
539
+ this.erros.push({
540
+ erroInterno: erro,
541
+ linha: declaracao.linha,
542
+ hashArquivo: declaracao.hashArquivo,
543
+ });
544
+ return Promise.reject(erro);
545
+ }
546
+ }
547
+ return retornoExecucao;
412
548
  }
413
549
  visitarDeclaracaoImportar(declaracao) {
414
550
  throw new Error('Método não implementado.');
@@ -479,10 +615,10 @@ class InterpretadorBirl {
479
615
  throw new Error('Método não implementado.');
480
616
  }
481
617
  visitarExpressaoContinua(declaracao) {
482
- throw new Error('Método não implementado.');
618
+ return new quebras_1.ContinuarQuebra();
483
619
  }
484
620
  visitarExpressaoSustar(declaracao) {
485
- throw new Error('Método não implementado.');
621
+ return new quebras_1.SustarQuebra();
486
622
  }
487
623
  async visitarExpressaoRetornar(declaracao) {
488
624
  let valor = null;
@@ -503,7 +639,8 @@ class InterpretadorBirl {
503
639
  throw new Error('Método não implementado.');
504
640
  }
505
641
  visitarDeclaracaoDefinicaoFuncao(declaracao) {
506
- throw new Error('Método não implementado.');
642
+ const funcao = new estruturas_1.DeleguaFuncao(declaracao.simbolo.lexema, declaracao.funcao);
643
+ this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, funcao);
507
644
  }
508
645
  visitarDeclaracaoClasse(declaracao) {
509
646
  throw new Error('Método não implementado.');
@@ -552,23 +689,14 @@ class InterpretadorBirl {
552
689
  */
553
690
  async executar(declaracao, mostrarResultado = false) {
554
691
  let resultado = null;
555
- // Tratar caso Bloco
556
- if (declaracao instanceof Array) {
557
- for (const decl of declaracao) {
558
- resultado = await this.executar(decl, mostrarResultado);
559
- }
560
- return resultado;
692
+ resultado = await declaracao.aceitar(this);
693
+ if (mostrarResultado) {
694
+ this.funcaoDeRetorno(this.paraTexto(resultado));
561
695
  }
562
- else {
563
- resultado = await declaracao.aceitar(this);
564
- if (mostrarResultado) {
565
- this.funcaoDeRetorno(this.paraTexto(resultado));
566
- }
567
- if (resultado || typeof resultado === 'boolean') {
568
- this.resultadoInterpretador.push(this.paraTexto(resultado));
569
- }
570
- return resultado;
696
+ if (resultado || typeof resultado === 'boolean') {
697
+ this.resultadoInterpretador.push(this.paraTexto(resultado));
571
698
  }
699
+ return resultado;
572
700
  }
573
701
  /**
574
702
  * Executa o último escopo empilhado no topo na pilha de escopos do interpretador.