UNPKG

@designliquido/delegua

Version:

Linguagem de programação simples e moderna usando português estruturado.

101 lines 5.19 kB
import { AcessoIndiceVariavel, AcessoMetodo, AcessoMetodoOuPropriedade, AcessoPropriedade, Agrupamento, ArgumentoReferenciaFuncao, AtribuicaoPorIndice, Atribuir, Binario, Chamada, Construto, DefinirValor, Dicionario, Leia, Literal, Logico, ReferenciaFuncao, Separador, SeTernario, 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 TradutorRuby 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; /** * Traduz uma função anônima de Delégua para um lambda do Ruby. * Em Delégua: funcao(x) { retorna x * 2 } * Em Ruby: lambda { |x| x * 2 } * * @param argumento O construto da função anônima * @returns String com o lambda do Ruby */ 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; traduzirConstrutoSeparador(separador: Separador): string; traduzirConstrutoSeTernario(seTernario: SeTernario): 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; 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; ComentarioComoConstruto: any; DefinirValor: any; Dicionario: any; FuncaoConstruto: any; Literal: any; Logico: any; ReferenciaFuncao: any; Separador: any; SeTernario: 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-ruby.d.ts.map