@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/delegua",
3
- "version": "0.19.2",
3
+ "version": "0.20.0",
4
4
  "description": "Linguagem de programação simples e moderna usando português estruturado, com suporte a múltiplos dialetos",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1,10 +1,10 @@
1
- import { Literal, Construto, 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";
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
- throw new Error("Método não implementado.");
14
- }
15
- avaliar(expressao) {
16
- throw new Error("Método não implementado.");
13
+ return Promise.resolve();
17
14
  }
18
15
  visitarExpressaoAgrupamento(expressao) {
19
- throw new Error("Método não implementado.");
16
+ return Promise.resolve();
20
17
  }
21
18
  visitarExpressaoUnaria(expressao) {
22
- throw new Error("Método não implementado.");
19
+ return Promise.resolve();
23
20
  }
24
21
  visitarExpressaoBinaria(expressao) {
25
- throw new Error("Método não implementado.");
22
+ return Promise.resolve();
26
23
  }
27
24
  visitarExpressaoDeChamada(expressao) {
28
- throw new Error("Método não implementado.");
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
- throw new Error("Método não implementado.");
48
+ return Promise.resolve();
52
49
  }
53
50
  visitarDeclaracaoDeExpressao(declaracao) {
54
51
  return declaracao.expressao.aceitar(this);
55
52
  }
56
53
  visitarExpressaoLeia(expressao) {
57
- throw new Error("Método não implementado.");
54
+ return Promise.resolve();
58
55
  }
59
56
  visitarExpressaoLogica(expressao) {
60
- throw new Error("Método não implementado.");
57
+ return Promise.resolve();
61
58
  }
62
59
  visitarDeclaracaoPara(declaracao) {
63
- throw new Error("Método não implementado.");
60
+ return Promise.resolve();
64
61
  }
65
62
  visitarDeclaracaoParaCada(declaracao) {
66
- throw new Error("Método não implementado.");
63
+ return Promise.resolve();
67
64
  }
68
65
  visitarDeclaracaoSe(declaracao) {
69
- throw new Error("Método não implementado.");
66
+ return Promise.resolve();
70
67
  }
71
68
  visitarExpressaoFimPara(declaracao) {
72
- throw new Error("Método não implementado.");
69
+ return Promise.resolve();
73
70
  }
74
71
  visitarDeclaracaoFazer(declaracao) {
75
- throw new Error("Método não implementado.");
72
+ return Promise.resolve();
76
73
  }
77
74
  visitarExpressaoFormatacaoEscrita(declaracao) {
78
- throw new Error("Método não implementado.");
75
+ return Promise.resolve();
79
76
  }
80
77
  visitarDeclaracaoEscolha(declaracao) {
81
- throw new Error("Método não implementado.");
78
+ return Promise.resolve();
82
79
  }
83
80
  visitarDeclaracaoTente(declaracao) {
84
- throw new Error("Método não implementado.");
81
+ return Promise.resolve();
85
82
  }
86
83
  visitarDeclaracaoEnquanto(declaracao) {
87
- throw new Error("Método não implementado.");
84
+ return Promise.resolve();
88
85
  }
89
86
  visitarDeclaracaoImportar(declaracao) {
90
- throw new Error("Método não implementado.");
87
+ return Promise.resolve();
91
88
  }
92
89
  visitarDeclaracaoEscreva(declaracao) {
93
- // throw new Error("Método não implementado.");
90
+ // return Promise.resolve();
94
91
  }
95
92
  visitarExpressaoEscrevaMesmaLinha(declaracao) {
96
- throw new Error("Método não implementado.");
93
+ return Promise.resolve();
97
94
  }
98
95
  visitarExpressaoBloco(declaracao) {
99
- throw new Error("Método não implementado.");
96
+ return Promise.resolve();
100
97
  }
101
98
  visitarDeclaracaoVar(declaracao) {
102
- throw new Error("Método não implementado.");
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
- throw new Error("Método não implementado.");
123
+ return Promise.resolve();
123
124
  }
124
125
  visitarExpressaoSustar(declaracao) {
125
- throw new Error("Método não implementado.");
126
+ return Promise.resolve();
126
127
  }
127
128
  visitarExpressaoRetornar(declaracao) {
128
- throw new Error("Método não implementado.");
129
+ return Promise.resolve(null);
129
130
  }
130
131
  visitarExpressaoDeleguaFuncao(expressao) {
131
- throw new Error("Método não implementado.");
132
+ return Promise.resolve();
132
133
  }
