@designliquido/mapler 0.0.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.
Files changed (54) hide show
  1. package/README.md +2 -0
  2. package/analisador-semantico/analisador-semantico-mapler.d.ts +30 -0
  3. package/analisador-semantico/analisador-semantico-mapler.d.ts.map +1 -0
  4. package/analisador-semantico/analisador-semantico-mapler.js +104 -0
  5. package/analisador-semantico/analisador-semantico-mapler.js.map +1 -0
  6. package/analisador-semantico/index.d.ts +2 -0
  7. package/analisador-semantico/index.d.ts.map +1 -0
  8. package/analisador-semantico/index.js +18 -0
  9. package/analisador-semantico/index.js.map +1 -0
  10. package/avaliador-sintatico/avaliador-sintatico-mapler.d.ts +62 -0
  11. package/avaliador-sintatico/avaliador-sintatico-mapler.d.ts.map +1 -0
  12. package/avaliador-sintatico/avaliador-sintatico-mapler.js +486 -0
  13. package/avaliador-sintatico/avaliador-sintatico-mapler.js.map +1 -0
  14. package/avaliador-sintatico/index.d.ts +2 -0
  15. package/avaliador-sintatico/index.d.ts.map +1 -0
  16. package/avaliador-sintatico/index.js +18 -0
  17. package/avaliador-sintatico/index.js.map +1 -0
  18. package/index.d.ts +4 -0
  19. package/index.d.ts.map +1 -0
  20. package/index.js +20 -0
  21. package/index.js.map +1 -0
  22. package/interpretador/comum.d.ts +11 -0
  23. package/interpretador/comum.d.ts.map +1 -0
  24. package/interpretador/comum.js +138 -0
  25. package/interpretador/comum.js.map +1 -0
  26. package/interpretador/index.d.ts +3 -0
  27. package/interpretador/index.d.ts.map +1 -0
  28. package/interpretador/index.js +19 -0
  29. package/interpretador/index.js.map +1 -0
  30. package/interpretador/interpretador-mapler-com-depuracao.d.ts +48 -0
  31. package/interpretador/interpretador-mapler-com-depuracao.d.ts.map +1 -0
  32. package/interpretador/interpretador-mapler-com-depuracao.js +152 -0
  33. package/interpretador/interpretador-mapler-com-depuracao.js.map +1 -0
  34. package/interpretador/interpretador-mapler.d.ts +47 -0
  35. package/interpretador/interpretador-mapler.d.ts.map +1 -0
  36. package/interpretador/interpretador-mapler.js +136 -0
  37. package/interpretador/interpretador-mapler.js.map +1 -0
  38. package/lexador/index.d.ts +2 -0
  39. package/lexador/index.d.ts.map +1 -0
  40. package/lexador/index.js +18 -0
  41. package/lexador/index.js.map +1 -0
  42. package/lexador/lexador-mapler.d.ts +11 -0
  43. package/lexador/lexador-mapler.d.ts.map +1 -0
  44. package/lexador/lexador-mapler.js +205 -0
  45. package/lexador/lexador-mapler.js.map +1 -0
  46. package/lexador/palavras-reservadas.d.ts +31 -0
  47. package/lexador/palavras-reservadas.d.ts.map +1 -0
  48. package/lexador/palavras-reservadas.js +38 -0
  49. package/lexador/palavras-reservadas.js.map +1 -0
  50. package/package.json +43 -0
  51. package/tipos-de-simbolos/lexico-regular.d.ts +56 -0
  52. package/tipos-de-simbolos/lexico-regular.d.ts.map +1 -0
  53. package/tipos-de-simbolos/lexico-regular.js +57 -0
  54. package/tipos-de-simbolos/lexico-regular.js.map +1 -0
