@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
101 lines • 4.75 kB
TypeScript
import { AcessoIndiceVariavel, AcessoMetodo, AcessoMetodoOuPropriedade, AcessoPropriedade, Agrupamento, Atribuir, Binario, Chamada, DefinirValor, Dicionario, FuncaoConstruto, Leia, Literal, Unario, Variavel, Vetor } from '../construtos';
import { Bloco, Const, Declaracao, Enquanto, Escolha, Escreva, Expressao, Fazer, Para, ParaCada, Se, Var } from '../declaracoes';
import { CaminhoEscolha, TradutorInterface } from '../interfaces';
declare class ArestaFluxograma {
declaracao: Declaracao;
texto: string;
constructor(declaracao: Declaracao, texto: string);
}
declare class VerticeFluxograma {
origem: ArestaFluxograma;
destino: ArestaFluxograma;
texto?: string;
constructor(origem: ArestaFluxograma, destino: ArestaFluxograma, texto?: string);
paraTexto(): string;
}
/**
* [MermaidJs](https://mermaid.js.org/) é uma especificação que nos permite
* criar fluxogramas através de uma notação por texto.
*
* Este tradutor converte estruturas da avaliação sintática em um fluxograma
* compatível com o MermaidJs.
*
* Diferentemente de outros tradutores, este não trabalha diretamente com `string`s.
* Construtos sim devolvem `string`s, mas declarações devolvem um vetor de
* `VerticeFluxograma`.
* @see VerticeFluxograma
*/
export declare class TradutorMermaidJs implements TradutorInterface<Declaracao> {
anteriores: ArestaFluxograma[];
vertices: VerticeFluxograma[];
ultimaDicaVertice: string | undefined;
traduzirConstrutoAcessoIndiceVariavel(acessoIndiceVariavel: AcessoIndiceVariavel): string;
traduzirConstrutoAcessoMetodo(acessoMetodo: AcessoMetodo): string;
traduzirConstrutoAcessoMetodoOuPropriedade(acessoMetodoOuPropriedade: AcessoMetodoOuPropriedade): string;
traduzirConstrutoAcessoPropriedade(acessoPropriedade: AcessoPropriedade): string;
traduzirConstrutoAgrupamento(agrupamento: Agrupamento): string;
traduzirConstrutoAtribuir(atribuir: Atribuir): string;
traduzirConstrutoBinario(binario: Binario): string;
traduzirConstrutoChamada(chamada: Chamada): string;
traduzirConstrutoDefinirValor(definirValor: DefinirValor): string;
traduzirConstrutoDicionario(dicionario: Dicionario): string;
traduzirFuncaoConstruto(funcaoConstruto: FuncaoConstruto): string;
traduzirConstrutoLeia(leia: Leia): string;
traduzirConstrutoLiteral(literal: Literal): string;
traduzirConstrutoUnario(unario: Unario): string;
traduzirConstrutoVariavel(variavel: Variavel): string;
traduzirConstrutoVetor(vetor: Vetor): string;
protected logicaComumConexaoArestas(aresta: ArestaFluxograma): VerticeFluxograma[];
traduzirDeclaracaoBloco(declaracaoBloco: Bloco): VerticeFluxograma[];
traduzirDeclaracaoConst(declaracaoConst: Const): VerticeFluxograma[];
traduzirDeclaracaoEnquanto(declaracaoEnquanto: Enquanto): VerticeFluxograma[];
protected logicaComumCaminhoEscolha(declaracaoEscolha: Escolha, caminhoEscolha: CaminhoEscolha, linha: number, textoIdentificadorOuLiteral: string, caminhoPadrao: boolean): {
caminho: ArestaFluxograma;
declaracoesCaminho: VerticeFluxograma[];
};
traduzirDeclaracaoEscolha(declaracaoEscolha: Escolha): VerticeFluxograma[];
traduzirDeclaracaoEscreva(declaracaoEscreva: Escreva): VerticeFluxograma[];
traduzirDeclaracaoExpressao(declaracaoExpressao: Expressao): VerticeFluxograma[];
traduzirDeclaracaoFazerEnquanto(declaracaoFazerEnquanto: Fazer): VerticeFluxograma[];
traduzirDeclaracaoPara(declaracaoPara: Para): VerticeFluxograma[];
traduzirDeclaracaoParaCada(declaracaoParaCada: ParaCada): VerticeFluxograma[];
traduzirDeclaracaoSe(declaracaoSe: Se): VerticeFluxograma[];
protected logicaComumTraducaoVarEConst(declaracaoVarOuConst: Var | Const, textoInicial: string): string;
traduzirDeclaracaoVar(declaracaoVar: Var): VerticeFluxograma[];
dicionarioConstrutos: {
AcessoIndiceVariavel: any;
AcessoMetodo: any;
AcessoMetodoOuPropriedade: any;
AcessoPropriedade: any;
Agrupamento: any;
Atribuir: any;
Binario: any;
Chamada: any;
Comentario: () => string;
DefinirValor: any;
Dicionario: any;
FuncaoConstruto: any;
Isto: () => string;
Leia: any;
Literal: any;
Unario: any;
Variavel: any;
Vetor: any;
};
dicionarioDeclaracoes: {
Bloco: any;
Const: any;
Enquanto: any;
Escolha: any;
Expressao: any;
Escreva: any;
Fazer: any;
Para: any;
ParaCada: any;
Se: any;
Var: any;
};
traduzir(declaracoes: Declaracao[]): string;
}
export {};
//# sourceMappingURL=tradutor-mermaidjs.d.ts.map