133
134
  visitarExpressaoAtribuicaoSobrescrita(expressao) {
134
- throw new Error("Método não implementado.");
135
+ return Promise.resolve();
135
136
  }
136
137
  visitarExpressaoAcessoIndiceVariavel(expressao) {
137
- throw new Error("Método não implementado.");
138
+ return Promise.resolve();
138
139
  }
139
140
  visitarExpressaoDefinirValor(expressao) {
140
- throw new Error("Método não implementado.");
141
+ return Promise.resolve();
141
142
  }
142
143
  visitarDeclaracaoDefinicaoFuncao(declaracao) {
143
- throw new Error("Método não implementado.");
144
+ return Promise.resolve();
144
145
  }
145
146
  visitarDeclaracaoClasse(declaracao) {
146
- throw new Error("Método não implementado.");
147
+ return Promise.resolve();
147
148
  }
148
149
  visitarExpressaoAcessoMetodo(expressao) {
149
- throw new Error("Método não implementado.");
150
+ return Promise.resolve();
150
151
  }
151
152
  visitarExpressaoIsto(expressao) {
152
- throw new Error("Método não implementado.");
153
+ return Promise.resolve();
153
154
  }
154
155
  visitarExpressaoDicionario(expressao) {
155
- throw new Error("Método não implementado.");
156
+ return Promise.resolve();
156
157
  }
157
158
  visitarExpressaoVetor(expressao) {
158
- throw new Error("Método não implementado.");
159
+ return Promise.resolve();
159
160
  }
160
161
  visitarExpressaoSuper(expressao) {
161
- throw new Error("Método não implementado.");
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":";;;AAOA,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,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,CAAC,SAAiC;QACrC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,2BAA2B,CAAC,SAAc;QACtC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,sBAAsB,CAAC,SAAc;QACjC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,uBAAuB,CAAC,SAAc;QAClC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,yBAAyB,CAAC,SAAc;QACpC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,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,0CAA0C;gBACjF,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,2BAA2B;gBACnE,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,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,4BAA4B,CAAC,UAAqB;QAC9C,OAAO,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,oBAAoB,CAAC,SAAe;QAChC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,sBAAsB,CAAC,SAAc;QACjC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,qBAAqB,CAAC,UAAgB;QAClC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,yBAAyB,CAAC,UAAoB;QAC1C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,mBAAmB,CAAC,UAAc;QAC9B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,uBAAuB,CAAC,UAAmB;QACvC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,sBAAsB,CAAC,UAAiB;QACpC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,iCAAiC,CAAC,UAA6B;QAC3D,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,wBAAwB,CAAC,UAAmB;QACxC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,sBAAsB,CAAC,UAAiB;QACpC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,yBAAyB,CAAC,UAAoB;QAC1C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,yBAAyB,CAAC,UAAoB;QAC1C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,wBAAwB,CAAC,UAAmB;QACxC,+CAA+C;IACnD,CAAC;IAED,iCAAiC,CAAC,UAA6B;QAC3D,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,qBAAqB,CAAC,UAAiB;QACnC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,oBAAoB,CAAC,UAAe;QAChC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,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,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,sBAAsB,CAAC,UAAmB;QACtC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,wBAAwB,CAAC,UAAmB;QACxC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,6BAA6B,CAAC,SAAc;QACxC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,qCAAqC,CAAC,SAAc;QAChD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,oCAAoC,CAAC,SAAc;QAC/C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,4BAA4B,CAAC,SAAc;QACvC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,gCAAgC,CAAC,UAA4B;QACzD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,uBAAuB,CAAC,UAAkB;QACtC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,4BAA4B,CAAC,SAAc;QACvC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,oBAAoB,CAAC,SAAc;QAC/B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,0BAA0B,CAAC,SAAc;QACrC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,qBAAqB,CAAC,SAAc;QAChC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,qBAAqB,CAAC,SAAgB;QAClC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,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;AAjMD,kDAiMC"}
1
+ {"version":3,"file":"analisador-semantico.js","sourceRoot":"","sources":["../../../fontes/analisador-semantico/analisador-semantico.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/delegua",
3
- "version": "0.20.0",
3
+ "version": "0.20.1",
4
4
  "description": "Linguagem de programação simples e moderna usando português estruturado, com suporte a múltiplos dialetos",
5
5
  "main": "index.js",
6
6
  "scripts": {