@designliquido/delegua 0.20.0 → 0.20.1
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 +1 -1
- package/fontes/analisador-semantico/analisador-semantico.d.ts +32 -33
- package/fontes/analisador-semantico/analisador-semantico.js +47 -46
- package/fontes/analisador-semantico/analisador-semantico.js.map +1 -1
- package/fontes/interfaces/analisador-semantico-interface.d.ts +0 -2
- package/package.json +1 -1
package/bin/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Literal,
|
|
2
|
-
import { Declaracao, Expressao, Leia, Para, ParaCada, Se, Fazer, Escolha, Tente, Enquanto, Importar, Escreva, EscrevaMesmaLinha, Bloco, Var, Const, Continua, Sustar, Retorna, FuncaoDeclaracao, Classe } from
|
|
3
|
-
import { AnalisadorSemanticoInterface } from
|
|
4
|
-
import { ErroAnalisadorSemantico } from
|
|
5
|
-
import { RetornoAnalisadorSemantico } from
|
|
6
|
-
import { ContinuarQuebra, SustarQuebra, RetornoQuebra } from
|
|
7
|
-
import { PilhaVariaveis } from
|
|
1
|
+
import { Literal, Atribuir, FimPara, FormatacaoEscrita, Super } 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';
|
|
3
|
+
import { AnalisadorSemanticoInterface } from '../interfaces/analisador-semantico-interface';
|
|
4
|
+
import { ErroAnalisadorSemantico } from '../interfaces/erros';
|
|
5
|
+
import { RetornoAnalisadorSemantico } from '../interfaces/retornos/retorno-analisador-semantico';
|
|
6
|
+
import { ContinuarQuebra, SustarQuebra, RetornoQuebra } from '../quebras';
|
|
7
|
+
import { PilhaVariaveis } from './pilha-variaveis';
|
|
8
8
|
interface VariavelHipoteticaInterface {
|
|
9
9
|
tipo: 'texto' | 'número' | 'longo' | 'vetor' | 'dicionário' | 'nulo' | 'lógico' | 'função' | 'símbolo' | 'objeto' | 'módulo';
|
|
10
10
|
subtipo?: 'texto' | 'número' | 'longo' | 'lógico';
|
|
@@ -19,45 +19,44 @@ export declare class AnalisadorSemantico implements AnalisadorSemanticoInterface
|
|
|
19
19
|
erros: ErroAnalisadorSemantico[];
|
|
20
20
|
constructor();
|
|
21
21
|
visitarExpressaoLiteral(expressao: Literal): Promise<any>;
|
|
22
|
-
avaliar(expressao: Construto | Declaracao): void;
|
|
23
22
|
visitarExpressaoAgrupamento(expressao: any): Promise<any>;
|
|
24
|
-
visitarExpressaoUnaria(expressao: any): void
|
|
25
|
-
visitarExpressaoBinaria(expressao: any): void
|
|
26
|
-
visitarExpressaoDeChamada(expressao: any): void
|
|
23
|
+
visitarExpressaoUnaria(expressao: any): Promise<void>;
|
|
24
|
+
visitarExpressaoBinaria(expressao: any): Promise<void>;
|
|
25
|
+
visitarExpressaoDeChamada(expressao: any): Promise<void>;
|
|
27
26
|
visitarDeclaracaoDeAtribuicao(expressao: Atribuir): Promise<void>;
|
|
28
|
-
visitarExpressaoDeVariavel(expressao: any): void
|
|
27
|
+
visitarExpressaoDeVariavel(expressao: any): Promise<void>;
|
|
29
28
|
visitarDeclaracaoDeExpressao(declaracao: Expressao): Promise<any>;
|
|
30
|
-
visitarExpressaoLeia(expressao: Leia): void
|
|
31
|
-
visitarExpressaoLogica(expressao: any): void
|
|
29
|
+
visitarExpressaoLeia(expressao: Leia): Promise<void>;
|
|
30
|
+
visitarExpressaoLogica(expressao: any): Promise<void>;
|
|
32
31
|
visitarDeclaracaoPara(declaracao: Para): Promise<any>;
|
|
33
32
|
visitarDeclaracaoParaCada(declaracao: ParaCada): Promise<any>;
|
|
34
|
-
visitarDeclaracaoSe(declaracao: Se): void
|
|
35
|
-
visitarExpressaoFimPara(declaracao: FimPara): void
|
|
36
|
-
visitarDeclaracaoFazer(declaracao: Fazer): void
|
|
37
|
-
visitarExpressaoFormatacaoEscrita(declaracao: FormatacaoEscrita): void
|
|
38
|
-
visitarDeclaracaoEscolha(declaracao: Escolha): void
|
|
39
|
-
visitarDeclaracaoTente(declaracao: Tente): void
|
|
40
|
-
visitarDeclaracaoEnquanto(declaracao: Enquanto): void
|
|
41
|
-
visitarDeclaracaoImportar(declaracao: Importar): void
|
|
33
|
+
visitarDeclaracaoSe(declaracao: Se): Promise<void>;
|
|
34
|
+
visitarExpressaoFimPara(declaracao: FimPara): Promise<void>;
|
|
35
|
+
visitarDeclaracaoFazer(declaracao: Fazer): Promise<void>;
|
|
36
|
+
visitarExpressaoFormatacaoEscrita(declaracao: FormatacaoEscrita): Promise<void>;
|
|
37
|
+
visitarDeclaracaoEscolha(declaracao: Escolha): Promise<void>;
|
|
38
|
+
visitarDeclaracaoTente(declaracao: Tente): Promise<void>;
|
|
39
|
+
visitarDeclaracaoEnquanto(declaracao: Enquanto): Promise<void>;
|
|
40
|
+
visitarDeclaracaoImportar(declaracao: Importar): Promise<void>;
|
|
42
41
|
visitarDeclaracaoEscreva(declaracao: Escreva): void;
|
|
43
|
-
visitarExpressaoEscrevaMesmaLinha(declaracao: EscrevaMesmaLinha): void
|
|
42
|
+
visitarExpressaoEscrevaMesmaLinha(declaracao: EscrevaMesmaLinha): Promise<void>;
|
|
44
43
|
visitarExpressaoBloco(declaracao: Bloco): Promise<any>;
|
|
45
44
|
visitarDeclaracaoVar(declaracao: Var): Promise<any>;
|
|
46
45
|
visitarDeclaracaoConst(declaracao: Const): Promise<any>;
|
|
47
46
|
visitarExpressaoContinua(declaracao?: Continua): ContinuarQuebra;
|
|
48
47
|
visitarExpressaoSustar(declaracao?: Sustar): SustarQuebra;
|
|
49
48
|
visitarExpressaoRetornar(declaracao: Retorna): Promise<RetornoQuebra>;
|
|
50
|
-
visitarExpressaoDeleguaFuncao(expressao: any): void
|
|
49
|
+
visitarExpressaoDeleguaFuncao(expressao: any): Promise<void>;
|
|
51
50
|
visitarExpressaoAtribuicaoSobrescrita(expressao: any): Promise<any>;
|
|
52
|
-
visitarExpressaoAcessoIndiceVariavel(expressao: any): void
|
|
53
|
-
visitarExpressaoDefinirValor(expressao: any): void
|
|
54
|
-
visitarDeclaracaoDefinicaoFuncao(declaracao: FuncaoDeclaracao): void
|
|
55
|
-
visitarDeclaracaoClasse(declaracao: Classe): void
|
|
56
|
-
visitarExpressaoAcessoMetodo(expressao: any): void
|
|
57
|
-
visitarExpressaoIsto(expressao: any): void
|
|
58
|
-
visitarExpressaoDicionario(expressao: any): void
|
|
59
|
-
visitarExpressaoVetor(expressao: any): void
|
|
60
|
-
visitarExpressaoSuper(expressao: Super): void
|
|
51
|
+
visitarExpressaoAcessoIndiceVariavel(expressao: any): Promise<void>;
|
|
52
|
+
visitarExpressaoDefinirValor(expressao: any): Promise<void>;
|
|
53
|
+
visitarDeclaracaoDefinicaoFuncao(declaracao: FuncaoDeclaracao): Promise<void>;
|
|
54
|
+
visitarDeclaracaoClasse(declaracao: Classe): Promise<void>;
|
|
55
|
+
visitarExpressaoAcessoMetodo(expressao: any): Promise<void>;
|
|
56
|
+
visitarExpressaoIsto(expressao: any): Promise<void>;
|
|
57
|
+
visitarExpressaoDicionario(expressao: any): Promise<void>;
|
|
58
|
+
visitarExpressaoVetor(expressao: any): Promise<void>;
|
|
59
|
+
visitarExpressaoSuper(expressao: Super): Promise<void>;
|
|
61
60
|
analisar(declaracoes: Declaracao[]): RetornoAnalisadorSemantico;
|
|
62
61
|
}
|
|
63
62
|
export {};
|
|
@@ -10,96 +10,97 @@ class AnalisadorSemantico {
|
|
|
10
10
|
this.erros = [];
|
|
11
11
|
}
|
|
12
12
|
visitarExpressaoLiteral(expressao) {
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
avaliar(expressao) {
|
|
16
|
-
throw new Error("Método não implementado.");
|
|
13
|
+
return Promise.resolve();
|
|
17
14
|
}
|
|
18
15
|
visitarExpressaoAgrupamento(expressao) {
|
|
19
|
-
|
|
16
|
+
return Promise.resolve();
|
|
20
17
|
}
|
|
21
18
|
visitarExpressaoUnaria(expressao) {
|
|
22
|
-
|
|
19
|
+
return Promise.resolve();
|
|
23
20
|
}
|
|
24
21
|
visitarExpressaoBinaria(expressao) {
|
|
25
|
-
|
|
22
|
+
return Promise.resolve();
|
|
26
23
|
}
|
|
27
24
|
visitarExpressaoDeChamada(expressao) {
|
|
28
|
-
|
|
25
|
+
return Promise.resolve();
|
|
29
26
|
}
|
|
30
27
|
visitarDeclaracaoDeAtribuicao(expressao) {
|
|
31
28
|
if (!this.variaveis.hasOwnProperty(expressao.simbolo.lexema)) {
|
|
32
29
|
this.erros.push({
|
|
33
30
|
simbolo: expressao.simbolo,
|
|
34
|
-
mensagem: `Variável ${expressao.simbolo} ainda não foi declarada até este ponto.`,
|
|
31
|
+
mensagem: `Variável ${expressao.simbolo.lexema} ainda não foi declarada até este ponto.`,
|
|
35
32
|
hashArquivo: expressao.hashArquivo,
|
|
36
|
-
linha: expressao.linha
|
|
33
|
+
linha: expressao.linha,
|
|
37
34
|
});
|
|
38
35
|
return Promise.resolve();
|
|
39
36
|
}
|
|
40
37
|
if (this.variaveis[expressao.simbolo.lexema].imutavel) {
|
|
41
38
|
this.erros.push({
|
|
42
39
|
simbolo: expressao.simbolo,
|
|
43
|
-
mensagem: `Constante ${expressao.simbolo} não pode ser modificada.`,
|
|
40
|
+
mensagem: `Constante ${expressao.simbolo.lexema} não pode ser modificada.`,
|
|
44
41
|
hashArquivo: expressao.hashArquivo,
|
|
45
|
-
linha: expressao.linha
|
|
42
|
+
linha: expressao.linha,
|
|
46
43
|
});
|
|
47
44
|
return Promise.resolve();
|
|
48
45
|
}
|
|
49
46
|
}
|
|
50
47
|
visitarExpressaoDeVariavel(expressao) {
|
|
51
|
-
|
|
48
|
+
return Promise.resolve();
|
|
52
49
|
}
|
|
53
50
|
visitarDeclaracaoDeExpressao(declaracao) {
|
|
54
51
|
return declaracao.expressao.aceitar(this);
|
|
55
52
|
}
|
|
56
53
|
visitarExpressaoLeia(expressao) {
|
|
57
|
-
|
|
54
|
+
return Promise.resolve();
|
|
58
55
|
}
|
|
59
56
|
visitarExpressaoLogica(expressao) {
|
|
60
|
-
|
|
57
|
+
return Promise.resolve();
|
|
61
58
|
}
|
|
62
59
|
visitarDeclaracaoPara(declaracao) {
|
|
63
|
-
|
|
60
|
+
return Promise.resolve();
|
|
64
61
|
}
|
|
65
62
|
visitarDeclaracaoParaCada(declaracao) {
|
|
66
|
-
|
|
63
|
+
return Promise.resolve();
|
|
67
64
|
}
|
|
68
65
|
visitarDeclaracaoSe(declaracao) {
|
|
69
|
-
|
|
66
|
+
return Promise.resolve();
|
|
70
67
|
}
|
|
71
68
|
visitarExpressaoFimPara(declaracao) {
|
|
72
|
-
|
|
69
|
+
return Promise.resolve();
|
|
73
70
|
}
|
|
74
71
|
visitarDeclaracaoFazer(declaracao) {
|
|
75
|
-
|
|
72
|
+
return Promise.resolve();
|
|
76
73
|
}
|
|
77
74
|
visitarExpressaoFormatacaoEscrita(declaracao) {
|
|
78
|
-
|
|
75
|
+
return Promise.resolve();
|
|
79
76
|
}
|
|
80
77
|
visitarDeclaracaoEscolha(declaracao) {
|
|
81
|
-
|
|
78
|
+
return Promise.resolve();
|
|
82
79
|
}
|
|
83
80
|
visitarDeclaracaoTente(declaracao) {
|
|
84
|
-
|
|
81
|
+
return Promise.resolve();
|
|
85
82
|
}
|
|
86
83
|
visitarDeclaracaoEnquanto(declaracao) {
|
|
87
|
-
|
|
84
|
+
return Promise.resolve();
|
|
88
85
|
}
|
|
89
86
|
visitarDeclaracaoImportar(declaracao) {
|
|
90
|
-
|
|
87
|
+
return Promise.resolve();
|
|
91
88
|
}
|
|
92
89
|
visitarDeclaracaoEscreva(declaracao) {
|
|
93
|
-
//
|
|
90
|
+
// return Promise.resolve();
|
|
94
91
|
}
|
|
95
92
|
visitarExpressaoEscrevaMesmaLinha(declaracao) {
|
|
96
|
-
|
|
93
|
+
return Promise.resolve();
|
|
97
94
|
}
|
|
98
95
|
visitarExpressaoBloco(declaracao) {
|
|
99
|
-
|
|
96
|
+
return Promise.resolve();
|
|
100
97
|
}
|
|
101
98
|
visitarDeclaracaoVar(declaracao) {
|
|
102
|
-
|
|
99
|
+
this.variaveis[declaracao.simbolo.lexema] = {
|
|
100
|
+
imutavel: false,
|
|
101
|
+
tipo: 'número',
|
|
102
|
+
};
|
|
103
|
+
return Promise.resolve();
|
|
103
104
|
}
|
|
104
105
|
visitarDeclaracaoConst(declaracao) {
|
|
105
106
|
if (this.variaveis.hasOwnProperty(declaracao.simbolo.lexema)) {
|
|
@@ -107,58 +108,58 @@ class AnalisadorSemantico {
|
|
|
107
108
|
simbolo: declaracao.simbolo,
|
|
108
109
|
mensagem: 'Declaração de constante já feita.',
|
|
109
110
|
hashArquivo: declaracao.hashArquivo,
|
|
110
|
-
linha: declaracao.linha
|
|
111
|
+
linha: declaracao.linha,
|
|
111
112
|
});
|
|
112
113
|
}
|
|
113
114
|
else {
|
|
114
115
|
this.variaveis[declaracao.simbolo.lexema] = {
|
|
115
116
|
imutavel: true,
|
|
116
|
-
tipo: 'número'
|
|
117
|
+
tipo: 'número',
|
|
117
118
|
};
|
|
118
119
|
}
|
|
119
120
|
return Promise.resolve();
|
|
120
121
|
}
|
|
121
122
|
visitarExpressaoContinua(declaracao) {
|
|
122
|
-
|
|
123
|
+
return Promise.resolve();
|
|
123
124
|
}
|
|
124
125
|
visitarExpressaoSustar(declaracao) {
|
|
125
|
-
|
|
126
|
+
return Promise.resolve();
|
|
126
127
|
}
|
|
127
128
|
visitarExpressaoRetornar(declaracao) {
|
|
128
|
-
|
|
129
|
+
return Promise.resolve(null);
|
|
129
130
|
}
|
|
130
131
|
visitarExpressaoDeleguaFuncao(expressao) {
|
|
131
|
-
|
|
132
|
+
return Promise.resolve();
|
|
132
133
|
}
|
|
133
134
|
visitarExpressaoAtribuicaoSobrescrita(expressao) {
|
|
134
|
-
|
|
135
|
+
return Promise.resolve();
|
|
135
136
|
}
|
|
136
137
|
visitarExpressaoAcessoIndiceVariavel(expressao) {
|
|
137
|
-
|
|
138
|
+
return Promise.resolve();
|
|
138
139
|
}
|
|
139
140
|
visitarExpressaoDefinirValor(expressao) {
|
|
140
|
-
|
|
141
|
+
return Promise.resolve();
|
|
141
142
|
}
|
|
142
143
|
visitarDeclaracaoDefinicaoFuncao(declaracao) {
|
|
143
|
-
|
|
144
|
+
return Promise.resolve();
|
|
144
145
|
}
|
|
145
146
|
visitarDeclaracaoClasse(declaracao) {
|
|
146
|
-
|
|
147
|
+
return Promise.resolve();
|
|
147
148
|
}
|
|
148
149
|
visitarExpressaoAcessoMetodo(expressao) {
|
|
149
|
-
|
|
150
|
+
return Promise.resolve();
|
|
150
151
|
}
|
|
151
152
|
visitarExpressaoIsto(expressao) {
|
|
152
|
-
|
|
153
|
+
return Promise.resolve();
|
|
153
154
|
}
|
|
154
155
|
visitarExpressaoDicionario(expressao) {
|
|
155
|
-
|
|
156
|
+
return Promise.resolve();
|
|
156
157
|
}
|
|
157
158
|
visitarExpressaoVetor(expressao) {
|
|
158
|
-
|
|
159
|
+
return Promise.resolve();
|
|
159
160
|
}
|
|
160
161
|
visitarExpressaoSuper(expressao) {
|
|
161
|
-
|
|
162
|
+
return Promise.resolve();
|
|
162
163
|
}
|
|
163
164
|
analisar(declaracoes) {
|
|
164
165
|
// this.pilhaVariaveis = new PilhaVariaveis();
|
|
@@ -171,7 +172,7 @@ class AnalisadorSemantico {
|
|
|
171
172
|
this.atual++;
|
|
172
173
|
}
|
|
173
174
|
return {
|
|
174
|
-
erros: this.erros
|
|
175
|
+
erros: this.erros,
|
|
175
176
|
};
|
|
176
177
|
}
|
|
177
178
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analisador-semantico.js","sourceRoot":"","sources":["../../../fontes/analisador-semantico/analisador-semantico.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"analisador-semantico.js","sourceRoot":"","sources":["../../../fontes/analisador-semantico/analisador-semantico.ts"],"names":[],"mappings":";;;AA4BA,uDAAmD;AAmBnD,MAAa,mBAAmB;IAM5B;QACI,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,uBAAuB,CAAC,SAAkB;QACtC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,2BAA2B,CAAC,SAAc;QACtC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,sBAAsB,CAAC,SAAc;QACjC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,uBAAuB,CAAC,SAAc;QAClC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,yBAAyB,CAAC,SAAc;QACpC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,6BAA6B,CAAC,SAAmB;QAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,QAAQ,EAAE,YAAY,SAAS,CAAC,OAAO,CAAC,MAAM,0CAA0C;gBACxF,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,KAAK,EAAE,SAAS,CAAC,KAAK;aACzB,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC5B;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;YACnD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,QAAQ,EAAE,aAAa,SAAS,CAAC,OAAO,CAAC,MAAM,2BAA2B;gBAC1E,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,KAAK,EAAE,SAAS,CAAC,KAAK;aACzB,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC5B;IACL,CAAC;IAED,0BAA0B,CAAC,SAAc;QACrC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,4BAA4B,CAAC,UAAqB;QAC9C,OAAO,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,oBAAoB,CAAC,SAAe;QAChC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,sBAAsB,CAAC,SAAc;QACjC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,qBAAqB,CAAC,UAAgB;QAClC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,yBAAyB,CAAC,UAAoB;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,mBAAmB,CAAC,UAAc;QAC9B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,uBAAuB,CAAC,UAAmB;QACvC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,sBAAsB,CAAC,UAAiB;QACpC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,iCAAiC,CAAC,UAA6B;QAC3D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,wBAAwB,CAAC,UAAmB;QACxC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,sBAAsB,CAAC,UAAiB;QACpC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,yBAAyB,CAAC,UAAoB;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,yBAAyB,CAAC,UAAoB;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,wBAAwB,CAAC,UAAmB;QACxC,4BAA4B;IAChC,CAAC;IAED,iCAAiC,CAAC,UAA6B;QAC3D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,qBAAqB,CAAC,UAAiB;QACnC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,oBAAoB,CAAC,UAAe;QAChC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;YACxC,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,QAAQ;SACjB,CAAC;QAEF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,sBAAsB,CAAC,UAAiB;QACpC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,QAAQ,EAAE,mCAAmC;gBAC7C,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,KAAK,EAAE,UAAU,CAAC,KAAK;aAC1B,CAAC,CAAC;SACN;aAAM;YACH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;gBACxC,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;aACjB,CAAC;SACL;QAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,wBAAwB,CAAC,UAAqB;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,sBAAsB,CAAC,UAAmB;QACtC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,wBAAwB,CAAC,UAAmB;QACxC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,6BAA6B,CAAC,SAAc;QACxC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,qCAAqC,CAAC,SAAc;QAChD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,oCAAoC,CAAC,SAAc;QAC/C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,4BAA4B,CAAC,SAAc;QACvC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,gCAAgC,CAAC,UAA4B;QACzD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,uBAAuB,CAAC,UAAkB;QACtC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,4BAA4B,CAAC,SAAc;QACvC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,oBAAoB,CAAC,SAAc;QAC/B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,0BAA0B,CAAC,SAAc;QACrC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,qBAAqB,CAAC,SAAc;QAChC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,qBAAqB,CAAC,SAAgB;QAClC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,WAAyB;QAC9B,8CAA8C;QAC9C,iCAAiC;QACjC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,OAAO,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE;YACpC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;QAED,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;SACU,CAAC;IACpC,CAAC;CACJ;AArMD,kDAqMC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { Construto } from '../construtos';
|
|
2
1
|
import { Declaracao } from '../declaracoes';
|
|
3
2
|
import { RetornoAnalisadorSemantico } from './retornos/retorno-analisador-semantico';
|
|
4
3
|
import { VisitanteComumInterface } from './visitante-comum-interface';
|
|
5
4
|
export interface AnalisadorSemanticoInterface extends VisitanteComumInterface {
|
|
6
|
-
avaliar(expressao: Construto | Declaracao): any;
|
|
7
5
|
analisar(declaracoes: Declaracao[]): RetornoAnalisadorSemantico;
|
|
8
6
|
}
|
package/package.json
CHANGED