@designliquido/delegua 0.11.13 → 0.12.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 (66) hide show
  1. package/bin/package.json +1 -1
  2. package/execucao.js +13 -5
  3. package/execucao.js.map +1 -1
  4. package/fontes/construtos/atribuir.js +1 -1
  5. package/fontes/construtos/atribuir.js.map +1 -1
  6. package/fontes/construtos/chamada.d.ts +2 -0
  7. package/fontes/construtos/chamada.js +20 -0
  8. package/fontes/construtos/chamada.js.map +1 -1
  9. package/fontes/declaracoes/classe.js +1 -1
  10. package/fontes/declaracoes/classe.js.map +1 -1
  11. package/fontes/declaracoes/enquanto.js +1 -1
  12. package/fontes/declaracoes/enquanto.js.map +1 -1
  13. package/fontes/declaracoes/escolha.js +1 -1
  14. package/fontes/declaracoes/escolha.js.map +1 -1
  15. package/fontes/declaracoes/escreva.js +1 -1
  16. package/fontes/declaracoes/escreva.js.map +1 -1
  17. package/fontes/declaracoes/fazer.js +1 -1
  18. package/fontes/declaracoes/fazer.js.map +1 -1
  19. package/fontes/declaracoes/funcao.js +1 -1
  20. package/fontes/declaracoes/funcao.js.map +1 -1
  21. package/fontes/declaracoes/importar.js +1 -1
  22. package/fontes/declaracoes/importar.js.map +1 -1
  23. package/fontes/declaracoes/para.js +1 -1
  24. package/fontes/declaracoes/para.js.map +1 -1
  25. package/fontes/declaracoes/se.js +1 -1
  26. package/fontes/declaracoes/se.js.map +1 -1
  27. package/fontes/declaracoes/tente.js +1 -1
  28. package/fontes/declaracoes/tente.js.map +1 -1
  29. package/fontes/declaracoes/var.js +1 -1
  30. package/fontes/declaracoes/var.js.map +1 -1
  31. package/fontes/delegua.d.ts +1 -0
  32. package/fontes/delegua.js +13 -0
  33. package/fontes/delegua.js.map +1 -1
  34. package/fontes/depuracao/servidor-depuracao.d.ts +2 -1
  35. package/fontes/depuracao/servidor-depuracao.js +43 -13
  36. package/fontes/depuracao/servidor-depuracao.js.map +1 -1
  37. package/fontes/espaco-variaveis.d.ts +12 -0
  38. package/fontes/espaco-variaveis.js +10 -0
  39. package/fontes/espaco-variaveis.js.map +1 -1
  40. package/fontes/estruturas/delegua-funcao.d.ts +3 -0
  41. package/fontes/estruturas/delegua-funcao.js +3 -0
  42. package/fontes/estruturas/delegua-funcao.js.map +1 -1
  43. package/fontes/interfaces/escopo-execucao.d.ts +4 -0
  44. package/fontes/interfaces/interpretador-com-depuracao-interface.d.ts +7 -5
  45. package/fontes/interfaces/interpretador-interface.d.ts +12 -18
  46. package/fontes/interfaces/pilha-escopos-execucao-interface.d.ts +2 -1
  47. package/fontes/interfaces/resolvedor-interface.d.ts +0 -12
  48. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +12 -12
  49. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +19 -13
  50. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  51. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +12 -12
  52. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +12 -12
  53. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
  54. package/fontes/interpretador/dialetos/visualg.d.ts +1 -1
  55. package/fontes/interpretador/dialetos/visualg.js +1 -1
  56. package/fontes/interpretador/dialetos/visualg.js.map +1 -1
  57. package/fontes/interpretador/interpretador-com-depuracao.d.ts +83 -12
  58. package/fontes/interpretador/interpretador-com-depuracao.js +238 -111
  59. package/fontes/interpretador/interpretador-com-depuracao.js.map +1 -1
  60. package/fontes/interpretador/interpretador.d.ts +25 -24
  61. package/fontes/interpretador/interpretador.js +35 -21
  62. package/fontes/interpretador/interpretador.js.map +1 -1
  63. package/fontes/interpretador/pilha-escopos-execucao.d.ts +2 -1
  64. package/fontes/interpretador/pilha-escopos-execucao.js +10 -1
  65. package/fontes/interpretador/pilha-escopos-execucao.js.map +1 -1
  66. package/package.json +1 -1
@@ -2,6 +2,9 @@ import { Chamavel } from './chamavel';
2
2
  import { InterpretadorInterface } from '../interfaces';
3
3
  import { ObjetoDeleguaClasse } from './objeto-delegua-classe';
4
4
  import { FuncaoConstruto } from '../construtos';
