Embedding attribute grammars and their extensions using functional Zippers

Bibliographic Details
Main Author: Martins, Pedro Miguel Ribeiro
Publication Date: 2014
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: http://hdl.handle.net/1822/35839
Summary: Tese de doutoramento do Programa Doutoral em Informática
id RCAP_e6e0ddcf2f01e9d1c36a0feb1cb01fdc
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/35839
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Embedding attribute grammars and their extensions using functional ZippersGramáticas de atributos e as suas extenções embebidas em "Zippers" funcionais681.3Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaTese de doutoramento do Programa Doutoral em InformáticaAttribute grammars are a suitable formalism to express complex software language analysis and manipulation algorithms, which rely on multiple traversals of the underlying syntax tree. Attribute Grammars have been extended with mechanisms such as references, higher order and circular attributes. Such extensions provide a powerful modular mechanism and allow the speci cation of complex computations. In this work we de ned an elegant and simple, zipper-based embedding of attribute grammars and their extensions as rst class citizens. In this setting, language speci cations are de ned as a set of independent, o -theshelf components that can easily be composed into a powerful, executable language processor. We have also developed techniques to describe automatic bidirectional transformations between grammars. We de ne a method to de ne transformation speci cations which, through our automatic mechanisms, are inverted and expanded and generate attribute grammars that specify a bidirectional environment. We have implemented several real examples of language speci cation and processing in our setting, some of which are presented in this work. We have also developed and implemented a DSL using our technique for embedding attribute grammars, which we have deployed in a web portal for software analysis.Gramáticas de atributos são um formalismo que permite exprimir algoritmos complexos de análise e transformação de programas, que tipicamente requerem várias travessias às árvores abstractas que os representam. As gramáticas de atributos foram estendidas com mecanismos que permitem referências, ordem superior e circularidade em atributos. Estas extensões permitem a implementação de mecanismos complexos e modulares de computações em linguagens. Neste trabalho embebemos gramáticas de atributos e as suas extensões de forma elegante e simples, através de uma técnica chamada "zippers". Na nossa técnica, especificações de linguagens são definidas com um conjunto de componentes independentes de primeira ordem, que podem ser facilmente compostos para formar poderosos ambientes de processamento de linguagens. Também desenvolvemos técnicas que descrevem transformações bidirecionais entre gramáticas. Definimos métodos de especificar transformações que, através de mecanismos completamente automáticos, são invertidas e estendidas e geram gramáticas de atributos que especificam o nosso ambiente bidirecional. Com esta técnica foram implementados vários exemplos de especificação e processamento de linguagens, alguns dos quais estão definidos e explicados neste documento. Da mesma forma, criamos e desenvolvemos uma linguagem de domí nio específico usando a nossa técnica; linguagem essa que integramos,Fundação para a Ciência e Tecnologia (FCT), by the European Regional Development Fund (ERDF) through the Programme Compete, by the MIT Portugal Program, a large-scale international collaboration involving MIT and government, academia, and industry in Portugal, by the Luso-American Foundation (FLAD) and by the National Science Foundation (NSF).In particular,I received grants from the projects AMADEUS (PTD-C/EIA/70271/2006), refaBI-1PTDC/EIA/70271/2006; CROSS (FCOMP-01-0124-FEDER-010049), refª BI3-2011PTDC/EIA-CCO/108995/2008; SAVED (MIT-PT/TS-ITS/0036/2008), FATBIT (FCOMP-01-0124-FEDER-020532) and BEST CASE (NORTE-01-0124-FEDER-000058), refª BIM-2013_BestCase_RL3.2_UMINHO.Saraiva, João AlexandreFernandes, João Paulo Sousa FerreiraUniversidade do MinhoMartins, Pedro Miguel Ribeiro2014-07-222014-07-22T00:00:00Zdoctoral thesisinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/1822/35839eng101458630info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-11T06:03:42Zoai:repositorium.sdum.uminho.pt:1822/35839Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T15:39:36.626156Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Embedding attribute grammars and their extensions using functional Zippers
Gramáticas de atributos e as suas extenções embebidas em "Zippers" funcionais
title Embedding attribute grammars and their extensions using functional Zippers
spellingShingle Embedding attribute grammars and their extensions using functional Zippers
Martins, Pedro Miguel Ribeiro
681.3
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Embedding attribute grammars and their extensions using functional Zippers
title_full Embedding attribute grammars and their extensions using functional Zippers
title_fullStr Embedding attribute grammars and their extensions using functional Zippers
title_full_unstemmed Embedding attribute grammars and their extensions using functional Zippers
title_sort Embedding attribute grammars and their extensions using functional Zippers
author Martins, Pedro Miguel Ribeiro
author_facet Martins, Pedro Miguel Ribeiro
author_role author
dc.contributor.none.fl_str_mv Saraiva, João Alexandre
Fernandes, João Paulo Sousa Ferreira
Universidade do Minho
dc.contributor.author.fl_str_mv Martins, Pedro Miguel Ribeiro
dc.subject.por.fl_str_mv 681.3
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic 681.3
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Tese de doutoramento do Programa Doutoral em Informática
publishDate 2014
dc.date.none.fl_str_mv 2014-07-22
2014-07-22T00:00:00Z
dc.type.driver.fl_str_mv doctoral thesis
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/35839
url http://hdl.handle.net/1822/35839
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 101458630
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órios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833595456674856960