@designliquido/delegua 0.1.7 → 0.1.8
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/index.d.ts +1 -0
- package/package.json +1 -1
- package/src/ambiente.d.ts +11 -0
- package/src/avaliador-sintatico/dialetos/egua-classico.d.ts +60 -0
- package/src/avaliador-sintatico/dialetos/index.d.ts +1 -0
- package/src/avaliador-sintatico/erros-avaliador.d.ts +2 -0
- package/src/avaliador-sintatico/index.d.ts +61 -0
- package/src/bibliotecas/bibliotecaGlobal.d.ts +1 -0
- package/src/bibliotecas/importarBiblioteca.d.ts +2 -0
- package/src/construtos/assign-subscript.d.ts +8 -0
- package/src/construtos/atribuir.d.ts +7 -0
- package/src/construtos/binario.d.ts +8 -0
- package/src/construtos/call.d.ts +8 -0
- package/src/construtos/conjunto.d.ts +8 -0
- package/src/construtos/dicionario.d.ts +7 -0
- package/src/construtos/expr.d.ts +3 -0
- package/src/construtos/funcao.d.ts +7 -0
- package/src/construtos/get.d.ts +7 -0
- package/src/construtos/grouping.d.ts +6 -0
- package/src/construtos/index.d.ts +18 -0
- package/src/construtos/isto.d.ts +6 -0
- package/src/construtos/literal.d.ts +6 -0
- package/src/construtos/logical.d.ts +8 -0
- package/src/construtos/subscript.d.ts +8 -0
- package/src/construtos/super.d.ts +7 -0
- package/src/construtos/unario.d.ts +7 -0
- package/src/construtos/variavel.d.ts +6 -0
- package/src/construtos/vetor.d.ts +6 -0
- package/src/declaracoes/block.d.ts +6 -0
- package/src/declaracoes/classe.d.ts +8 -0
- package/src/declaracoes/continua.d.ts +5 -0
- package/src/declaracoes/enquanto.d.ts +7 -0
- package/src/declaracoes/escolha.d.ts +8 -0
- package/src/declaracoes/escreva.d.ts +6 -0
- package/src/declaracoes/expressao.d.ts +6 -0
- package/src/declaracoes/fazer.d.ts +7 -0
- package/src/declaracoes/funcao.d.ts +7 -0
- package/src/declaracoes/importar.d.ts +7 -0
- package/src/declaracoes/index.d.ts +17 -0
- package/src/declaracoes/para.d.ts +9 -0
- package/src/declaracoes/pausa.d.ts +5 -0
- package/src/declaracoes/retorna.d.ts +7 -0
- package/src/declaracoes/se.d.ts +9 -0
- package/src/declaracoes/stmt.d.ts +3 -0
- package/src/declaracoes/tente.d.ts +9 -0
- package/src/declaracoes/var.d.ts +7 -0
- package/src/delegua.d.ts +21 -0
- package/src/delegua.js +1 -0
- package/src/delegua.js.map +1 -1
- package/src/estruturas/callable.d.ts +5 -0
- package/src/estruturas/classe.d.ts +11 -0
- package/src/estruturas/funcao-padrao.d.ts +9 -0
- package/src/estruturas/funcao.d.ts +12 -0
- package/src/estruturas/index.d.ts +6 -0
- package/src/estruturas/instancia.d.ts +8 -0
- package/src/estruturas/modulo.d.ts +5 -0
- package/src/excecoes/break-exception.d.ts +2 -0
- package/src/excecoes/continue-exception.d.ts +2 -0
- package/src/excecoes/erro-em-tempo-de-execucao.d.ts +5 -0
- package/src/excecoes/index.d.ts +4 -0
- package/src/excecoes/return-exception.d.ts +4 -0
- package/src/interfaces/avaliador-sintatico-interface.d.ts +55 -0
- package/src/interfaces/index.d.ts +6 -0
- package/src/interfaces/interpretador-interface.d.ts +51 -0
- package/src/interfaces/lexador-interface.d.ts +23 -0
- package/src/interfaces/pilha-interface.d.ts +7 -0
- package/src/interfaces/resolvedor-interface.d.ts +48 -0
- package/src/interfaces/simbolo-interface.d.ts +6 -0
- package/src/interpretador/dialetos/egua-classico.d.ts +58 -0
- package/src/interpretador/dialetos/index.d.ts +1 -0
- package/src/interpretador/index.d.ts +58 -0
- package/src/lexador/dialetos/egua-classico.d.ts +31 -0
- package/src/lexador/dialetos/index.d.ts +1 -0
- package/src/lexador/index.d.ts +31 -0
- package/src/resolvedor/Pilha.d.ts +9 -0
- package/src/resolvedor/ResolverError.d.ts +4 -0
- package/src/resolvedor/dialetos/egua-classico.d.ts +56 -0
- package/src/resolvedor/dialetos/index.d.ts +1 -0
- package/src/resolvedor/index.d.ts +56 -0
- package/src/tiposDeSimbolos.d.ts +67 -0
- package/src/web.d.ts +11 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { SimboloInterface } from "./simbolo-interface";
|
|
2
|
+
export interface AvaliadorSintaticoInterface {
|
|
3
|
+
simbolos: SimboloInterface[];
|
|
4
|
+
Delegua: any;
|
|
5
|
+
atual: number;
|
|
6
|
+
ciclos: number;
|
|
7
|
+
sincronizar(): void;
|
|
8
|
+
erro(simbolo: any, mensagemDeErro: any): any;
|
|
9
|
+
consumir(tipo: any, mensagemDeErro: any): any;
|
|
10
|
+
verificar(tipo: any): boolean;
|
|
11
|
+
verificarProximo(tipo: any): boolean;
|
|
12
|
+
simboloAtual(): any;
|
|
13
|
+
voltar(): any;
|
|
14
|
+
seek(posicao: number): any;
|
|
15
|
+
estaNoFinal(): boolean;
|
|
16
|
+
avancar(): any;
|
|
17
|
+
verificarSeSimboloAtualEIgualA(...argumentos: any[]): boolean;
|
|
18
|
+
primario(): any;
|
|
19
|
+
finalizarChamada(callee: any): any;
|
|
20
|
+
chamar(): any;
|
|
21
|
+
unario(): any;
|
|
22
|
+
exponenciacao(): any;
|
|
23
|
+
multiplicar(): any;
|
|
24
|
+
adicionar(): any;
|
|
25
|
+
bitFill(): any;
|
|
26
|
+
bitE(): any;
|
|
27
|
+
bitOu(): any;
|
|
28
|
+
comparar(): any;
|
|
29
|
+
comparacaoIgualdade(): any;
|
|
30
|
+
em(): any;
|
|
31
|
+
e(): any;
|
|
32
|
+
ou(): any;
|
|
33
|
+
atribuir(): any;
|
|
34
|
+
expressao(): any;
|
|
35
|
+
declaracaoMostrar(): any;
|
|
36
|
+
declaracaoExpressao(): any;
|
|
37
|
+
blocoEscopo(): any;
|
|
38
|
+
declaracaoSe(): any;
|
|
39
|
+
declaracaoEnquanto(): any;
|
|
40
|
+
declaracaoPara(): any;
|
|
41
|
+
breakStatement(): any;
|
|
42
|
+
declaracaoContinua(): any;
|
|
43
|
+
declaracaoRetorna(): any;
|
|
44
|
+
declaracaoEscolha(): any;
|
|
45
|
+
declaracaoImportar(): any;
|
|
46
|
+
declaracaoTentar(): any;
|
|
47
|
+
declaracaoFazer(): any;
|
|
48
|
+
resolverDeclaracao(): any;
|
|
49
|
+
declaracaoDeVariavel(): any;
|
|
50
|
+
funcao(kind: any): any;
|
|
51
|
+
corpoDaFuncao(kind: any): any;
|
|
52
|
+
declaracaoDeClasse(): any;
|
|
53
|
+
declaracao(): any;
|
|
54
|
+
analisar(simbolos?: SimboloInterface[]): any;
|
|
55
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export interface InterpretadorInterface {
|
|
2
|
+
Delegua: any;
|
|
3
|
+
diretorioBase: any;
|
|
4
|
+
global: any;
|
|
5
|
+
ambiente: any;
|
|
6
|
+
locais: any;
|
|
7
|
+
resolver(expr: any, depth: any): void;
|
|
8
|
+
visitarExpressaoLiteral(expr: any): any;
|
|
9
|
+
avaliar(expr: any): any;
|
|
10
|
+
visitarExpressaoAgrupamento(expr: any): any;
|
|
11
|
+
eVerdadeiro(objeto: any): boolean;
|
|
12
|
+
verificarOperandoNumero(operador: any, operand: any): void;
|
|
13
|
+
visitarExpressaoUnaria(expr: any): any;
|
|
14
|
+
eIgual(esquerda: any, direita: any): any;
|
|
15
|
+
verificarOperandosNumeros(operador: any, direita: any, esquerda: any): void;
|
|
16
|
+
visitarExpressaoBinaria(expr: any): any;
|
|
17
|
+
visitarExpressaoDeChamada(expr: any): any;
|
|
18
|
+
visitarExpressaoDeAtribuicao(expr: any): any;
|
|
19
|
+
procurarVariavel(nome: any, expr: any): any;
|
|
20
|
+
visitarExpressaoDeVariavel(expr: any): any;
|
|
21
|
+
visitarDeclaracaoDeExpressao(stmt: any): any;
|
|
22
|
+
visitarExpressaoLogica(expr: any): any;
|
|
23
|
+
visitarExpressaoSe(stmt: any): any;
|
|
24
|
+
visitarExpressaoPara(stmt: any): any;
|
|
25
|
+
visitarExpressaoFazer(stmt: any): any;
|
|
26
|
+
visitarExpressaoEscolha(stmt: any): any;
|
|
27
|
+
visitarExpressaoTente(stmt: any): any;
|
|
28
|
+
visitarExpressaoEnquanto(stmt: any): any;
|
|
29
|
+
visitarExpressaoImportar(stmt: any): any;
|
|
30
|
+
visitarExpressaoEscreva(stmt: any): any;
|
|
31
|
+
executarBloco(declaracoes: any, ambiente: any): void;
|
|
32
|
+
visitarExpressaoBloco(stmt: any): null;
|
|
33
|
+
visitarExpressaoVar(stmt: any): null;
|
|
34
|
+
visitarExpressaoContinua(stmt?: any): void;
|
|
35
|
+
visitarExpressaoPausa(stmt?: any): void;
|
|
36
|
+
visitarExpressaoRetornar(stmt: any): void;
|
|
37
|
+
visitarExpressaoDeleguaFuncao(expr: any): any;
|
|
38
|
+
visitarExpressaoAtribuicaoSobrescrita(expr: any): void;
|
|
39
|
+
visitarExpressaoVetorIndice(expressao: any): any;
|
|
40
|
+
visitarExpressaoDefinir(expr: any): any;
|
|
41
|
+
visitarExpressaoFuncao(stmt: any): any;
|
|
42
|
+
visitarExpressaoClasse(stmt: any): any;
|
|
43
|
+
visitarExpressaoObter(expr: any): any;
|
|
44
|
+
visitarExpressaoIsto(expr: any): any;
|
|
45
|
+
visitarExpressaoDicionario(expr: any): any;
|
|
46
|
+
visitarExpressaoVetor(expr: any): any;
|
|
47
|
+
visitarExpressaoSuper(expr: any): any;
|
|
48
|
+
paraTexto(objeto: any): any;
|
|
49
|
+
executar(stmt: any, mostrarResultado: boolean): void;
|
|
50
|
+
interpretar(declaracoes: any): void;
|
|
51
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface LexadorInterface {
|
|
2
|
+
Delegua: any;
|
|
3
|
+
codigo: any;
|
|
4
|
+
simbolos: any;
|
|
5
|
+
inicio: any;
|
|
6
|
+
atual: any;
|
|
7
|
+
linha: any;
|
|
8
|
+
eDigito(caractere: any): boolean;
|
|
9
|
+
eAlfabeto(caractere: any): boolean;
|
|
10
|
+
eAlfabetoOuDigito(caractere: any): boolean;
|
|
11
|
+
eFinalDoCodigo(): boolean;
|
|
12
|
+
avancar(): void;
|
|
13
|
+
adicionarSimbolo(tipo: any, literal: any): void;
|
|
14
|
+
match(esperado: any): boolean;
|
|
15
|
+
peek(): any;
|
|
16
|
+
peekNext(): any;
|
|
17
|
+
voltar(): any;
|
|
18
|
+
analisarTexto(texto: string): void;
|
|
19
|
+
analisarNumero(): void;
|
|
20
|
+
identificarPalavraChave(): void;
|
|
21
|
+
scanToken(): void;
|
|
22
|
+
scan(codigo?: any): any;
|
|
23
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export interface ResolvedorInterface {
|
|
2
|
+
interpretador: any;
|
|
3
|
+
Delegua: any;
|
|
4
|
+
escopos: any;
|
|
5
|
+
FuncaoAtual: any;
|
|
6
|
+
ClasseAtual: any;
|
|
7
|
+
cicloAtual: any;
|
|
8
|
+
definir(nome: any): void;
|
|
9
|
+
declarar(nome: any): void;
|
|
10
|
+
inicioDoEscopo(): void;
|
|
11
|
+
finalDoEscopo(): void;
|
|
12
|
+
resolver(declaracoes: any): void;
|
|
13
|
+
resolverLocal(expr: any, nome: any): void;
|
|
14
|
+
visitarExpressaoBloco(stmt: any): any;
|
|
15
|
+
visitarExpressaoDeVariavel(expr: any): any;
|
|
16
|
+
visitarExpressaoVar(stmt: any): any;
|
|
17
|
+
visitarExpressaoDeAtribuicao(expr: any): any;
|
|
18
|
+
resolverFuncao(funcao: any, funcType: any): void;
|
|
19
|
+
visitarExpressaoFuncao(stmt: any): any;
|
|
20
|
+
visitarExpressaoDeleguaFuncao(stmt: any): any;
|
|
21
|
+
visitarExpressaoTente(stmt: any): any;
|
|
22
|
+
visitarExpressaoClasse(stmt: any): any;
|
|
23
|
+
visitarExpressaoSuper(expr: any): any;
|
|
24
|
+
visitarExpressaoObter(expr: any): any;
|
|
25
|
+
visitarDeclaracaoDeExpressao(stmt: any): any;
|
|
26
|
+
visitarExpressaoSe(stmt: any): any;
|
|
27
|
+
visitarExpressaoImportar(stmt: any): void;
|
|
28
|
+
visitarExpressaoEscreva(stmt: any): void;
|
|
29
|
+
visitarExpressaoRetornar(stmt: any): any;
|
|
30
|
+
visitarExpressaoEscolha(stmt: any): void;
|
|
31
|
+
visitarExpressaoEnquanto(stmt: any): any;
|
|
32
|
+
visitarExpressaoPara(stmt: any): any;
|
|
33
|
+
visitarExpressaoFazer(stmt: any): any;
|
|
34
|
+
visitarExpressaoBinaria(expr: any): any;
|
|
35
|
+
visitarExpressaoDeChamada(expr: any): any;
|
|
36
|
+
visitarExpressaoAgrupamento(expr: any): any;
|
|
37
|
+
visitarExpressaoDicionario(expr: any): any;
|
|
38
|
+
visitarExpressaoVetor(expr: any): any;
|
|
39
|
+
visitarExpressaoVetorIndice(expr: any): any;
|
|
40
|
+
visitarExpressaoContinua(stmt?: any): any;
|
|
41
|
+
visitarExpressaoPausa(stmt?: any): any;
|
|
42
|
+
visitarExpressaoAtribuicaoSobrescrita(expr?: any): any;
|
|
43
|
+
visitarExpressaoLiteral(expr?: any): any;
|
|
44
|
+
visitarExpressaoLogica(expr?: any): any;
|
|
45
|
+
visitarExpressaoUnaria(expr?: any): any;
|
|
46
|
+
visitarExpressaoDefinir(expr?: any): any;
|
|
47
|
+
visitarExpressaoIsto(expr?: any): any;
|
|
48
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { DeleguaFuncao } from "../../estruturas/funcao";
|
|
2
|
+
import { InterpretadorInterface } from "../../interfaces";
|
|
3
|
+
/**
|
|
4
|
+
* O Interpretador visita todos os elementos complexos gerados pelo analisador sintático (Parser)
|
|
5
|
+
* e de fato executa a lógica de programação descrita no código.
|
|
6
|
+
*/
|
|
7
|
+
export declare class InterpretadorEguaClassico implements InterpretadorInterface {
|
|
8
|
+
Delegua: any;
|
|
9
|
+
diretorioBase: any;
|
|
10
|
+
global: any;
|
|
11
|
+
ambiente: any;
|
|
12
|
+
locais: any;
|
|
13
|
+
constructor(Delegua: any, diretorioBase: any);
|
|
14
|
+
resolver(expr: any, depth: any): void;
|
|
15
|
+
visitarExpressaoLiteral(expr: any): any;
|
|
16
|
+
avaliar(expr: any): any;
|
|
17
|
+
visitarExpressaoAgrupamento(expr: any): any;
|
|
18
|
+
eVerdadeiro(objeto: any): boolean;
|
|
19
|
+
verificarOperandoNumero(operador: any, operand: any): void;
|
|
20
|
+
visitarExpressaoUnaria(expr: any): number | boolean;
|
|
21
|
+
eIgual(esquerda: any, direita: any): boolean;
|
|
22
|
+
verificarOperandosNumeros(operador: any, direita: any, esquerda: any): void;
|
|
23
|
+
visitarExpressaoBinaria(expr: any): string | number | boolean;
|
|
24
|
+
visitarExpressaoDeChamada(expr: any): any;
|
|
25
|
+
visitarExpressaoDeAtribuicao(expr: any): any;
|
|
26
|
+
procurarVariavel(nome: any, expr: any): any;
|
|
27
|
+
visitarExpressaoDeVariavel(expr: any): any;
|
|
28
|
+
visitarDeclaracaoDeExpressao(stmt: any): any;
|
|
29
|
+
visitarExpressaoLogica(expr: any): any;
|
|
30
|
+
visitarExpressaoSe(stmt: any): any;
|
|
31
|
+
visitarExpressaoPara(stmt: any): any;
|
|
32
|
+
visitarExpressaoFazer(stmt: any): void;
|
|
33
|
+
visitarExpressaoEscolha(stmt: any): void;
|
|
34
|
+
visitarExpressaoTente(stmt: any): void;
|
|
35
|
+
visitarExpressaoEnquanto(stmt: any): any;
|
|
36
|
+
visitarExpressaoImportar(stmt: any): any;
|
|
37
|
+
visitarExpressaoEscreva(stmt: any): any;
|
|
38
|
+
executarBloco(declaracoes: any, ambiente: any): void;
|
|
39
|
+
visitarExpressaoBloco(stmt: any): any;
|
|
40
|
+
visitarExpressaoVar(stmt: any): any;
|
|
41
|
+
visitarExpressaoContinua(stmt?: any): void;
|
|
42
|
+
visitarExpressaoPausa(stmt?: any): void;
|
|
43
|
+
visitarExpressaoRetornar(stmt: any): void;
|
|
44
|
+
visitarExpressaoDeleguaFuncao(expr: any): DeleguaFuncao;
|
|
45
|
+
visitarExpressaoAtribuicaoSobrescrita(expr: any): void;
|
|
46
|
+
visitarExpressaoVetorIndice(expressao: any): any;
|
|
47
|
+
visitarExpressaoDefinir(expr: any): any;
|
|
48
|
+
visitarExpressaoFuncao(stmt: any): void;
|
|
49
|
+
visitarExpressaoClasse(stmt: any): any;
|
|
50
|
+
visitarExpressaoObter(expr: any): any;
|
|
51
|
+
visitarExpressaoIsto(expr: any): any;
|
|
52
|
+
visitarExpressaoDicionario(expr: any): {};
|
|
53
|
+
visitarExpressaoVetor(expr: any): any[];
|
|
54
|
+
visitarExpressaoSuper(expr: any): any;
|
|
55
|
+
paraTexto(objeto: any): any;
|
|
56
|
+
executar(stmt: any, mostrarResultado?: boolean): void;
|
|
57
|
+
interpretar(declaracoes: any): void;
|
|
58
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './egua-classico';
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { DeleguaFuncao } from "../estruturas/funcao";
|
|
2
|
+
import { InterpretadorInterface } from "../interfaces";
|
|
3
|
+
/**
|
|
4
|
+
* O Interpretador visita todos os elementos complexos gerados pelo analisador sintático (Parser)
|
|
5
|
+
* e de fato executa a lógica de programação descrita no código.
|
|
6
|
+
*/
|
|
7
|
+
export declare class Interpretador implements InterpretadorInterface {
|
|
8
|
+
Delegua: any;
|
|
9
|
+
diretorioBase: any;
|
|
10
|
+
global: any;
|
|
11
|
+
ambiente: any;
|
|
12
|
+
locais: any;
|
|
13
|
+
constructor(Delegua: any, diretorioBase: any);
|
|
14
|
+
resolver(expr: any, depth: any): void;
|
|
15
|
+
visitarExpressaoLiteral(expr: any): any;
|
|
16
|
+
avaliar(expr: any): any;
|
|
17
|
+
visitarExpressaoAgrupamento(expr: any): any;
|
|
18
|
+
eVerdadeiro(objeto: any): boolean;
|
|
19
|
+
verificarOperandoNumero(operador: any, operando: any): void;
|
|
20
|
+
visitarExpressaoUnaria(expr: any): number | boolean;
|
|
21
|
+
eIgual(esquerda: any, direita: any): boolean;
|
|
22
|
+
verificarOperandosNumeros(operador: any, direita: any, esquerda: any): void;
|
|
23
|
+
visitarExpressaoBinaria(expr: any): string | number | boolean;
|
|
24
|
+
visitarExpressaoDeChamada(expr: any): any;
|
|
25
|
+
visitarExpressaoDeAtribuicao(expr: any): any;
|
|
26
|
+
procurarVariavel(nome: any, expr: any): any;
|
|
27
|
+
visitarExpressaoDeVariavel(expr: any): any;
|
|
28
|
+
visitarDeclaracaoDeExpressao(stmt: any): any;
|
|
29
|
+
visitarExpressaoLogica(expr: any): any;
|
|
30
|
+
visitarExpressaoSe(stmt: any): any;
|
|
31
|
+
visitarExpressaoPara(stmt: any): any;
|
|
32
|
+
visitarExpressaoFazer(stmt: any): void;
|
|
33
|
+
visitarExpressaoEscolha(stmt: any): void;
|
|
34
|
+
visitarExpressaoTente(stmt: any): void;
|
|
35
|
+
visitarExpressaoEnquanto(stmt: any): any;
|
|
36
|
+
visitarExpressaoImportar(stmt: any): any;
|
|
37
|
+
visitarExpressaoEscreva(stmt: any): any;
|
|
38
|
+
executarBloco(declaracoes: any, ambiente: any): void;
|
|
39
|
+
visitarExpressaoBloco(stmt: any): any;
|
|
40
|
+
visitarExpressaoVar(stmt: any): any;
|
|
41
|
+
visitarExpressaoContinua(stmt?: any): void;
|
|
42
|
+
visitarExpressaoPausa(stmt?: any): void;
|
|
43
|
+
visitarExpressaoRetornar(stmt: any): void;
|
|
44
|
+
visitarExpressaoDeleguaFuncao(expr: any): DeleguaFuncao;
|
|
45
|
+
visitarExpressaoAtribuicaoSobrescrita(expr: any): void;
|
|
46
|
+
visitarExpressaoVetorIndice(expressao: any): any;
|
|
47
|
+
visitarExpressaoDefinir(expr: any): any;
|
|
48
|
+
visitarExpressaoFuncao(stmt: any): void;
|
|
49
|
+
visitarExpressaoClasse(stmt: any): any;
|
|
50
|
+
visitarExpressaoObter(expr: any): any;
|
|
51
|
+
visitarExpressaoIsto(expr: any): any;
|
|
52
|
+
visitarExpressaoDicionario(expr: any): {};
|
|
53
|
+
visitarExpressaoVetor(expr: any): any[];
|
|
54
|
+
visitarExpressaoSuper(expr: any): any;
|
|
55
|
+
paraTexto(objeto: any): any;
|
|
56
|
+
executar(stmt: any, mostrarResultado?: boolean): void;
|
|
57
|
+
interpretar(declaracoes: any): void;
|
|
58
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LexadorInterface } from "../../interfaces";
|
|
2
|
+
/**
|
|
3
|
+
* O Lexador é responsável por transformar o código em uma coleção de tokens de linguagem.
|
|
4
|
+
* Cada token de linguagem é representado por um tipo, um lexema e informações da linha de código em que foi expresso.
|
|
5
|
+
* Também é responsável por mapear as palavras reservadas da linguagem, que não podem ser usadas por outras
|
|
6
|
+
* estruturas, tais como nomes de variáveis, funções, literais, classes e assim por diante.
|
|
7
|
+
*/
|
|
8
|
+
export declare class LexerEguaClassico implements LexadorInterface {
|
|
9
|
+
Delegua: any;
|
|
10
|
+
codigo: any;
|
|
11
|
+
simbolos: any;
|
|
12
|
+
inicio: any;
|
|
13
|
+
atual: any;
|
|
14
|
+
linha: any;
|
|
15
|
+
constructor(Delegua: any, codigo?: any);
|
|
16
|
+
eDigito(caractere: any): boolean;
|
|
17
|
+
eAlfabeto(caractere: any): boolean;
|
|
18
|
+
eAlfabetoOuDigito(caractere: any): boolean;
|
|
19
|
+
eFinalDoCodigo(): boolean;
|
|
20
|
+
avancar(): any;
|
|
21
|
+
adicionarSimbolo(tipo: any, literal?: any): void;
|
|
22
|
+
match(esperado: any): boolean;
|
|
23
|
+
peek(): any;
|
|
24
|
+
peekNext(): any;
|
|
25
|
+
voltar(): any;
|
|
26
|
+
analisarTexto(texto?: string): void;
|
|
27
|
+
analisarNumero(): void;
|
|
28
|
+
identificarPalavraChave(): void;
|
|
29
|
+
scanToken(): void;
|
|
30
|
+
scan(codigo?: any): any;
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './egua-classico';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LexadorInterface } from "../interfaces";
|
|
2
|
+
/**
|
|
3
|
+
* O Lexador é responsável por transformar o código em uma coleção de tokens de linguagem.
|
|
4
|
+
* Cada token de linguagem é representado por um tipo, um lexema e informações da linha de código em que foi expresso.
|
|
5
|
+
* Também é responsável por mapear as palavras reservadas da linguagem, que não podem ser usadas por outras
|
|
6
|
+
* estruturas, tais como nomes de variáveis, funções, literais, classes e assim por diante.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Lexer implements LexadorInterface {
|
|
9
|
+
Delegua: any;
|
|
10
|
+
codigo: any;
|
|
11
|
+
simbolos: any;
|
|
12
|
+
inicio: any;
|
|
13
|
+
atual: any;
|
|
14
|
+
linha: any;
|
|
15
|
+
constructor(Delegua: any, codigo?: any);
|
|
16
|
+
eDigito(caractere: any): boolean;
|
|
17
|
+
eAlfabeto(caractere: any): boolean;
|
|
18
|
+
eAlfabetoOuDigito(caractere: any): boolean;
|
|
19
|
+
eFinalDoCodigo(): boolean;
|
|
20
|
+
avancar(): any;
|
|
21
|
+
adicionarSimbolo(tipo: any, literal?: any): void;
|
|
22
|
+
match(esperado: any): boolean;
|
|
23
|
+
peek(): any;
|
|
24
|
+
peekNext(): any;
|
|
25
|
+
voltar(): any;
|
|
26
|
+
analisarTexto(texto?: string): void;
|
|
27
|
+
analisarNumero(): void;
|
|
28
|
+
identificarPalavraChave(): void;
|
|
29
|
+
scanToken(): void;
|
|
30
|
+
scan(codigo?: any): any;
|
|
31
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ResolvedorInterface } from "../../interfaces/resolvedor-interface";
|
|
2
|
+
/**
|
|
3
|
+
* O Resolvedor (Resolver) é responsável por catalogar todos os identificadores complexos, como por exemplo: funções, classes, variáveis,
|
|
4
|
+
* e delimitar os escopos onde esses identificadores existem.
|
|
5
|
+
* Exemplo: uma classe A declara dois métodos chamados M e N. Todas as variáveis declaradas dentro de M não podem ser vistas por N, e vice-versa.
|
|
6
|
+
* No entanto, todas as variáveis declaradas dentro da classe A podem ser vistas tanto por M quanto por N.
|
|
7
|
+
*/
|
|
8
|
+
export declare class ResolverEguaClassico implements ResolvedorInterface {
|
|
9
|
+
interpretador: any;
|
|
10
|
+
Delegua: any;
|
|
11
|
+
escopos: any;
|
|
12
|
+
FuncaoAtual: any;
|
|
13
|
+
ClasseAtual: any;
|
|
14
|
+
cicloAtual: any;
|
|
15
|
+
constructor(Delegua: any, interpretador: any);
|
|
16
|
+
definir(nome: any): void;
|
|
17
|
+
declarar(nome: any): void;
|
|
18
|
+
inicioDoEscopo(): void;
|
|
19
|
+
finalDoEscopo(): void;
|
|
20
|
+
resolver(declaracoes: any): void;
|
|
21
|
+
resolverLocal(expr: any, nome: any): void;
|
|
22
|
+
visitarExpressaoBloco(stmt: any): any;
|
|
23
|
+
visitarExpressaoDeVariavel(expr: any): any;
|
|
24
|
+
visitarExpressaoVar(stmt: any): any;
|
|
25
|
+
visitarExpressaoDeAtribuicao(expr: any): any;
|
|
26
|
+
resolverFuncao(funcao: any, funcType: any): void;
|
|
27
|
+
visitarExpressaoFuncao(stmt: any): any;
|
|
28
|
+
visitarExpressaoDeleguaFuncao(stmt: any): any;
|
|
29
|
+
visitarExpressaoTente(stmt: any): any;
|
|
30
|
+
visitarExpressaoClasse(stmt: any): any;
|
|
31
|
+
visitarExpressaoSuper(expr: any): any;
|
|
32
|
+
visitarExpressaoObter(expr: any): any;
|
|
33
|
+
visitarDeclaracaoDeExpressao(stmt: any): any;
|
|
34
|
+
visitarExpressaoSe(stmt: any): any;
|
|
35
|
+
visitarExpressaoImportar(stmt: any): void;
|
|
36
|
+
visitarExpressaoEscreva(stmt: any): void;
|
|
37
|
+
visitarExpressaoRetornar(stmt: any): any;
|
|
38
|
+
visitarExpressaoEscolha(stmt: any): void;
|
|
39
|
+
visitarExpressaoEnquanto(stmt: any): any;
|
|
40
|
+
visitarExpressaoPara(stmt: any): any;
|
|
41
|
+
visitarExpressaoFazer(stmt: any): any;
|
|
42
|
+
visitarExpressaoBinaria(expr: any): any;
|
|
43
|
+
visitarExpressaoDeChamada(expr: any): any;
|
|
44
|
+
visitarExpressaoAgrupamento(expr: any): any;
|
|
45
|
+
visitarExpressaoDicionario(expr: any): any;
|
|
46
|
+
visitarExpressaoVetor(expr: any): any;
|
|
47
|
+
visitarExpressaoVetorIndice(expr: any): any;
|
|
48
|
+
visitarExpressaoContinua(stmt?: any): any;
|
|
49
|
+
visitarExpressaoPausa(stmt?: any): any;
|
|
50
|
+
visitarExpressaoAtribuicaoSobrescrita(expr?: any): any;
|
|
51
|
+
visitarExpressaoLiteral(expr?: any): any;
|
|
52
|
+
visitarExpressaoLogica(expr?: any): any;
|
|
53
|
+
visitarExpressaoUnaria(expr?: any): any;
|
|
54
|
+
visitarExpressaoDefinir(expr?: any): any;
|
|
55
|
+
visitarExpressaoIsto(expr?: any): any;
|
|
56
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './egua-classico';
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ResolvedorInterface } from "../interfaces/resolvedor-interface";
|
|
2
|
+
/**
|
|
3
|
+
* O Resolvedor (Resolver) é responsável por catalogar todos os identificadores complexos, como por exemplo: funções, classes, variáveis,
|
|
4
|
+
* e delimitar os escopos onde esses identificadores existem.
|
|
5
|
+
* Exemplo: uma classe A declara dois métodos chamados M e N. Todas as variáveis declaradas dentro de M não podem ser vistas por N, e vice-versa.
|
|
6
|
+
* No entanto, todas as variáveis declaradas dentro da classe A podem ser vistas tanto por M quanto por N.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Resolver implements ResolvedorInterface {
|
|
9
|
+
interpretador: any;
|
|
10
|
+
Delegua: any;
|
|
11
|
+
escopos: any;
|
|
12
|
+
FuncaoAtual: any;
|
|
13
|
+
ClasseAtual: any;
|
|
14
|
+
cicloAtual: any;
|
|
15
|
+
constructor(Delegua: any, interpretador: any);
|
|
16
|
+
definir(nome: any): void;
|
|
17
|
+
declarar(nome: any): void;
|
|
18
|
+
inicioDoEscopo(): void;
|
|
19
|
+
finalDoEscopo(): void;
|
|
20
|
+
resolver(declaracoes: any): void;
|
|
21
|
+
resolverLocal(expr: any, nome: any): void;
|
|
22
|
+
visitarExpressaoBloco(stmt: any): any;
|
|
23
|
+
visitarExpressaoDeVariavel(expr: any): any;
|
|
24
|
+
visitarExpressaoVar(stmt: any): any;
|
|
25
|
+
visitarExpressaoDeAtribuicao(expr: any): any;
|
|
26
|
+
resolverFuncao(funcao: any, funcType: any): void;
|
|
27
|
+
visitarExpressaoFuncao(stmt: any): any;
|
|
28
|
+
visitarExpressaoDeleguaFuncao(stmt: any): any;
|
|
29
|
+
visitarExpressaoTente(stmt: any): any;
|
|
30
|
+
visitarExpressaoClasse(stmt: any): any;
|
|
31
|
+
visitarExpressaoSuper(expr: any): any;
|
|
32
|
+
visitarExpressaoObter(expr: any): any;
|
|
33
|
+
visitarDeclaracaoDeExpressao(stmt: any): any;
|
|
34
|
+
visitarExpressaoSe(stmt: any): any;
|
|
35
|
+
visitarExpressaoImportar(stmt: any): void;
|
|
36
|
+
visitarExpressaoEscreva(stmt: any): void;
|
|
37
|
+
visitarExpressaoRetornar(stmt: any): any;
|
|
38
|
+
visitarExpressaoEscolha(stmt: any): void;
|
|
39
|
+
visitarExpressaoEnquanto(stmt: any): any;
|
|
40
|
+
visitarExpressaoPara(stmt: any): any;
|
|
41
|
+
visitarExpressaoFazer(stmt: any): any;
|
|
42
|
+
visitarExpressaoBinaria(expr: any): any;
|
|
43
|
+
visitarExpressaoDeChamada(expr: any): any;
|
|
44
|
+
visitarExpressaoAgrupamento(expr: any): any;
|
|
45
|
+
visitarExpressaoDicionario(expr: any): any;
|
|
46
|
+
visitarExpressaoVetor(expr: any): any;
|
|
47
|
+
visitarExpressaoVetorIndice(expr: any): any;
|
|
48
|
+
visitarExpressaoContinua(stmt?: any): any;
|
|
49
|
+
visitarExpressaoPausa(stmt?: any): any;
|
|
50
|
+
visitarExpressaoAtribuicaoSobrescrita(expr?: any): any;
|
|
51
|
+
visitarExpressaoLiteral(expr?: any): any;
|
|
52
|
+
visitarExpressaoLogica(expr?: any): any;
|
|
53
|
+
visitarExpressaoUnaria(expr?: any): any;
|
|
54
|
+
visitarExpressaoDefinir(expr?: any): any;
|
|
55
|
+
visitarExpressaoIsto(expr?: any): any;
|
|
56
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
ADICAO: string;
|
|
3
|
+
BIT_AND: string;
|
|
4
|
+
BIT_OR: string;
|
|
5
|
+
BIT_XOR: string;
|
|
6
|
+
BIT_NOT: string;
|
|
7
|
+
CASO: string;
|
|
8
|
+
CHAVE_DIREITA: string;
|
|
9
|
+
CHAVE_ESQUERDA: string;
|
|
10
|
+
CLASSE: string;
|
|
11
|
+
COLCHETE_DIREITO: string;
|
|
12
|
+
COLCHETE_ESQUERDO: string;
|
|
13
|
+
COMMA: string;
|
|
14
|
+
CONTINUA: string;
|
|
15
|
+
DIFERENTE: string;
|
|
16
|
+
DIVISAO: string;
|
|
17
|
+
DOIS_PONTOS: string;
|
|
18
|
+
E: string;
|
|
19
|
+
EM: string;
|
|
20
|
+
ENQUANTO: string;
|
|
21
|
+
EOF: string;
|
|
22
|
+
ESCOLHA: string;
|
|
23
|
+
ESCREVA: string;
|
|
24
|
+
EXPONENCIACAO: string;
|
|
25
|
+
IGUAL: string;
|
|
26
|
+
IGUAL_IGUAL: string;
|
|
27
|
+
FALSO: string;
|
|
28
|
+
FAZER: string;
|
|
29
|
+
FINALMENTE: string;
|
|
30
|
+
FUNCAO: string;
|
|
31
|
+
MAIOR: string;
|
|
32
|
+
MAIOR_IGUAL: string;
|
|
33
|
+
MAIOR_MAIOR: string;
|
|
34
|
+
HERDA: string;
|
|
35
|
+
IDENTIFICADOR: string;
|
|
36
|
+
IMPORTAR: string;
|
|
37
|
+
ISTO: string;
|
|
38
|
+
MENOR: string;
|
|
39
|
+
MENOR_IGUAL: string;
|
|
40
|
+
MENOR_MENOR: string;
|
|
41
|
+
MAIS_IGUAL: string;
|
|
42
|
+
MODULO: string;
|
|
43
|
+
MULTIPLICACAO: string;
|
|
44
|
+
NEGACAO: string;
|
|
45
|
+
NULO: string;
|
|
46
|
+
NUMERO: string;
|
|
47
|
+
OU: string;
|
|
48
|
+
PADRAO: string;
|
|
49
|
+
PARA: string;
|
|
50
|
+
PARENTESE_DIREITO: string;
|
|
51
|
+
PARENTESE_ESQUERDO: string;
|
|
52
|
+
PAUSA: string;
|
|
53
|
+
PEGUE: string;
|
|
54
|
+
PONTO: string;
|
|
55
|
+
PONTO_E_VIRGULA: string;
|
|
56
|
+
RETORNA: string;
|
|
57
|
+
SUBTRACAO: string;
|
|
58
|
+
SE: string;
|
|
59
|
+
SENAO: string;
|
|
60
|
+
SENAOSE: string;
|
|
61
|
+
SUPER: string;
|
|
62
|
+
TENTE: string;
|
|
63
|
+
TEXTO: string;
|
|
64
|
+
VAR: string;
|
|
65
|
+
VERDADEIRO: string;
|
|
66
|
+
};
|
|
67
|
+
export default _default;
|
package/src/web.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare class Delegua {
|
|
2
|
+
nomeArquivo: any;
|
|
3
|
+
teveErro: any;
|
|
4
|
+
teveErroEmTempoDeExecucao: any;
|
|
5
|
+
constructor(nomeArquivo: any);
|
|
6
|
+
runBlock(codigo: any): void;
|
|
7
|
+
reportar(linha: any, onde: any, mensagem: any): void;
|
|
8
|
+
erro(simbolo: any, mensagemDeErro: any): void;
|
|
9
|
+
lexerError(linha: any, caractere: any, mensagem: any): void;
|
|
10
|
+
erroEmTempoDeExecucao(erro: any): void;
|
|
11
|
+
}
|