@designliquido/delegua 0.64.1 → 0.66.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 (38) hide show
  1. package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts +83 -0
  2. package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts.map +1 -0
  3. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +748 -0
  4. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -0
  5. package/analisador-semantico/dialetos/index.d.ts +2 -0
  6. package/analisador-semantico/dialetos/index.d.ts.map +1 -0
  7. package/analisador-semantico/dialetos/index.js +18 -0
  8. package/analisador-semantico/dialetos/index.js.map +1 -0
  9. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +3 -0
  10. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  11. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +155 -50
  12. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  13. package/bin/package.json +1 -1
  14. package/interpretador/depuracao/avaliador-expressao-depuracao.d.ts +66 -0
  15. package/interpretador/depuracao/avaliador-expressao-depuracao.d.ts.map +1 -0
  16. package/interpretador/depuracao/avaliador-expressao-depuracao.js +145 -0
  17. package/interpretador/depuracao/avaliador-expressao-depuracao.js.map +1 -0
  18. package/interpretador/depuracao/comum.d.ts +11 -1
  19. package/interpretador/depuracao/comum.d.ts.map +1 -1
  20. package/interpretador/depuracao/comum.js +219 -3
  21. package/interpretador/depuracao/comum.js.map +1 -1
  22. package/interpretador/depuracao/index.d.ts +1 -0
  23. package/interpretador/depuracao/index.d.ts.map +1 -1
  24. package/interpretador/depuracao/index.js +1 -0
  25. package/interpretador/depuracao/index.js.map +1 -1
  26. package/interpretador/depuracao/interpretador-base-com-depuracao.d.ts +35 -3
  27. package/interpretador/depuracao/interpretador-base-com-depuracao.d.ts.map +1 -1
  28. package/interpretador/depuracao/interpretador-base-com-depuracao.js +50 -3
  29. package/interpretador/depuracao/interpretador-base-com-depuracao.js.map +1 -1
  30. package/interpretador/depuracao/interpretador-com-depuracao.d.ts +12 -3
  31. package/interpretador/depuracao/interpretador-com-depuracao.d.ts.map +1 -1
  32. package/interpretador/depuracao/interpretador-com-depuracao.js +27 -3
  33. package/interpretador/depuracao/interpretador-com-depuracao.js.map +1 -1
  34. package/interpretador/interpretador-base.d.ts.map +1 -1
  35. package/interpretador/interpretador-base.js +2 -0
  36. package/interpretador/interpretador-base.js.map +1 -1
  37. package/package.json +1 -1
  38. package/umd/delegua.js +157 -50
