@designliquido/delegua 0.65.0 → 0.67.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 +83 -0
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts.map +1 -0
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +748 -0
- package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -0
- package/analisador-semantico/dialetos/index.d.ts +2 -0
- package/analisador-semantico/dialetos/index.d.ts.map +1 -0
- package/analisador-semantico/dialetos/index.js +18 -0
- package/analisador-semantico/dialetos/index.js.map +1 -0
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +3 -0
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +54 -12
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
- package/bin/package.json +1 -1
- package/estilizador/estilizador-delegua.d.ts +55 -0
- package/estilizador/estilizador-delegua.d.ts.map +1 -0
- package/estilizador/estilizador-delegua.js +228 -0
- package/estilizador/estilizador-delegua.js.map +1 -0
- package/estilizador/index.d.ts +3 -0
- package/estilizador/index.d.ts.map +1 -0
- package/estilizador/index.js +19 -0
- package/estilizador/index.js.map +1 -0
- package/estilizador/regras/convencao-nomenclatura.d.ts +79 -0
- package/estilizador/regras/convencao-nomenclatura.d.ts.map +1 -0
- package/estilizador/regras/convencao-nomenclatura.js +148 -0
- package/estilizador/regras/convencao-nomenclatura.js.map +1 -0
- package/estilizador/regras/fortalecer-tipos.d.ts +28 -0
- package/estilizador/regras/fortalecer-tipos.d.ts.map +1 -0
- package/estilizador/regras/fortalecer-tipos.js +84 -0
- package/estilizador/regras/fortalecer-tipos.js.map +1 -0
- package/estilizador/regras/index.d.ts +3 -0
- package/estilizador/regras/index.d.ts.map +1 -0
- package/estilizador/regras/index.js +19 -0
- package/estilizador/regras/index.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/interfaces/estilizador-comum-interface.d.ts +85 -0
- package/interfaces/estilizador-comum-interface.d.ts.map +1 -0
- package/interfaces/estilizador-comum-interface.js +3 -0
- package/interfaces/estilizador-comum-interface.js.map +1 -0
- package/interfaces/index.d.ts +1 -0
- package/interfaces/index.d.ts.map +1 -1
- package/interfaces/index.js +1 -0
- package/interfaces/index.js.map +1 -1
- package/interpretador/depuracao/avaliador-expressao-depuracao.d.ts.map +1 -1
- package/interpretador/depuracao/avaliador-expressao-depuracao.js +2 -8
- package/interpretador/depuracao/avaliador-expressao-depuracao.js.map +1 -1
- package/interpretador/depuracao/comum.d.ts +11 -1
- package/interpretador/depuracao/comum.d.ts.map +1 -1
- package/interpretador/depuracao/comum.js +223 -3
- package/interpretador/depuracao/comum.js.map +1 -1
- package/interpretador/depuracao/interpretador-base-com-depuracao.d.ts +35 -3
- package/interpretador/depuracao/interpretador-base-com-depuracao.d.ts.map +1 -1
- package/interpretador/depuracao/interpretador-base-com-depuracao.js +50 -3
- package/interpretador/depuracao/interpretador-base-com-depuracao.js.map +1 -1
- package/interpretador/depuracao/interpretador-com-depuracao.d.ts +12 -3
- package/interpretador/depuracao/interpretador-com-depuracao.d.ts.map +1 -1
- package/interpretador/depuracao/interpretador-com-depuracao.js +27 -3
- package/interpretador/depuracao/interpretador-com-depuracao.js.map +1 -1
- package/interpretador/interpretador-base.d.ts.map +1 -1
- package/interpretador/interpretador-base.js +2 -0
- package/interpretador/interpretador-base.js.map +1 -1
- package/package.json +1 -1
- package/umd/delegua.js +916 -363
|
@@ -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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"}
|