5
+ /**
6
+ * Qualquer função declarada em código é uma DeleguaFuncao.
7
+ */
5
8
  export declare class DeleguaFuncao extends Chamavel {
6
9
  nome: string;
7
10
  declaracao: FuncaoConstruto;
@@ -4,6 +4,9 @@ exports.DeleguaFuncao = void 0;
4
4
  const chamavel_1 = require("./chamavel");
5
5
  const espaco_variaveis_1 = require("../espaco-variaveis");
6
6
  const quebras_1 = require("../quebras");
7
+ /**
8
+ * Qualquer função declarada em código é uma DeleguaFuncao.
9
+ */
7
10
  class DeleguaFuncao extends chamavel_1.Chamavel {
8
11
  constructor(nome, declaracao, instancia = undefined, eInicializador = false) {
9
12
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"delegua-funcao.js","sourceRoot":"","sources":["../../../fontes/estruturas/delegua-funcao.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,0DAAsD;AAGtD,wCAA2C;AAI3C,MAAa,aAAc,SAAQ,mBAAQ;IAMvC,YACI,IAAY,EACZ,UAA2B,EAC3B,YAAiC,SAAS,EAC1C,cAAc,GAAG,KAAK;QAEtB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED,OAAO;;QACH,OAAO,CAAA,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,UAAU,0CAAE,MAAM,KAAI,CAAC,CAAC;IACpD,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,UAAU,CAAC;QAC1C,OAAO,WAAW,IAAI,CAAC,IAAI,GAAG,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,aAAqC,EAAE,UAAe;QAC/D,MAAM,QAAQ,GAAG,IAAI,kCAAe,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAE9C,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAEhC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;gBACtC,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;oBACxB,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC;wBACvB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK;wBAC3B,CAAC,CAAC,IAAI,CAAC;iBACd;gBAED,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aAClC;SACJ;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAC9B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;gBACvB,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,IAAI,EAAE,QAAQ;aACjB,CAAC;SACL;QAED,MAAM,YAAY,GAAQ,MAAM,aAAa,CAAC,aAAa,CACvD,IAAI,CAAC,UAAU,CAAC,KAAK,EACrB,QAAQ,CACX,CAAC;QACF,IAAI,YAAY,YAAY,uBAAa,EAAE;YACvC,OAAO,YAAY,CAAC,KAAK,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,OAAO,IAAI,CAAC,SAAS,CAAC;SACzB;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,gBAAgB,CAAC,SAA8B;QAC3C,OAAO,IAAI,aAAa,CACpB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,SAAS,EACT,IAAI,CAAC,cAAc,CACtB,CAAC;IACN,CAAC;CACJ;AA9ED,sCA8EC"}
1
+ {"version":3,"file":"delegua-funcao.js","sourceRoot":"","sources":["../../../fontes/estruturas/delegua-funcao.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,0DAAsD;AAGtD,wCAA2C;AAI3C;;GAEG;AACH,MAAa,aAAc,SAAQ,mBAAQ;IAMvC,YACI,IAAY,EACZ,UAA2B,EAC3B,YAAiC,SAAS,EAC1C,cAAc,GAAG,KAAK;QAEtB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED,OAAO;;QACH,OAAO,CAAA,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,UAAU,0CAAE,MAAM,KAAI,CAAC,CAAC;IACpD,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,UAAU,CAAC;QAC1C,OAAO,WAAW,IAAI,CAAC,IAAI,GAAG,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,aAAqC,EAAE,UAAe;QAC/D,MAAM,QAAQ,GAAG,IAAI,kCAAe,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAE9C,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAEhC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;gBACtC,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;oBACxB,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC;wBACvB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK;wBAC3B,CAAC,CAAC,IAAI,CAAC;iBACd;gBAED,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aAClC;SACJ;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAC9B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;gBACvB,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,IAAI,EAAE,QAAQ;aACjB,CAAC;SACL;QAED,MAAM,YAAY,GAAQ,MAAM,aAAa,CAAC,aAAa,CACvD,IAAI,CAAC,UAAU,CAAC,KAAK,EACrB,QAAQ,CACX,CAAC;QACF,IAAI,YAAY,YAAY,uBAAa,EAAE;YACvC,OAAO,YAAY,CAAC,KAAK,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,OAAO,IAAI,CAAC,SAAS,CAAC;SACzB;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,gBAAgB,CAAC,SAA8B;QAC3C,OAAO,IAAI,aAAa,CACpB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,SAAS,EACT,IAAI,CAAC,cAAc,CACtB,CAAC;IACN,CAAC;CACJ;AA9ED,sCA8EC"}
@@ -1,7 +1,11 @@
1
1
  import { EspacoVariaveis } from '../espaco-variaveis';
2
2
  import { Declaracao } from '../declaracoes';
3
+ export type TipoEscopoExecucao = 'funcao' | 'repeticao' | 'outro';
3
4
  export interface EscopoExecucao {
4
5
  declaracoes: Declaracao[];
5
6
  declaracaoAtual: number;
6
7
  ambiente: EspacoVariaveis;
8
+ finalizado: boolean;
9
+ tipo: TipoEscopoExecucao;
10
+ idChamada?: string;
7
11
  }
@@ -1,13 +1,15 @@
1
1
  import { Declaracao } from '../declaracoes';
2
2
  import { PontoParada } from '../depuracao';
3
3
  import { InterpretadorInterface } from './interpretador-interface';
4
+ export type ComandoDepurador = 'proximo' | 'adentrarEscopo' | 'proximoESair' | 'continuar';
4
5
  export interface InterpretadorComDepuracaoInterface extends InterpretadorInterface {
5
- comandoAdentrarEscopo: boolean;
6
- comandoProximo: boolean;
6
+ comando?: ComandoDepurador;
7
7
  pontoDeParadaAtivo: boolean;
8
8
  pontosParada: PontoParada[];
9
- interpretarApenasUmaInstrucao(): Promise<any>;
10
- continuarInterpretacao(): Promise<any>;
11
- proximoESair(): Promise<any>;
9
+ adentrarEscopo(): Promise<any>;
10
+ instrucaoPasso(): Promise<any>;
11
+ instrucaoContinuarInterpretacao(): Promise<any>;
12
+ instrucaoProximoESair(): Promise<any>;
12
13
  prepararParaDepuracao(declaracoes: Declaracao[]): void;
14
+ obterVariavel(nome: string): Promise<any>;
13
15
  }
@@ -4,7 +4,6 @@ import { Bloco, Classe, Continua, Declaracao, Enquanto, Escolha, Escreva, Expres
4
4
  import { ContinuarQuebra, RetornoQuebra, SustarQuebra } from '../quebras';
5
5
  import { PilhaEscoposExecucaoInterface } from './pilha-escopos-execucao-interface';
6
6
  import { RetornoInterpretador } from './retornos/retorno-interpretador';
7
- import { SimboloInterface } from './simbolo-interface';
8
7
  import { EscrevaMesmaLinha } from '../declaracoes/escreva-mesma-linha';
9
8
  import { FormatacaoEscrita } from '../construtos/formatacao-escrita';
10
9
  export interface InterpretadorInterface {
@@ -15,32 +14,27 @@ export interface InterpretadorInterface {
15
14
  visitarExpressaoLiteral(expressao: Literal): any;
16
15
  avaliar(expressao: any): any;
17
16
  visitarExpressaoAgrupamento(expressao: any): any;
18
- eVerdadeiro(objeto: any): boolean;
19
- verificarOperandoNumero(operador: SimboloInterface, operando: any): void;
20
17
  visitarExpressaoUnaria(expressao: any): any;
21
- eIgual(esquerda: any, direita: any): boolean;
22
- verificarOperandosNumeros(operador: SimboloInterface, direita: any, esquerda: any): void;
23
18
  visitarExpressaoBinaria(expressao: any): any;
24
19
  visitarExpressaoDeChamada(expressao: any): any;
25
- visitarExpressaoDeAtribuicao(expressao: Atribuir): any;
26
- procurarVariavel(nome: SimboloInterface, expressao: any): any;
20
+ visitarDeclaracaoDeAtribuicao(expressao: Atribuir): any;
27
21
  visitarExpressaoDeVariavel(expressao: any): any;
28
22
  visitarDeclaracaoDeExpressao(declaracao: Expressao): any;
29
23
  visitarExpressaoLeia(expressao: Leia): any;
30
24
  visitarExpressaoLogica(expressao: any): any;
31
- visitarExpressaoSe(declaracao: Se): any;
32
- visitarExpressaoPara(declaracao: Para): any;
33
- visitarExpressaoFazer(declaracao: Fazer): any;
25
+ visitarDeclaracaoSe(declaracao: Se): any;
26
+ visitarDeclaracaoPara(declaracao: Para): any;
27
+ visitarDeclaracaoFazer(declaracao: Fazer): any;
34
28
  visitarExpressaoFormatacaoEscrita(declaracao: FormatacaoEscrita): any;
35
- visitarExpressaoEscolha(declaracao: Escolha): any;
36
- visitarExpressaoTente(declaracao: Tente): any;
37
- visitarExpressaoEnquanto(declaracao: Enquanto): any;
38
- visitarExpressaoImportar(declaracao: Importar): any;
39
- visitarExpressaoEscreva(declaracao: Escreva): any;
29
+ visitarDeclaracaoEscolha(declaracao: Escolha): any;
30
+ visitarDeclaracaoTente(declaracao: Tente): any;
31
+ visitarDeclaracaoEnquanto(declaracao: Enquanto): any;
32
+ visitarDeclaracaoImportar(declaracao: Importar): any;
33
+ visitarDeclaracaoEscreva(declaracao: Escreva): any;
40
34
  visitarExpressaoEscrevaMesmaLinha(declaracao: EscrevaMesmaLinha): any;
41
35
  executarBloco(declaracoes: Declaracao[], ambiente?: EspacoVariaveis): Promise<any>;
42
36
  visitarExpressaoBloco(declaracao: Bloco): Promise<any>;
43
- visitarExpressaoVar(declaracao: Var): Promise<any>;
37
+ visitarDeclaracaoVar(declaracao: Var): Promise<any>;
44
38
  visitarExpressaoContinua(declaracao?: Continua): ContinuarQuebra;
45
39
  visitarExpressaoSustar(declaracao?: Sustar): SustarQuebra;
46
40
  visitarExpressaoRetornar(declaracao: Retorna): Promise<RetornoQuebra>;
@@ -48,8 +42,8 @@ export interface InterpretadorInterface {
48
42
  visitarExpressaoAtribuicaoSobrescrita(expressao: any): Promise<any>;
49
43
  visitarExpressaoAcessoIndiceVariavel(expressao: any): any;
50
44
  visitarExpressaoDefinirValor(expressao: any): any;
51
- visitarExpressaoFuncao(declaracao: FuncaoDeclaracao): any;
52
- visitarExpressaoClasse(declaracao: Classe): any;
45
+ visitarDeclaracaoDefinicaoFuncao(declaracao: FuncaoDeclaracao): any;
46
+ visitarDeclaracaoClasse(declaracao: Classe): any;
53
47
  visitarExpressaoAcessoMetodo(expressao: any): any;
54
48
  visitarExpressaoIsto(expressao: any): any;
55
49
  visitarExpressaoDicionario(expressao: any): any;
@@ -9,12 +9,13 @@ export interface PilhaEscoposExecucaoInterface extends PilhaInterface<EscopoExec
9
9
  definirVariavel(nomeVariavel: string, valor: any): void;
10
10
  elementos(): number;
11
11
  naPosicao(posicao: number): EscopoExecucao;
12
+ obterEscopoPorTipo(idChamada: string): EscopoExecucao | undefined;
12
13
  obterTodasVariaveis(todasVariaveis: any[]): {
13
14
  valor: any;
14
15
  nome: string;
15
16
  tipo: string;
16
17
  }[];
17
- obterVariavel(simbolo: SimboloInterface): VariavelInterface;
18
+ obterValorVariavel(simbolo: SimboloInterface): VariavelInterface;
18
19
  obterVariavelEm(distancia: number, nome: string): VariavelInterface;
19
20
  obterVariavelPorNome(nome: string): VariavelInterface;
20
21
  obterTodasDeleguaFuncao(): {
@@ -18,24 +18,12 @@ export interface ResolvedorInterface {
18
18
  resolverLocal(expressao: any, nome: any): void;
19
19
  visitarExpressaoBloco(declaracao: any): any;
20
20
  visitarExpressaoDeVariavel(expressao: any): any;
21
- visitarExpressaoVar(declaracao: any): any;
22
- visitarExpressaoDeAtribuicao(expressao: any): any;
23
21
  resolverFuncao(funcao: any, funcType: any): void;
24
- visitarExpressaoFuncao(declaracao: any): any;
25
22
  visitarExpressaoDeleguaFuncao(declaracao: any): any;
26
- visitarExpressaoTente(declaracao: any): any;
27
- visitarExpressaoClasse(declaracao: any): any;
28
23
  visitarExpressaoSuper(expressao: any): any;
29
24
  visitarExpressaoAcessoMetodo(expressao: any): any;
30
25
  visitarDeclaracaoDeExpressao(declaracao: any): any;
31
- visitarExpressaoSe(declaracao: any): any;
32
- visitarExpressaoImportar(declaracao: any): void;
33
- visitarExpressaoEscreva(declaracao: any): void;
34
26
  visitarExpressaoRetornar(declaracao: any): any;
35
- visitarExpressaoEscolha(declaracao: any): void;
36
- visitarExpressaoEnquanto(declaracao: any): any;
37
- visitarExpressaoPara(declaracao: any): any;
38
- visitarExpressaoFazer(declaracao: any): any;
39
27
  visitarExpressaoBinaria(expressao: any): any;
40
28
  visitarExpressaoDeChamada(expressao: any): any;
41
29
  visitarExpressaoAgrupamento(expressao: any): any;
@@ -35,19 +35,19 @@ export declare class InterpretadorEguaClassico implements InterpretadorInterface
35
35
  verificarOperandosNumeros(operador: SimboloInterface, direita: VariavelInterface | any, esquerda: VariavelInterface | any): void;
36
36
  visitarExpressaoBinaria(expressao: any): Promise<any>;
37
37
  visitarExpressaoDeChamada(expressao: any): Promise<any>;
38
- visitarExpressaoDeAtribuicao(expressao: Atribuir): Promise<any>;
38
+ visitarDeclaracaoDeAtribuicao(expressao: Atribuir): Promise<any>;
39
39
  procurarVariavel(simbolo: SimboloInterface, expressao: any): VariavelInterface;
40
40
  visitarExpressaoDeVariavel(expressao: Variavel): VariavelInterface;
41
41
  visitarDeclaracaoDeExpressao(declaracao: Expressao): Promise<any>;
42
42
  visitarExpressaoLogica(expressao: any): Promise<any>;
43
- visitarExpressaoSe(declaracao: Se): Promise<any>;
44
- visitarExpressaoPara(declaracao: Para): Promise<any>;
45
- visitarExpressaoFazer(declaracao: Fazer): Promise<any>;
46
- visitarExpressaoEscolha(declaracao: Escolha): Promise<void>;
47
- visitarExpressaoTente(declaracao: Tente): Promise<any>;
48
- visitarExpressaoEnquanto(declaracao: Enquanto): Promise<any>;
49
- visitarExpressaoImportar(declaracao: Importar): Promise<any>;
50
- visitarExpressaoEscreva(declaracao: Escreva): Promise<any>;
43
+ visitarDeclaracaoSe(declaracao: Se): Promise<any>;
44
+ visitarDeclaracaoPara(declaracao: Para): Promise<any>;
45
+ visitarDeclaracaoFazer(declaracao: Fazer): Promise<any>;
46
+ visitarDeclaracaoEscolha(declaracao: Escolha): Promise<void>;
47
+ visitarDeclaracaoTente(declaracao: Tente): Promise<any>;
48
+ visitarDeclaracaoEnquanto(declaracao: Enquanto): Promise<any>;
49
+ visitarDeclaracaoImportar(declaracao: Importar): Promise<any>;
50
+ visitarDeclaracaoEscreva(declaracao: Escreva): Promise<any>;
51
51
  /**
52
52
  * Empilha declarações na pilha de escopos de execução, cria um novo ambiente e
53
53
  * executa as declarações empilhadas.
@@ -65,7 +65,7 @@ export declare class InterpretadorEguaClassico implements InterpretadorInterface
65
65
  * @param declaracao A declaração Var
66
66
  * @returns Sempre retorna nulo.
67
67
  */
68
- visitarExpressaoVar(declaracao: Var): Promise<any>;
68
+ visitarDeclaracaoVar(declaracao: Var): Promise<any>;
69
69
  visitarExpressaoContinua(declaracao?: any): ContinuarQuebra;
70
70
  visitarExpressaoSustar(declaracao?: any): SustarQuebra;
71
71
  visitarExpressaoRetornar(declaracao: any): Promise<RetornoQuebra>;
@@ -73,8 +73,8 @@ export declare class InterpretadorEguaClassico implements InterpretadorInterface
73
73
  visitarExpressaoAtribuicaoSobrescrita(expressao: any): Promise<void>;
74
74
  visitarExpressaoAcessoIndiceVariavel(expressao: AcessoIndiceVariavel | any): Promise<any>;
75
75
  visitarExpressaoDefinirValor(expressao: any): Promise<any>;
76
- visitarExpressaoFuncao(declaracao: FuncaoDeclaracao): void;
77
- visitarExpressaoClasse(declaracao: Classe): Promise<any>;
76
+ visitarDeclaracaoDefinicaoFuncao(declaracao: FuncaoDeclaracao): void;
77
+ visitarDeclaracaoClasse(declaracao: Classe): Promise<any>;
78
78
  visitarExpressaoAcessoMetodo(expressao: any): Promise<any>;
79
79
  visitarExpressaoIsto(expressao: any): VariavelInterface;
80
80
  visitarExpressaoDicionario(expressao: any): Promise<{}>;
@@ -63,6 +63,8 @@ class InterpretadorEguaClassico {
63
63
  declaracoes: [],
64
64
  declaracaoAtual: 0,
65
65
  ambiente: new espaco_variaveis_1.EspacoVariaveis(),
66
+ finalizado: false,
67
+ tipo: 'outro'
66
68
  };
67
69
  this.pilhaEscoposExecucao.empilhar(escopoExecucao);
68
70
  (0, biblioteca_global_1.default)(this, this.pilhaEscoposExecucao);
@@ -274,13 +276,13 @@ class InterpretadorEguaClassico {
274
276
  }
275
277
  return entidadeChamada.chamar(this, argumentos);
276
278
  }
277
- async visitarExpressaoDeAtribuicao(expressao) {
279
+ async visitarDeclaracaoDeAtribuicao(expressao) {
278
280
  const valor = await this.avaliar(expressao.valor);
279
281
  this.pilhaEscoposExecucao.atribuirVariavel(expressao.simbolo, valor);
280
282
  return valor;
281
283
  }
282
284
  procurarVariavel(simbolo, expressao) {
283
- return this.pilhaEscoposExecucao.obterVariavel(simbolo);
285
+ return this.pilhaEscoposExecucao.obterValorVariavel(simbolo);
284
286
  }
285
287
  visitarExpressaoDeVariavel(expressao) {
286
288
  return this.procurarVariavel(expressao.simbolo, expressao);
@@ -314,7 +316,7 @@ class InterpretadorEguaClassico {
314
316
  }
315
317
  return await this.avaliar(expressao.direita);
316
318
  }
317
- async visitarExpressaoSe(declaracao) {
319
+ async visitarDeclaracaoSe(declaracao) {
318
320
  if (this.eVerdadeiro(await this.avaliar(declaracao.condicao))) {
319
321
  return await this.executar(declaracao.caminhoEntao);
320
322
  }
@@ -329,7 +331,7 @@ class InterpretadorEguaClassico {
329
331
  }
330
332
  return null;
331
333
  }
332
- async visitarExpressaoPara(declaracao) {
334
+ async visitarDeclaracaoPara(declaracao) {
333
335
  if (declaracao.inicializador !== null) {
334
336
  await this.avaliar(declaracao.inicializador);
335
337
  }
@@ -351,7 +353,7 @@ class InterpretadorEguaClassico {
351
353
  }
352
354
  return null;
353
355
  }
354
- async visitarExpressaoFazer(declaracao) {
356
+ async visitarDeclaracaoFazer(declaracao) {
355
357
  do {
356
358
  try {
357
359
  await this.executar(declaracao.caminhoFazer);
@@ -361,7 +363,7 @@ class InterpretadorEguaClassico {
361
363
  }
362
364
  } while (this.eVerdadeiro(await this.avaliar(declaracao.condicaoEnquanto)));
363
365
  }
364
- async visitarExpressaoEscolha(declaracao) {
366
+ async visitarDeclaracaoEscolha(declaracao) {
365
367
  const condicaoEscolha = await this.avaliar(declaracao.identificadorOuLiteral);
366
368
  const caminhos = declaracao.caminhos;
367
369
  const caminhoPadrao = declaracao.caminhoPadrao;
@@ -393,7 +395,7 @@ class InterpretadorEguaClassico {
393
395
  throw erro;
394
396
  }
395
397
  }
396
- async visitarExpressaoTente(declaracao) {
398
+ async visitarDeclaracaoTente(declaracao) {
397
399
  let valorRetorno;
398
400
  try {
399
401
  let sucesso = true;
@@ -419,7 +421,7 @@ class InterpretadorEguaClassico {
419
421
  }
420
422
  return valorRetorno;
421
423
  }
422
- async visitarExpressaoEnquanto(declaracao) {
424
+ async visitarDeclaracaoEnquanto(declaracao) {
423
425
  while (this.eVerdadeiro(await this.avaliar(declaracao.condicao))) {
424
426
  try {
425
427
  await this.executar(declaracao.corpo);
@@ -430,7 +432,7 @@ class InterpretadorEguaClassico {
430
432
  }
431
433
  return null;
432
434
  }
433
- async visitarExpressaoImportar(declaracao) {
435
+ async visitarDeclaracaoImportar(declaracao) {
434
436
  const caminhoRelativo = await this.avaliar(declaracao.caminho);
435
437
  const caminhoTotal = caminho.join(this.diretorioBase, caminhoRelativo);
436
438
  // const nomeArquivo = caminho.basename(caminhoTotal);
@@ -460,7 +462,7 @@ class InterpretadorEguaClassico {
460
462
  }
461
463
  return exportar;
462
464
  }
463
- async visitarExpressaoEscreva(declaracao) {
465
+ async visitarDeclaracaoEscreva(declaracao) {
464
466
  try {
465
467
  const resultadoAvaliacao = await this.avaliar(declaracao.argumentos[0]);
466
468
  let valor = (resultadoAvaliacao === null || resultadoAvaliacao === void 0 ? void 0 : resultadoAvaliacao.hasOwnProperty('valor'))
@@ -492,6 +494,8 @@ class InterpretadorEguaClassico {
492
494
  declaracoes: declaracoes,
493
495
  declaracaoAtual: 0,
494
496
  ambiente: ambiente || new espaco_variaveis_1.EspacoVariaveis(),
497
+ finalizado: false,
498
+ tipo: 'outro'
495
499
  };
496
500
  this.pilhaEscoposExecucao.empilhar(escopoExecucao);
497
501
  const retornoUltimoEscopo = await this.executarUltimoEscopo();
@@ -508,7 +512,7 @@ class InterpretadorEguaClassico {
508
512
  * @param declaracao A declaração Var
509
513
  * @returns Sempre retorna nulo.
510
514
  */
511
- async visitarExpressaoVar(declaracao) {
515
+ async visitarDeclaracaoVar(declaracao) {
512
516
  let valorOuOutraVariavel = null;
513
517
  if (declaracao.inicializador !== null) {
514
518
  valorOuOutraVariavel = await this.avaliar(declaracao.inicializador);
@@ -620,11 +624,11 @@ class InterpretadorEguaClassico {
620
624
  objeto[expressao.simbolo.lexema] = valor;
621
625
  }
622
626
  }
623
- visitarExpressaoFuncao(declaracao) {
627
+ visitarDeclaracaoDefinicaoFuncao(declaracao) {
624
628
  const funcao = new delegua_funcao_1.DeleguaFuncao(declaracao.simbolo.lexema, declaracao.funcao);
625
629
  this.pilhaEscoposExecucao.definirVariavel(declaracao.simbolo.lexema, funcao);
626
630
  }
627
- async visitarExpressaoClasse(declaracao) {
631
+ async visitarDeclaracaoClasse(declaracao) {
628
632
  let superClasse = null;
629
633
  if (declaracao.superClasse !== null) {
630
634
  const variavelSuperClasse = await this.avaliar(declaracao.superClasse);
@@ -757,6 +761,8 @@ class InterpretadorEguaClassico {
757
761
  declaracoes: declaracoes,
758
762
  declaracaoAtual: 0,
759
763
  ambiente: new espaco_variaveis_1.EspacoVariaveis(),
764
+ finalizado: false,
765
+ tipo: 'outro'
760
766
  };
761
767
  this.pilhaEscoposExecucao.empilhar(escopoExecucao);
762
768
  await this.executarUltimoEscopo();
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-egua-classico.js","sourceRoot":"","sources":["../../../../../fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpretador-egua-classico.js","sourceRoot":"","sources":["../../../../../fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.ts"],"names":[],"mappings":"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"}
@@ -51,24 +51,24 @@ export declare class ResolvedorEguaClassico implements ResolvedorInterface, Inte
51
51
  resolverLocal(expressao: Construto, simbolo: SimboloInterface): void;
52
52
  visitarExpressaoBloco(declaracao: Bloco): any;
53
53
  visitarExpressaoDeVariavel(expressao: Variavel): any;
54
- visitarExpressaoVar(declaracao: any): any;
55
- visitarExpressaoDeAtribuicao(expressao: any): any;
54
+ visitarDeclaracaoVar(declaracao: any): any;
55
+ visitarDeclaracaoDeAtribuicao(expressao: any): any;
56
56
  resolverFuncao(funcao: any, funcType: any): void;
57
- visitarExpressaoFuncao(declaracao: any): any;
57
+ visitarDeclaracaoDefinicaoFuncao(declaracao: any): any;
58
58
  visitarExpressaoDeleguaFuncao(declaracao: any): any;
59
- visitarExpressaoTente(declaracao: any): any;
60
- visitarExpressaoClasse(declaracao: any): any;
59
+ visitarDeclaracaoTente(declaracao: any): any;
60
+ visitarDeclaracaoClasse(declaracao: any): any;
61
61
  visitarExpressaoSuper(expressao: Super): any;
62
62
  visitarExpressaoAcessoMetodo(expressao: AcessoMetodo): any;
63
63
  visitarDeclaracaoDeExpressao(declaracao: Expressao): any;
64
- visitarExpressaoSe(declaracao: Se): any;
65
- visitarExpressaoImportar(declaracao: any): void;
66
- visitarExpressaoEscreva(declaracao: any): void;
64
+ visitarDeclaracaoSe(declaracao: Se): any;
65
+ visitarDeclaracaoImportar(declaracao: any): void;
66
+ visitarDeclaracaoEscreva(declaracao: any): void;
67
67
  visitarExpressaoRetornar(declaracao: any): any;
68
- visitarExpressaoEscolha(declaracao: any): void;
69
- visitarExpressaoEnquanto(declaracao: any): any;
70
- visitarExpressaoPara(declaracao: any): any;
71
- visitarExpressaoFazer(declaracao: any): any;
68
+ visitarDeclaracaoEscolha(declaracao: any): void;
69
+ visitarDeclaracaoEnquanto(declaracao: any): any;
70
+ visitarDeclaracaoPara(declaracao: any): any;
71
+ visitarDeclaracaoFazer(declaracao: any): any;
72
72
  visitarExpressaoBinaria(expressao: any): any;
73
73
  visitarExpressaoDeChamada(expressao: any): any;
74
74
  visitarExpressaoAgrupamento(expressao: any): any;
@@ -127,7 +127,7 @@ class ResolvedorEguaClassico {
127
127
  this.resolverLocal(expressao, expressao.simbolo);
128
128
  return null;
129
129
  }
130
- visitarExpressaoVar(declaracao) {
130
+ visitarDeclaracaoVar(declaracao) {
131
131
  this.declarar(declaracao.simbolo);
132
132
  if (declaracao.inicializador !== null) {
133
133
  this.resolver(declaracao.inicializador);
@@ -135,7 +135,7 @@ class ResolvedorEguaClassico {
135
135
  this.definir(declaracao.simbolo);
136
136
  return null;
137
137
  }
138
- visitarExpressaoDeAtribuicao(expressao) {
138
+ visitarDeclaracaoDeAtribuicao(expressao) {
139
139
  this.resolver(expressao.valor);
140
140
  this.resolverLocal(expressao, expressao.simbolo);
141
141
  return null;
@@ -155,7 +155,7 @@ class ResolvedorEguaClassico {
155
155
  this.finalDoEscopo();
156
156
  this.funcaoAtual = enclosingFunc;
157
157
  }
158
- visitarExpressaoFuncao(declaracao) {
158
+ visitarDeclaracaoDefinicaoFuncao(declaracao) {
159
159
  this.declarar(declaracao.simbolo);
160
160
  this.definir(declaracao.simbolo);
161
161
  this.resolverFuncao(declaracao.funcao, TipoFuncao.FUNÇÃO);
@@ -165,7 +165,7 @@ class ResolvedorEguaClassico {
165
165
  this.resolverFuncao(declaracao, TipoFuncao.FUNÇÃO);
166
166
  return null;
167
167
  }
168
- visitarExpressaoTente(declaracao) {
168
+ visitarDeclaracaoTente(declaracao) {
169
169
  this.resolver(declaracao.caminhoTente);
170
170
  if (declaracao.caminhoPegue !== null)
171
171
  this.resolver(declaracao.caminhoPegue);
@@ -174,7 +174,7 @@ class ResolvedorEguaClassico {
174
174
  if (declaracao.caminhoFinalmente !== null)
175
175
  this.resolver(declaracao.caminhoFinalmente);
176
176
  }
177
- visitarExpressaoClasse(declaracao) {
177
+ visitarDeclaracaoClasse(declaracao) {
178
178
  const enclosingClass = this.classeAtual;
179
179
  this.classeAtual = TipoClasse.CLASSE;
180
180
  this.declarar(declaracao.simbolo);
@@ -228,7 +228,7 @@ class ResolvedorEguaClassico {
228
228
  this.resolver(declaracao.expressao);
229
229
  return null;
230
230
  }
231
- visitarExpressaoSe(declaracao) {
231
+ visitarDeclaracaoSe(declaracao) {
232
232
  this.resolver(declaracao.condicao);
233
233
  this.resolver(declaracao.caminhoEntao);
234
234
  for (let i = 0; i < declaracao.caminhosSeSenao.length; i++) {
@@ -239,10 +239,10 @@ class ResolvedorEguaClassico {
239
239
  this.resolver(declaracao.caminhoSenao);
240
240
  return null;
241
241
  }
242
- visitarExpressaoImportar(declaracao) {
242
+ visitarDeclaracaoImportar(declaracao) {
243
243
  this.resolver(declaracao.caminho);
244
244
  }
245
- visitarExpressaoEscreva(declaracao) {
245
+ visitarDeclaracaoEscreva(declaracao) {
246
246
  this.resolver(declaracao.expressao);
247
247
  }
248
248
  visitarExpressaoRetornar(declaracao) {
@@ -259,7 +259,7 @@ class ResolvedorEguaClassico {
259
259
  }
260
260
  return null;
261
261
  }
262
- visitarExpressaoEscolha(declaracao) {
262
+ visitarDeclaracaoEscolha(declaracao) {
263
263
  const enclosingType = this.cicloAtual;
264
264
  this.cicloAtual = LoopType.ESCOLHA;
265
265
  const caminhos = declaracao.caminhos;
@@ -271,12 +271,12 @@ class ResolvedorEguaClassico {
271
271
  this.resolver(caminhoPadrao['declaracoes']);
272
272
  this.cicloAtual = enclosingType;
273
273
  }
274
- visitarExpressaoEnquanto(declaracao) {
274
+ visitarDeclaracaoEnquanto(declaracao) {
275
275
  this.resolver(declaracao.condicao);
276
276
  this.resolver(declaracao.corpo);
277
277
  return null;
278
278
  }
279
- visitarExpressaoPara(declaracao) {
279
+ visitarDeclaracaoPara(declaracao) {
280
280
  if (declaracao.inicializador !== null) {
281
281
  this.resolver(declaracao.inicializador);
282
282
  }
@@ -292,7 +292,7 @@ class ResolvedorEguaClassico {
292
292
  this.cicloAtual = enclosingType;
293
293
  return null;
294
294
  }
295
- visitarExpressaoFazer(declaracao) {
295
+ visitarDeclaracaoFazer(declaracao) {
296
296
  this.resolver(declaracao.condicaoEnquanto);
297
297
  const enclosingType = this.cicloAtual;
298
298
  this.cicloAtual = LoopType.FAZER;