@@ -0,0 +1,83 @@
1
+ import { ArgumentoReferenciaFuncao, Atribuir, Chamada, Construto, FormatacaoEscrita, Literal, ReferenciaFuncao, TipoDe, Variavel } from '../../construtos';
2
+ import { Const, Declaracao, Enquanto, Escolha, Escreva, Expressao, Falhar, FuncaoDeclaracao, Retorna } from '../../declaracoes';
3
+ import { ParametroInterface, SimboloInterface } from '../../interfaces';
4
+ import { DiagnosticoAnalisadorSemantico } from '../../interfaces/erros';
5
+ import { RetornoAnalisadorSemantico } from '../../interfaces/retornos/retorno-analisador-semantico';
6
+ import { RetornoQuebra } from '../../quebras';
7
+ import { AnalisadorSemanticoBase } from '../analisador-semantico-base';
8
+ import { FuncaoHipoteticaInterface } from '../funcao-hipotetica-interface';
9
+ import { PilhaVariaveis } from '../pilha-variaveis';
10
+ /**
11
+ * O Analisador Semântico de Pituguês.
12
+ */
13
+ export declare class AnalisadorSemanticoPitugues extends AnalisadorSemanticoBase {
14
+ pilhaVariaveis: PilhaVariaveis;
15
+ funcoes: {
16
+ [nomeFuncao: string]: FuncaoHipoteticaInterface;
17
+ };
18
+ atual: number;
19
+ diagnosticos: DiagnosticoAnalisadorSemantico[];
20
+ constructor();
21
+ verificarTipoAtribuido(declaracao: any): void;
22
+ visitarExpressaoTipoDe(expressao: TipoDe): Promise<any>;
23
+ private verificarTipoDe;
24
+ visitarExpressaoFalhar(expressao: Falhar): Promise<any>;
25
+ private verificarFalhar;
26
+ protected comparacaoArgumentosContraParametrosFuncao(simboloFuncao: SimboloInterface, parametros: ParametroInterface[], argumentos: Construto[]): void;
27
+ visitarChamadaPorArgumentoReferenciaFuncao(argumentoReferenciaFuncao: ArgumentoReferenciaFuncao, argumentos: Construto[]): void;
28
+ visitarChamadaPorReferenciaFuncao(referenciaFuncao: ReferenciaFuncao, argumentos: Construto[]): void;
29
+ visitarChamadaPorVariavel(entidadeChamadaVariavel: Variavel, argumentos: Construto[]): Promise<void>;
30
+ visitarExpressaoDeChamada(expressao: Chamada): Promise<void>;
31
+ visitarExpressaoDeAtribuicao(expressao: Atribuir): Promise<void>;
32
+ visitarDeclaracaoDeExpressao(declaracao: Expressao): Promise<any>;
33
+ visitarDeclaracaoEscolha(declaracao: Escolha): Promise<void>;
34
+ visitarDeclaracaoEnquanto(declaracao: Enquanto): Promise<void>;
35
+ private verificarCondicao;
36
+ private verificarVariavelBinaria;
37
+ private verificarVariavel;
38
+ private verificarBinario;
39
+ private verificarOperadorBinario;
40
+ /**
41
+ * Verifica se os tipos dos operandos são compatíveis
42
+ */
43
+ private verificarTiposOperandos;
44
+ /**
45
+ * Verifica divisão por zero recursivamente
46
+ */
47
+ private verificarDivisaoPorZero;
48
+ /**
49
+ * Tenta avaliar uma expressão em tempo de compilação para detectar valores constantes
50
+ * Retorna o valor se puder ser determinado, ou null caso contrário
51
+ */
52
+ private avaliarExpressaoConstante;
53
+ /**
54
+ * Calcula o resultado de uma operação binária em tempo de compilação
55
+ */
56
+ private calcularOperacaoBinaria;
57
+ /**
58
+ * Obtém o tipo de uma expressão (pode ser Literal, Variavel, ou Binario)
59
+ */
60
+ private obterTipoExpressao;
61
+ /**
62
+ * Infere o tipo de resultado de uma operação binária
63
+ */
64
+ private inferirTipoBinario;
65
+ private verificarExistenciaConstruto;
66
+ private verificarLogico;
67
+ private verificarChamada;
68
+ private verificarLadoLogico;
69
+ /**
70
+ * Verifica interpolações de texto e marca variáveis como usadas
71
+ */
72
+ protected verificarInterpolacaoTexto(texto: string, literal: Literal): void;
73
+ visitarDeclaracaoEscreva(declaracao: Escreva): Promise<void>;
74
+ visitarDeclaracaoConst(declaracao: Const): Promise<any>;
75
+ visitarDeclaracaoVar(declaracao: any): Promise<any>;
76
+ visitarExpressaoFormatacaoEscrita(expressao: FormatacaoEscrita): Promise<any>;
77
+ visitarExpressaoRetornar(declaracao: Retorna): Promise<RetornoQuebra>;
78
+ visitarExpressaoDeVariavel(expressao: Variavel | Construto): Promise<any>;
79
+ visitarDeclaracaoDefinicaoFuncao(declaracao: FuncaoDeclaracao): Promise<any>;
80
+ verificarVariaveisNaoUsadas(): void;
81
+ analisar(declaracoes: Declaracao[]): RetornoAnalisadorSemantico;
82
+ }
83
+ //# sourceMappingURL=analisador-semantico-pitugues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analisador-semantico-pitugues.d.ts","sourceRoot":"","sources":["../../../fontes/analisador-semantico/dialetos/analisador-semantico-pitugues.ts"],"names":[],"mappings":"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"}