Vis enkel innførsel

dc.contributor.authorKalleberg, Karl Trygveeng
dc.contributor.authorVisser, Eelcoeng
dc.date.accessioned2015-04-07T11:38:34Z
dc.date.available2015-04-07T11:38:34Z
dc.date.issued2008-04-01eng
dc.identifier.issn1571-0661en_US
dc.identifier.urihttps://hdl.handle.net/1956/9726
dc.description.abstractProgram transformation systems provide powerful analysis and transformation frameworks as well as concise languages for language processing, but instantiating them for every subject language is an arduous task, most often resulting in half-completed frontends. Compilers provide mature frontends with robust parsers and type checkers, but solving language processing problems in general-purpose languages without transformation libraries is tedious. Reusing these frontends with existing transformation systems is therefore attractive. However, for this reuse to be optimal, the functional logic found in the frontend should be exposed to the transformation system – simple data serialization of the abstract syntax tree is not enough, since this fails to expose important compiler functionality, such as import graphs, symbol tables and the type checker. In this paper, we introduce a novel and general technique for combining term-based transformation systems with existing language frontends. The technique is presented in the context of a scriptable analysis and transformation framework for Java built on top of the Eclipse Java compiler. The framework consists of an adapter automatically extracted from the abstract syntax tree of the compiler and an interpreter for the Stratego program transformation language. The adapter allows the Stratego interpreter to rewrite directly on the compiler AST. We illustrate the applicability of our system with scripts written in Stratego that perform framework and library-specific analyses and transformations.en_US
dc.language.isoengeng
dc.publisherElsevieren_US
dc.rightsAttribution-NonCommercial-NoDerivs CC BY-NC-NDeng
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/eng
dc.subjectcompiler scriptingeng
dc.subjectstrategic programmingeng
dc.subjectprogram transformationeng
dc.titleFusing a Transformation Language with an Open Compileren_US
dc.typePeer reviewed
dc.typeJournal article
dc.description.versionpublishedVersionen_US
dc.rights.holderCopyright 2008 Elsevier B.V.en_US
dc.identifier.doihttps://doi.org/10.1016/j.entcs.2008.03.042
dc.source.journalElectronic Notes in Theoretical Computer Science
dc.source.40203
dc.source.142
dc.source.pagenumber21-36


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel

Attribution-NonCommercial-NoDerivs CC BY-NC-ND
Med mindre annet er angitt, så er denne innførselen lisensiert som Attribution-NonCommercial-NoDerivs CC BY-NC-ND