@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
94 lines • 5 kB
TypeScript
import { AcessoIndiceVariavel, AcessoMetodo, AcessoMetodoOuPropriedade, AcessoPropriedade, Agrupamento, ArgumentoReferenciaFuncao, AtribuicaoPorIndice, Atribuir, Binario, Chamada, Construto, DefinirValor, Dicionario, Leia, Literal, Logico, ReferenciaFuncao, Unario, Variavel, Vetor } from '../construtos';
import { Bloco, Classe, Comentario, Const, Declaracao, Enquanto, Escreva, Expressao, FuncaoDeclaracao, Para, ParaCada, Retorna, Se, Tente, Var } from '../declaracoes';
import { SimboloInterface, TradutorInterface } from '../interfaces';
export declare class TradutorPython implements TradutorInterface<Declaracao> {
indentacao: number;
classesConhecidas: string[];
protected traduzirSimboloOperador(operador: SimboloInterface): string;
protected traduzirFuncaoOuMetodo(nomeMetodo: string, objetoResolvido: string, argumentos: Construto[]): string;
protected logicaComumBlocoEscopo(declaracoes: Declaracao[]): string;
traduzirConstrutoAcessoIndiceVariavel(acessoIndiceVariavel: AcessoIndiceVariavel): string;
traduzirFuncaoAnonimaParaLambda(argumento: Construto): string;
traduzirAcessoMetodoVetor(objeto: Construto, nomeMetodo: string, argumentos: Construto[]): string;
traduzirConstrutoAcessoMetodo(acessoMetodo: AcessoMetodo, argumentos: Construto[]): string;
traduzirConstrutoAcessoMetodoOuPropriedade(acessoMetodo: AcessoMetodoOuPropriedade, argumentos: Construto[]): string;
traduzirConstrutoAcessoPropriedade(acessoPropriedade: AcessoPropriedade, argumentos: Construto[]): string;
traduzirConstrutoAgrupamento(agrupamento: Agrupamento): string;
traduzirConstrutoArgumentoReferenciaFuncao(argumentoReferenciaFuncao: ArgumentoReferenciaFuncao, argumentos: Construto[]): string;
traduzirConstrutoAtribuicaoPorIndice(atribuicaoPorIndice: AtribuicaoPorIndice): string;
traduzirConstrutoAtribuir(atribuir: Atribuir): string;
traduzirConstrutoBinario(binario: Binario): string;
traduzirConstrutoChamada(chamada: Chamada): string;
traduzirConstrutoComentario(comentario: Comentario): string;
traduzirConstrutoDefinirValor(definirValor: DefinirValor): string;
traduzirConstrutoDicionario(dicionario: Dicionario): string;
traduzirConstrutoLiteral(literal: Literal): string;
traduzirConstrutoLogico(logico: Logico): string;
traduzirConstrutoReferenciaFuncao(referenciaFuncao: ReferenciaFuncao, argumentos: Construto[]): string;
traduzirConstrutoUnario(unario: Unario): string;
traduzirConstrutoVariavel(variavel: Variavel, argumentos: Construto[]): string;
traduzirConstrutoVetor(vetor: Vetor): string;
protected logicaTraducaoMetodoClasse(metodoClasse: FuncaoDeclaracao): string;
traduzirDeclaracaoBloco(declaracaoBloco: Bloco): string;
traduzirDeclaracaoClasse(declaracaoClasse: Classe): string;
traduzirDeclaracaoConst(declaracaoConst: Const): string;
traduzirDeclaracaoEnquanto(declaracaoEnquanto: Enquanto): string;
traduzirDeclaracaoEscreva(declaracaoEscreva: Escreva): string;
traduzirDeclaracaoExpressao(declaracaoExpressao: Expressao): string;
traduzirDeclaracaoFuncao(declaracaoFuncao: FuncaoDeclaracao): string;
traduzirDeclaracaoLeia(declaracaoLeia: Leia): string;
/**
* Como não existe declaração `para` com variáveis de controle em Python, o
* que tentamos aqui é criar a mesma coisa usando `while()`.
* @param declaracaoPara A declaração `Para`.
* @returns Um bloco equivalente ao que seria um bloco `for` com variáveis de controle em Python.
*/
traduzirDeclaracaoPara(declaracaoPara: Para): string;
traduzirDeclaracaoParaCada(declaracaoParaCada: ParaCada): string;
traduzirDeclaracaoRetorna(declaracaoRetorna: Retorna): string;
traduzirDeclaracaoSe(declaracaoSe: Se, iniciarComIf?: boolean): string;
traduzirDeclaracaoTente(declaracaoTente: Tente): string;
traduzirDeclaracaoVar(declaracaoVar: Var): string;
dicionarioConstrutos: {
AcessoMetodo: any;
AcessoMetodoOuPropriedade: any;
AcessoPropriedade: any;
AcessoIndiceVariavel: any;
Agrupamento: any;
ArgumentoReferenciaFuncao: any;
AtribuicaoPorIndice: any;
Atribuir: any;
Binario: any;
Chamada: any;
Comentario: any;
DefinirValor: any;
Dicionario: any;
Literal: any;
Logico: any;
ReferenciaFuncao: any;
Unario: any;
Variavel: any;
Vetor: any;
};
dicionarioDeclaracoes: {
Bloco: any;
Classe: any;
Comentario: any;
Const: any;
Continua: () => string;
Enquanto: any;
Escreva: any;
Expressao: any;
FuncaoDeclaracao: any;
Leia: any;
Para: any;
ParaCada: any;
Retorna: any;
Se: any;
Sustar: () => string;
Tente: any;
Var: any;
};
traduzir(declaracoes: Declaracao[]): string;
}
//# sourceMappingURL=tradutor-python.d.ts.map