package/README.md ADDED
@@ -0,0 +1,2 @@
1
+ # mapler
2
+ Nossa implementação do dialeto Portugol Mapler, usando TypeScript.
@@ -0,0 +1,30 @@
1
+ import { Atribuir } from '@designliquido/delegua/construtos';
2
+ import { Declaracao, Expressao, Retorna, Var } from '@designliquido/delegua/declaracoes';
3
+ import { SimboloInterface } from '@designliquido/delegua/interfaces';
4
+ import { DiagnosticoAnalisadorSemantico } from '@designliquido/delegua/interfaces/erros';
5
+ import { FuncaoHipoteticaInterface } from '@designliquido/delegua/interfaces/funcao-hipotetica-interface';
6
+ import { RetornoAnalisadorSemantico } from '@designliquido/delegua/interfaces/retornos/retorno-analisador-semantico';
7
+ import { VariavelHipoteticaInterface } from '@designliquido/delegua/interfaces/variavel-hipotetica-interface';
8
+ import { RetornoQuebra } from '@designliquido/delegua/quebras';
9
+ import { AnalisadorSemanticoBase } from '@designliquido/delegua/analisador-semantico/analisador-semantico-base';
10
+ import { PilhaVariaveis } from '@designliquido/delegua/analisador-semantico/pilha-variaveis';
11
+ export declare class AnalisadorSemanticoMapler extends AnalisadorSemanticoBase {
12
+ pilhaVariaveis: PilhaVariaveis;
13
+ variaveis: {
14
+ [nomeVariavel: string]: VariavelHipoteticaInterface;
15
+ };
16
+ funcoes: {
17
+ [nomeFuncao: string]: FuncaoHipoteticaInterface;
18
+ };
19
+ atual: number;
20
+ diagnosticos: DiagnosticoAnalisadorSemantico[];
21
+ constructor();
22
+ erro(simbolo: SimboloInterface, mensagem: string): void;
23
+ aviso(simbolo: SimboloInterface, mensagem: string): void;
24
+ visitarExpressaoDeAtribuicao(expressao: Atribuir): Promise<void>;
25
+ visitarDeclaracaoDeExpressao(declaracao: Expressao): any;
26
+ visitarDeclaracaoVar(declaracao: Var): Promise<any>;
27
+ visitarExpressaoRetornar(declaracao: Retorna): Promise<RetornoQuebra>;
28
+ analisar(declaracoes: Declaracao[]): RetornoAnalisadorSemantico;
29
+ }
30
+ //# sourceMappingURL=analisador-semantico-mapler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analisador-semantico-mapler.d.ts","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico-mapler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EAGX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,UAAU,EACV,SAAS,EACT,OAAO,EACP,GAAG,EACN,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAyB,MAAM,yCAAyC,CAAC;AAChH,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,EAAE,0BAA0B,EAAE,MAAM,yEAAyE,CAAC;AACrH,OAAO,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uEAAuE,CAAC;AAChH,OAAO,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAE7F,qBAAa,yBAA0B,SAAQ,uBAAuB;IAClE,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;;IAW/C,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAUvD,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAUxD,4BAA4B,CAAC,SAAS,EAAE,QAAQ;IA6ChD,4BAA4B,CAAC,UAAU,EAAE,SAAS;IAIlD,oBAAoB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAenD,wBAAwB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAIrE,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,0BAA0B;CAclE"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AnalisadorSemanticoMapler = void 0;
4
+ const construtos_1 = require("@designliquido/delegua/construtos");
5
+ const erros_1 = require("@designliquido/delegua/interfaces/erros");
6
+ const analisador_semantico_base_1 = require("@designliquido/delegua/analisador-semantico/analisador-semantico-base");
7
+ const pilha_variaveis_1 = require("@designliquido/delegua/analisador-semantico/pilha-variaveis");
8
+ class AnalisadorSemanticoMapler extends analisador_semantico_base_1.AnalisadorSemanticoBase {
9
+ constructor() {
10
+ super();
11
+ this.pilhaVariaveis = new pilha_variaveis_1.PilhaVariaveis();
12
+ this.variaveis = {};
13
+ this.funcoes = {};
14
+ this.atual = 0;
15
+ this.diagnosticos = [];
16
+ }
17
+ erro(simbolo, mensagem) {
18
+ this.diagnosticos.push({
19
+ simbolo: simbolo,
20
+ mensagem: mensagem,
21
+ hashArquivo: simbolo.hashArquivo,
22
+ linha: simbolo.linha,
23
+ severidade: erros_1.DiagnosticoSeveridade.ERRO,
24
+ });
25
+ }
26
+ aviso(simbolo, mensagem) {
27
+ this.diagnosticos.push({
28
+ simbolo: simbolo,
29
+ mensagem: mensagem,
30
+ hashArquivo: simbolo.hashArquivo,
31
+ linha: simbolo.linha,
32
+ severidade: erros_1.DiagnosticoSeveridade.AVISO,
33
+ });
34
+ }
35
+ visitarExpressaoDeAtribuicao(expressao) {
36
+ let valor = this.variaveis[expressao.simbolo.lexema];
37
+ if (!valor) {
38
+ this.erro(expressao.simbolo, `Variável ${expressao.simbolo.lexema} ainda não foi declarada até este ponto.`);
39
+ return Promise.resolve();
40
+ }
41
+ if (valor.tipo) {
42
+ if (expressao.valor instanceof construtos_1.Literal && valor.tipo.includes('[]')) {
43
+ this.erro(expressao.simbolo, `Atribuição inválida, esperado tipo '${valor.tipo}' na atribuição.`);
44
+ return Promise.resolve();
45
+ }
46
+ if (expressao.valor instanceof construtos_1.Vetor && !valor.tipo.includes('[]')) {
47
+ this.erro(expressao.simbolo, `Atribuição inválida, esperado tipo '${valor.tipo}' na atribuição.`);
48
+ return Promise.resolve();
49
+ }
50
+ if (expressao.valor instanceof construtos_1.Literal) {
51
+ let valorLiteral = typeof expressao.valor.valor;
52
+ if (!['qualquer'].includes(valor.tipo)) {
53
+ if (valorLiteral === 'string') {
54
+ if (valor.tipo != 'texto') {
55
+ this.erro(expressao.simbolo, `Esperado tipo '${valor.tipo}' na atribuição.`);
56
+ return Promise.resolve();
57
+ }
58
+ }
59
+ if (valorLiteral === 'number') {
60
+ if (!['inteiro', 'real'].includes(valor.tipo)) {
61
+ this.erro(expressao.simbolo, `Esperado tipo '${valor.tipo}' na atribuição.`);
62
+ return Promise.resolve();
63
+ }
64
+ }
65
+ }
66
+ }
67
+ }
68
+ if (this.variaveis[expressao.simbolo.lexema]) {
69
+ this.variaveis[expressao.simbolo.lexema].valor = expressao.valor;
70
+ }
71
+ }
72
+ visitarDeclaracaoDeExpressao(declaracao) {
73
+ return declaracao.expressao.aceitar(this);
74
+ }
75
+ visitarDeclaracaoVar(declaracao) {
76
+ this.variaveis[declaracao.simbolo.lexema] = {
77
+ imutavel: false,
78
+ tipo: declaracao.tipo,
79
+ valor: declaracao.inicializador !== null
80
+ ? declaracao.inicializador.valor !== undefined
81
+ ? declaracao.inicializador.valor
82
+ : declaracao.inicializador
83
+ : undefined,
84
+ };
85
+ return Promise.resolve();
86
+ }
87
+ visitarExpressaoRetornar(declaracao) {
88
+ return Promise.resolve(null);
89
+ }
90
+ analisar(declaracoes) {
91
+ this.variaveis = {};
92
+ this.atual = 0;
93
+ this.diagnosticos = [];
94
+ while (this.atual < declaracoes.length) {
95
+ declaracoes[this.atual].aceitar(this);
96
+ this.atual++;
97
+ }
98
+ return {
99
+ diagnosticos: this.diagnosticos,
100
+ };
101
+ }
102
+ }
103
+ exports.AnalisadorSemanticoMapler = AnalisadorSemanticoMapler;
104
+ //# sourceMappingURL=analisador-semantico-mapler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analisador-semantico-mapler.js","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico-mapler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './analisador-semantico-mapler';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/analisador-semantico/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}
@@ -0,0 +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-mapler"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/analisador-semantico/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C"}
@@ -0,0 +1,62 @@
1
+ import { RetornoLexador, RetornoAvaliadorSintatico } from '@designliquido/delegua/interfaces/retornos';
2
+ import { AvaliadorSintaticoBase } from '@designliquido/delegua/avaliador-sintatico/avaliador-sintatico-base';
3
+ import { Declaracao, Enquanto, Escolha, Escreva, EscrevaMesmaLinha, Fazer, Leia, Para, Se } from '@designliquido/delegua/declaracoes';
4
+ import { Construto, FuncaoConstruto } from '@designliquido/delegua/construtos';
5
+ import { SimboloInterface } from '@designliquido/delegua/interfaces';
6
+ export declare class AvaliadorSintaticoMapler extends AvaliadorSintaticoBase {
7
+ private criarVetorNDimensional;
8
+ private validarDimensoesVetor;
9
+ private logicaComumParametroMapler;
10
+ /**
11
+ * Validação do segmento de declaração de variáveis (opcional).
12
+ * @returns Vetor de Construtos para inicialização de variáveis.
13
+ */
14
+ private validarSegmentoVariaveis;
15
+ estaNoFinal(): boolean;
16
+ primario(): Construto;
17
+ comparacaoIgualdade(): Construto;
18
+ ou(): Construto;
19
+ /**
20
+ * Método que resolve atribuições.
21
+ * @returns Um construto do tipo `Atribuir`, `Conjunto` ou `AtribuicaoPorIndice`.
22
+ */
23
+ atribuir(): Construto;
24
+ expressao(): Construto;
25
+ blocoEscopo(): any[];
26
+ chamar(): Construto;
27
+ corpoDaFuncao(tipo: any): FuncaoConstruto;
28
+ declaracaoEnquanto(): Enquanto;
29
+ declaracaoEscolha(): Escolha;
30
+ private logicaComumEscreva;
31
+ declaracaoEscreva(): Escreva;
32
+ declaracaoEscrevaMesmaLinha(): EscrevaMesmaLinha;
33
+ /**
34
+ * Criação de declaração "repita".
35
+ * @returns Um construto do tipo Fazer
36
+ */
37
+ declaracaoFazer(): Fazer;
38
+ /**
39
+ * Criação de declaração "interrompa".
40
+ * Em Mapler, "sustar" é chamada de "interrompa".
41
+ * @returns Uma declaração do tipo Sustar.
42
+ */
43
+ private declaracaoInterrompa;
44
+ /**
45
+ * Análise de uma declaração `leia()`. No Mapler, `leia()` aceita 1..N argumentos.
46
+ * @returns Uma declaração `Leia`.
47
+ */
48
+ declaracaoLeia(): Leia;
49
+ declaracaoPara(): Para;
50
+ /**
51
+ * Procedimentos nada mais são do que funções que não retornam valor.
52
+ */
53
+ declaracaoSe(): Se;
54
+ resolverDeclaracaoForaDeBloco(): Declaracao | Declaracao[] | Construto | Construto[] | any;
55
+ /**
56
+ * No Mapler, há uma determinada cadência de validação de símbolos.
57
+ * @param retornoLexador Os símbolos entendidos pelo Lexador.
58
+ * @param hashArquivo Obrigatório por interface mas não usado aqui.
59
+ */
60
+ analisar(retornoLexador: RetornoLexador<SimboloInterface>, hashArquivo: number): RetornoAvaliadorSintatico<Declaracao>;
61
+ }
62
+ //# sourceMappingURL=avaliador-sintatico-mapler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avaliador-sintatico-mapler.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico-mapler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,qEAAqE,CAAC;AAC7G,OAAO,EAEH,UAAU,EACV,QAAQ,EACR,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,EAAE,EAGL,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAOH,SAAS,EAET,eAAe,EAIlB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAIrE,qBAAa,wBAAyB,SAAQ,sBAAsB;IAChE,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,0BAA0B;IAmClC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAkGhC,WAAW,IAAI,OAAO;IAItB,QAAQ,IAAI,SAAS;IAsCrB,mBAAmB,IAAI,SAAS;IAYhC,EAAE,IAAI,SAAS;IAYf;;;OAGG;IACH,QAAQ,IAAI,SAAS;IA0BrB,SAAS,IAAI,SAAS;IAKtB,WAAW,IAAI,GAAG,EAAE;IAiBpB,MAAM,IAAI,SAAS;IA0BnB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,eAAe;IAazC,kBAAkB,IAAI,QAAQ;IA2C9B,iBAAiB,IAAI,OAAO;IAI5B,OAAO,CAAC,kBAAkB;IAkB1B,iBAAiB,IAAI,OAAO;IAI5B,2BAA2B,IAAI,iBAAiB;IAQhD;;;OAGG;IACH,eAAe,IAAI,KAAK;IAkCxB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;OAGG;IACH,cAAc,IAAI,IAAI;IAoBtB,cAAc,IAAI,IAAI;IAwGtB;;OAEG;IAyBH,YAAY,IAAI,EAAE;IA2DlB,6BAA6B,IAAI,UAAU,GAAG,UAAU,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,GAAG;IA4B1F;;;;OAIG;IACH,QAAQ,CACJ,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAChD,WAAW,EAAE,MAAM,GACpB,yBAAyB,CAAC,UAAU,CAAC;CAsB3C"}