Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/68611

TítuloParsing and reflective printing, bidirectionally
Autor(es)Zhu, Zirun
Zhang, Yongzhe
Ko, Hsiang-Shang
Martins, Pedro Miguel Ribeiro
Saraiva, João
Hu, Zhenjiang
Palavras-chaveparsing
reflective printing
bidirectional transformations
domain-specific languages
Data2016
EditoraAssociation for Computing Machinery (ACM)
Resumo(s)Language designers usually need to implement parsers and printers. Despite being two intimately related programs, in practice they are often designed separately, and then need to be revised and kept consistent as the language evolves. It will be more convenient if the parser and printer can be unified and developed in one single program, with their consistency guaranteed automatically.Furthermore, in certain scenarios (like showing compiler optimisation results to the programmer), it is desirable to have a more powerful reflective printer that, when an abstract syntax tree corresponding to a piece of program text is modified, can reflect the modification to the program text while preserving layouts, comments, and syntactic sugar.To address these needs, we propose a domain-specific language BIYACC, whose programs denote both a parser and a reflective printer for an unambiguous context-free grammar. BIYACC is based on the theory of bidirectional transformations, which helps to guarantee by construction that the pairs of parsers and reflective printers generated by BIYACC are consistent. We show that BIYACC is capable of facilitating many tasks such as Pombrio and Krishnamurthi's "resugaring", simple refactoring, and language evolution.
TipoArtigo em ata de conferência
URIhttps://hdl.handle.net/1822/68611
ISBN9781450344470
DOI10.1145/2997364.2997369
Versão da editorahttps://dl.acm.org/doi/10.1145/2997364.2997369
Arbitragem científicayes
AcessoAcesso aberto
Aparece nas coleções:HASLab - Artigos em atas de conferências internacionais (texto completo)

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Parsing.and.Reflective.Printing.Bidirectionally-SLE2016.pdf396,96 kBAdobe PDFVer/Abrir

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID