@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.
@@ -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,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACnF,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,qCAAqC,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAI5F,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"}
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;AAWtG,MAAa,0BACT,SAAQ,8CAAuB;IAS/B,qCAAqC,CAAC,UAAgC;QAClE,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;AA/BD,gEA+BC"}
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,2 @@
1
+ export * from './analisador-semantico-potigol';
1
2
  //# sourceMappingURL=index.d.ts.map
@@ -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,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,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"}
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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@designliquido/potigol",
3
3
  "description": "Dialeto de Potigol baseado em Delégua e TypeScript",
4
- "version": "0.1.5",
4
+ "version": "0.1.6",
5
5
  "license": "MIT",
6
6
  "bugs": {
7
7
  "url": "https://github.com/DesignLiquido/potigol/issues"