1 / 9

Projeto 1 de PLP Equipe: Daniel Leitão (dal) Dante Torres (dgt) Pablo Sampaio (pas)

Implementação de Lazy Evaluation a partir da Linguagem Funcional 2. Projeto 1 de PLP Equipe: Daniel Leitão (dal) Dante Torres (dgt) Pablo Sampaio (pas) . Sumário. Lazy Evaluation Projeto Proposto Alterações em LF2 Exemplos. Lazy Evaluation.

alvis
Download Presentation

Projeto 1 de PLP Equipe: Daniel Leitão (dal) Dante Torres (dgt) Pablo Sampaio (pas)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Implementação de Lazy Evaluation a partir da Linguagem Funcional 2 Projeto 1 de PLP Equipe: Daniel Leitão (dal) Dante Torres (dgt) Pablo Sampaio (pas)

  2. Sumário • Lazy Evaluation • Projeto Proposto • Alterações em LF2 • Exemplos

  3. Lazy Evaluation • Consiste na avaliação dos argumentos de uma função somente no momento em que forem utilizados pela primeira vez, e não imediatamente no momento da chamada da função. • Exemplo: let fun f1 a b = a in f1(2,1/0)

  4. Projeto Proposto Estende LF2 com: • Lazy Evaluation • Parâmetros de funções • Váriaveis locais (em let) • Curto-circuito (operadores or e and) • Otimização • Novos operadores • Aritméticos: divisão (/) e multiplicação (*) • Relacionais: menor (<) e maior (>)

  5. Principais Alterações em LF2 Interface AmbienteExecucaoLazy • void mapExpressao (Id idArg, Expressao exp) • Expressao getExpressao(Id idArg) • void atualizaId (Id idArg, Expressao expI d) Classe ContextoExecucaoLazy • Implementação da interface AmbienteExecucaoLazy

  6. Principais Alterações em LF2 Interface Expressao • Valor avaliar (AmbienteExecucaoLazy amb) Classe ExpDeclaracao • voidincludeBindings ( AmbienteExecucaoLazy ambiente, Map auxIdExpressao, Map auxIdValorFuncao)

  7. Principais Alterações em LF2 Classe Aplicacao • Map resolveParametersBindings ( AmbienteExecucaoLazy ambiente, ValorFuncao funcao) • void includeValueBindings ( AmbienteExecucaoLazy ambiente, Map mapIdExp) Classe Id • Valor avaliar(AmbienteExecucaoLazy ambiente)

  8. Principais Alterações em LF2 Classe ExpOr • Valor avaliar(AmbienteExecucaoLazy ambiente) Classe ExpAnd • Valor avaliar(AmbienteExecucaoLazy ambiente)

  9. Exemplos • http://www.cin.ufpe.br/~dgt/PLP/pagina/

More Related