On the performance of strategic attribute grammars
Autor(a) principal: | |
---|---|
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 |