@designliquido/potigol 0.1.5 → 0.1.6
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/analisador-semantico-potigol.d.ts +5 -2
- package/analisador-semantico/analisador-semantico-potigol.d.ts.map +1 -1
- package/analisador-semantico/analisador-semantico-potigol.js +26 -0
- package/analisador-semantico/analisador-semantico-potigol.js.map +1 -1
- package/analisador-semantico/index.d.ts +1 -0
- package/analisador-semantico/index.d.ts.map +1 -1
- package/analisador-semantico/index.js +17 -0
- package/analisador-semantico/index.js.map +1 -1
- package/interfaces/interpretador-potigol-interface.d.ts +1 -1
- package/interfaces/interpretador-potigol-interface.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AnalisadorSemanticoBase, PilhaVariaveis } from "@designliquido/delegua/analisador-semantico";
|
|
2
2
|
import { QualTipo } from "@designliquido/delegua/construtos";
|
|
3
|
-
import { Declaracao } from "@designliquido/delegua/declaracoes";
|
|
4
|
-
import { DiagnosticoAnalisadorSemantico } from "@designliquido/delegua/interfaces";
|
|
3
|
+
import { Const, Declaracao, Var } from "@designliquido/delegua/declaracoes";
|
|
4
|
+
import { DiagnosticoAnalisadorSemantico, DiagnosticoSeveridade, SimboloInterface } from "@designliquido/delegua/interfaces";
|
|
5
5
|
import { FuncaoHipoteticaInterface } from '@designliquido/delegua/interfaces/funcao-hipotetica-interface';
|
|
6
6
|
import { RetornoAnalisadorSemantico } from "@designliquido/delegua/interfaces/retornos/retorno-analisador-semantico";
|
|
7
7
|
import { VariavelHipoteticaInterface } from '@designliquido/delegua/interfaces/variavel-hipotetica-interface';
|
|
@@ -17,7 +17,10 @@ export declare class AnalisadorSemanticoPotigol extends AnalisadorSemanticoBase
|
|
|
17
17
|
};
|
|
18
18
|
atual: number;
|
|
19
19
|
diagnosticos: DiagnosticoAnalisadorSemantico[];
|
|
20
|
+
adicionarDiagnostico(simbolo: SimboloInterface, mensagem: string, severidade?: DiagnosticoSeveridade): void;
|
|
20
21
|
visitarDeclaracaoReatribuicaoVariavel(declaracao: ReatribuicaoVariavel): void | Promise<any>;
|
|
22
|
+
visitarDeclaracaoVar(declaracao: Var): Promise<any>;
|
|
23
|
+
visitarExpressaoDeVariavel(expressao: Var | Const): Promise<any>;
|
|
21
24
|
visitarExpressaoQualTipo(expressao: QualTipo<string>): void | Promise<string>;
|
|
22
25
|
analisar(declaracoes: Declaracao[]): RetornoAnalisadorSemantico;
|
|
23
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analisador-semantico-potigol.d.ts","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico-potigol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AACtG,OAAO,
|
|
1
|
+
{"version":3,"file":"analisador-semantico-potigol.d.ts","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico-potigol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AACtG,OAAO,EAAqB,QAAQ,EAAS,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC5H,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,EAAE,0BAA0B,EAAE,MAAM,yEAAyE,CAAC;AACrH,OAAO,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AAE9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAE/D,qBAAa,0BACT,SAAQ,uBACR,YAAW,8BAA8B;IAEzC,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,2BAA2B,CAAA;KAAE,CAAC;IACnE,OAAO,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,yBAAyB,CAAA;KAAE,CAAC;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,8BAA8B,EAAE,CAAC;IAE/C,oBAAoB,CAChB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,qBAAkD,GAC/D,IAAI;IAUP,qCAAqC,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAInF,oBAAoB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAYnD,0BAA0B,CAAC,SAAS,EAAE,GAAG,GAAG,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAQzE,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7E,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,0BAA0B;CAalE"}
|
|
@@ -2,10 +2,36 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AnalisadorSemanticoPotigol = void 0;
|
|
4
4
|
const analisador_semantico_1 = require("@designliquido/delegua/analisador-semantico");
|
|
5
|
+
const interfaces_1 = require("@designliquido/delegua/interfaces");
|
|
5
6
|
class AnalisadorSemanticoPotigol extends analisador_semantico_1.AnalisadorSemanticoBase {
|
|
7
|
+
adicionarDiagnostico(simbolo, mensagem, severidade = interfaces_1.DiagnosticoSeveridade.ERRO) {
|
|
8
|
+
this.diagnosticos.push({
|
|
9
|
+
simbolo: simbolo,
|
|
10
|
+
mensagem: mensagem,
|
|
11
|
+
hashArquivo: simbolo.hashArquivo,
|
|
12
|
+
linha: simbolo.linha,
|
|
13
|
+
severidade: severidade,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
6
16
|
visitarDeclaracaoReatribuicaoVariavel(declaracao) {
|
|
7
17
|
return Promise.resolve();
|
|
8
18
|
}
|
|
19
|
+
visitarDeclaracaoVar(declaracao) {
|
|
20
|
+
this.variaveis[declaracao.simbolo.lexema] = {
|
|
21
|
+
tipo: 'qualquer',
|
|
22
|
+
subtipo: undefined,
|
|
23
|
+
imutavel: false,
|
|
24
|
+
valor: undefined,
|
|
25
|
+
valorDefinido: true
|
|
26
|
+
};
|
|
27
|
+
return Promise.resolve();
|
|
28
|
+
}
|
|
29
|
+
visitarExpressaoDeVariavel(expressao) {
|
|
30
|
+
if (!(expressao.simbolo.lexema in this.variaveis)) {
|
|
31
|
+
this.adicionarDiagnostico(expressao.simbolo, `Variável '${expressao.simbolo.lexema}' ainda não foi declarada.`);
|
|
32
|
+
}
|
|
33
|
+
return Promise.resolve();
|
|
34
|
+
}
|
|
9
35
|
visitarExpressaoQualTipo(expressao) {
|
|
10
36
|
return Promise.resolve('');
|
|
11
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analisador-semantico-potigol.js","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico-potigol.ts"],"names":[],"mappings":";;;AAAA,sFAAsG;
|
|
1
|
+
{"version":3,"file":"analisador-semantico-potigol.js","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico-potigol.ts"],"names":[],"mappings":";;;AAAA,sFAAsG;AAGtG,kEAA4H;AAQ5H,MAAa,0BACT,SAAQ,8CAAuB;IAS/B,oBAAoB,CAChB,OAAyB,EACzB,QAAgB,EAChB,aAAoC,kCAAqB,CAAC,IAAI;QAE9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,UAAU;SACzB,CAAC,CAAC;IACP,CAAC;IAED,qCAAqC,CAAC,UAAgC;QAClE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEQ,oBAAoB,CAAC,UAAe;QACzC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;YACxC,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,SAAS;YAChB,aAAa,EAAE,IAAI;SACtB,CAAA;QAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEQ,0BAA0B,CAAC,SAAsB;QACtD,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,SAAS,CAAC,OAAO,CAAC,MAAM,4BAA4B,CAAC,CAAC;QACpH,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,wBAAwB,CAAC,SAA2B;QAChD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,WAAyB;QAC9B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;YACrC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QAED,OAAO;YACH,YAAY,EAAE,IAAI,CAAC,YAAY;SACJ,CAAC;IACpC,CAAC;CACJ;AAjED,gEAiEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/analisador-semantico/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/analisador-semantico/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
|
|
@@ -1 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./analisador-semantico-potigol"), exports);
|
|
1
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/analisador-semantico/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/analisador-semantico/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { MicroAvaliadorSintaticoBase } from '@designliquido/delegua/avaliador-sintatico/micro-avaliador-sintatico-base';
|
|
2
2
|
import { Const, ConstMultiplo, Var, VarMultiplo } from '@designliquido/delegua/declaracoes';
|
|
3
3
|
import { InterpretadorInterface, VariavelInterface } from '@designliquido/delegua/interfaces';
|
|
4
|
+
import { ReatribuicaoVariavel } from '../declaracoes';
|
|
4
5
|
import { MicroLexadorPotigol } from '../lexador';
|
|
5
6
|
import { VisitanteComumPotigolInterface } from './visitante-comum-potigol-interface';
|
|
6
|
-
import { ReatribuicaoVariavel } from 'fontes/declaracoes';
|
|
7
7
|
export interface InterpretadorPotigolInterface extends InterpretadorInterface, VisitanteComumPotigolInterface {
|
|
8
8
|
microLexador: MicroLexadorPotigol;
|
|
9
9
|
microAvaliadorSintatico: MicroAvaliadorSintaticoBase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-potigol-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/interpretador-potigol-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,2EAA2E,CAAC;AACxH,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE9F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"interpretador-potigol-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/interpretador-potigol-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,2EAA2E,CAAC;AACxH,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,MAAM,WAAW,6BAA8B,SAAQ,sBAAsB,EAAE,8BAA8B;IACzG,YAAY,EAAE,mBAAmB,CAAC;IAClC,uBAAuB,EAAE,2BAA2B,CAAC;IACrD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6BAA6B,CAAC,UAAU,EAAE,KAAK,GAAG,aAAa,GAAG,GAAG,GAAG,WAAW,GAAG,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACzH,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,GAAG,GAAG,OAAO,CAAA;CACvF"}
|
package/package.json
CHANGED