On the performance of strategic attribute grammars

Detalhes bibliográficos
Autor(a) principal: Rodrigues, José Emanuel Silva
Data de Publicação: 2022
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: https://hdl.handle.net/1822/83668
Resumo: Dissertação de mestrado integrado em Engenharia Informática
id RCAP_1d1c3f82040f06b1560c50df5148dc8b
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/83668
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling On the performance of strategic attribute grammarsStrategic programmingAttribute grammarsZippersZtrategicProgramação estratégicaGramáticas de atributosDissertação de mestrado integrado em Engenharia InformáticaStrategic programming is a powerful technique used in language processing to define functions that traverse abstract syntax trees. With strategies, the programmer only indicates the nodes of the tree where the work has to be done, and the strategy used to traverse the whole tree and apply the function that works only on the defined nodes. In Haskell, there are two libraries that implement strategies: Strafunski and an equivalent library developed by DI: Ztrategic. Beyond that, we also have the Kiama library which is implemented in the Scala programming language. The Ztrategic library uses memorization in order to save work. Using memorization, the elimination of all occurrences of "bad smells" in an abstract tree of a program is done only once! In this thesis, we present a detailed study of the performance of the Kiama, Ztrategic, and memoized Ztrategic libraries, using different strategic problems and input languages.Programação estratégica é uma técnica poderosa usada em processamento de linguagens para definir funções que atravessam árvores de sintaxe abstracta. Com estratégias o programador apenas indica os nodos da árvore onde o trabalho tem de ser feito, e depois que estratégia é utilizada para atravessar toda a árvore e aplicar a função que faz trabalho apenas nos nodos definidos. Em Haskell existem duas bibliotecas de combinadores que implementam estratégias: Strafunski e uma biblioteca equivalente desenvolvida no DI: Ztrategic. Existe também outra biblioteca desenvolvida em Scala, Kiama. A biblioteca Ztrategic usa memorização de modo a poupar trabalho. Usando memorização, a eliminação de todas a ocorrências do "mau cheiro" numa árvore abstracta de um programa é feita apenas uma vez! Nesta tese faz-se um estudo detalhado da performance das bibliotecas Kiama, Ztrategic, e memoized Ztrategic, utilizando diferentes problemas de programação estratégica e diferentes linguagens de input.Saraiva, JoãoUniversidade do MinhoRodrigues, José Emanuel Silva2022-09-052022-09-05T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/83668eng203246675info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:28:37Zoai:repositorium.sdum.uminho.pt:1822/83668Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:23:28.183282Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv On the performance of strategic attribute grammars
title On the performance of strategic attribute grammars
spellingShingle On the performance of strategic attribute grammars
Rodrigues, José Emanuel Silva
Strategic programming
Attribute grammars
Zippers
Ztrategic
Programação estratégica
Gramáticas de atributos
title_short On the performance of strategic attribute grammars
title_full On the performance of strategic attribute grammars
title_fullStr On the performance of strategic attribute grammars
title_full_unstemmed On the performance of strategic attribute grammars
title_sort On the performance of strategic attribute grammars
author Rodrigues, José Emanuel Silva
author_facet Rodrigues, José Emanuel Silva
author_role author
dc.contributor.none.fl_str_mv Saraiva, João
Universidade do Minho
dc.contributor.author.fl_str_mv Rodrigues, José Emanuel Silva
dc.subject.por.fl_str_mv Strategic programming
Attribute grammars
Zippers
Ztrategic
Programação estratégica
Gramáticas de atributos
topic Strategic programming
Attribute grammars
Zippers
Ztrategic
Programação estratégica
Gramáticas de atributos
description Dissertação de mestrado integrado em Engenharia Informática
publishDate 2022
dc.date.none.fl_str_mv 2022-09-05
2022-09-05T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1822/83668
url https://hdl.handle.net/1822/83668
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 203246675
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799132709270847488