Embedding attribute grammars and their extensions using functional Zippers

Gramáticas de atributos e as suas extenções embebidas em "Zippers" funcionais
dc.contributor.advisorSaraiva, João Alexandre
dc.contributor.advisorFernandes, João Paulo Sousa Ferreira
dc.contributor.authorMartins, Pedro Miguel Ribeiropor
dc.date.accessioned2015-07-01T10:31:58Z
dc.date.available2015-07-01T10:31:58Z
dc.date.issued2014-07-22
dc.date.submitted2014-06-13
dc.description.abstractAttribute 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.por
dc.description.abstractGramá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,por
dc.description.sponsorshipFundaçã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.por
dc.identifier.tid101458630
dc.identifier.urihttps://hdl.handle.net/1822/35839
dc.language.isoengpor
dc.rightsopenAccesspor
dc.subject.fosEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informáticapor
dc.subject.udc681.3
dc.titleEmbedding attribute grammars and their extensions using functional Zipperspor
dc.title.alternativeGramáticas de atributos e as suas extenções embebidas em "Zippers" funcionaispor
dc.typedoctoralThesispor
dspace.entity.typePublicationen
thesis.degree.nameTese de doutoramento do Programa Doutoral em Informáticapor

Ficheiros

Pacote original

A mostrar 1 - 1 de 1
A carregar...
Nome:
Pedro Miguel Ribeiro Martins.pdf
Tamanho:
2.36 MB
Formato:
Adobe Portable Document Format