@designliquido/delegua
    Preparing search index...

    Class TradutorElixir

    Tradutor que converte código Delégua para Elixir.

    Elixir é uma linguagem funcional, então algumas conversões são necessárias:

    • Classes → Módulos com structs
    • Métodos → Funções que recebem structs como primeiro parâmetro
    • Loops imperativos → Funções recursivas ou Enum.each
    • Variables → Bindings imutáveis

    Implements

    Index

    Constructors

    Properties

    Methods

    adicionarIndentacao aumentarIndentacao converterIdentificador converterNomeModulo diminuirIndentacao extrairCamposDeDeclaracao extrairCamposStruct extrairInicializacoesStruct gerarVariavelTemporaria mapearMetodoBuiltIn obterNomeModulo traduzir traduzirMetodoClasse traduzirOperador visitarDeclaracaoCabecalhoPrograma visitarDeclaracaoClasse visitarDeclaracaoComentario visitarDeclaracaoConst visitarDeclaracaoConstMultiplo visitarDeclaracaoDeExpressao visitarDeclaracaoDefinicaoFuncao visitarDeclaracaoEnquanto visitarDeclaracaoEscolha visitarDeclaracaoEscreva visitarDeclaracaoEscrevaMesmaLinha visitarDeclaracaoFazer visitarDeclaracaoInicioAlgoritmo visitarDeclaracaoPara visitarDeclaracaoParaCada visitarDeclaracaoSe visitarDeclaracaoTendoComo visitarDeclaracaoTente visitarDeclaracaoTextoDocumentacao visitarDeclaracaoVar visitarDeclaracaoVarMultiplo visitarExpressaoAcessoElementoMatriz visitarExpressaoAcessoIndiceVariavel visitarExpressaoAcessoIntervaloVariavel visitarExpressaoAcessoMetodo visitarExpressaoAcessoMetodoOuPropriedade visitarExpressaoAcessoPropriedade visitarExpressaoAgrupamento visitarExpressaoArgumentoReferenciaFuncao visitarExpressaoAtribuicaoPorIndice visitarExpressaoAtribuicaoPorIndicesMatriz visitarExpressaoBinaria visitarExpressaoBloco visitarExpressaoComentario visitarExpressaoContinua visitarExpressaoDeAtribuicao visitarExpressaoDeChamada visitarExpressaoDefinirValor visitarExpressaoDeVariavel visitarExpressaoDicionario visitarExpressaoExpressaoRegular visitarExpressaoFalhar visitarExpressaoFimPara visitarExpressaoFormatacaoEscrita visitarExpressaoFuncaoConstruto visitarExpressaoIsto visitarExpressaoLeia visitarExpressaoLiteral visitarExpressaoLogica visitarExpressaoReferenciaFuncao visitarExpressaoRetornar visitarExpressaoSeparador visitarExpressaoSuper visitarExpressaoSustar visitarExpressaoTipoDe visitarExpressaoTupla visitarExpressaoTuplaN visitarExpressaoUnaria visitarExpressaoVetor

    Constructors

    Properties

    atributosModulo: Map<string, string>
    contadorVariavelTemporaria: number
    dentroDeMetodo: boolean
    funcoesConhecidas: Set<string>
    indentacaoAtual: number
    moduloAtual: string
    modulosConhecidos: Set<string>
    nomeParametroStruct: string

    Methods

    • Converte identificadores de camelCase para snake_case (convenção Elixir)

      Parameters

      • nome: string

      Returns string

    • Extrai campos de uma declaração recursivamente

      Parameters

      • declaracao: any
      • campos: Set<string>

      Returns void

    • Extrai inicializações de struct do corpo do construtor

      Parameters

      • corpo: any[]
      • nomeModulo: string

      Returns Promise<string>

    • Mapeia métodos built-in de Delégua para Elixir

      Parameters

      • metodo: string
      • objeto: string
      • argumentos: string[]

      Returns string