Filters








59,328 Hits in 9.4 sec

Implementing an embedded compiler using program transformation rules

Tegawendé F. Bissyandé, Laurent Réveillère, Julia L. Lawall, Yérom-David Bromberg, Gilles Muller
2013 Software, Practice & Experience  
To address this issue, we propose an approach for specifying a DSL compiler using control-flow sensitive concrete-syntax based matching rules.  ...  ] , has shown that the initial design of an external DSL and the implementation of its compiler can be done very quickly if developers are familiar with programming language concepts and compiler construction  ...  We describe how to use the Coccinelle program matching and transformation engine to perform the code checking and code generation steps required by an embedded compiler.  ... 
doi:10.1002/spe.2225 fatcat:c6bhhlpskvb4taronnzalltmle

Comparative Study of DSL Tools

Naveneetha Vasudevan, Laurence Tratt
2011 Electronical Notes in Theoretical Computer Science  
An increasingly wide range of tools based on different approaches are being used to implement Domain Specific Languages (DSLs), yet there is little agreement as to which approach is, or approaches are,  ...  In this paper we aim to increase the understanding of the relative strengths and weaknesses of three approaches by implementing a common DSL case study.  ...  In contrast to Ruby and Converge, Stratego/XT uses an heterogeneous embedded approach and supports implementation of DSLs through program transformation.  ... 
doi:10.1016/j.entcs.2011.06.007 fatcat:vy6q6vx2uffnpixk73xke6lzqy

SugarJ

Sebastian Erdweg, Tillmann Rendel, Christian Kästner, Klaus Ostermann
2011 Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications - OOPSLA '11  
A sugar library is like an ordinary library, but can, in addition, export syntactic sugar for using the library.  ...  Existing approaches to extend a programming language with syntactic sugar often leave a bitter taste, because they cannot be used with the same ease as the main extension mechanism of the programming language-libraries  ...  Technically, we have defined a program transformation that desugars an XML schema into transformation rules for validating XML documents.  ... 
doi:10.1145/2048066.2048099 dblp:conf/oopsla/ErdwegRKO11 fatcat:oj5xcaa5qjg5ni2xbgb4elpece

SugarJ

Sebastian Erdweg, Tillmann Rendel, Christian Kästner, Klaus Ostermann
2011 SIGPLAN notices  
A sugar library is like an ordinary library, but can, in addition, export syntactic sugar for using the library.  ...  Existing approaches to extend a programming language with syntactic sugar often leave a bitter taste, because they cannot be used with the same ease as the main extension mechanism of the programming language-libraries  ...  Technically, we have defined a program transformation that desugars an XML schema into transformation rules for validating XML documents.  ... 
doi:10.1145/2076021.2048099 fatcat:5xbgyf64qzeyti3m6x3hm3esui

Domain specific language implementation via compile-time meta-programming

Laurence Tratt
2008 ACM Transactions on Programming Languages and Systems  
In this paper I show how expressive DSLs can be hygienically embedded in the Converge programming language using its compile-time meta-programming facility, the concept of DSL blocks, and specialised error  ...  I then outline the basics of the Converge programming language, including its compile-time meta-programming facility.  ...  func transform($$1$$obj$$): 5 ACM Domain Specific Language Implementation via Compile-Time Meta-Programming · 17 ...  ... 
doi:10.1145/1391956.1391958 fatcat:ekqgxxwzlbfyvd2v5birrowo7u

Embedding Languages without Breaking Tools [chapter]

Lukas Renggli, Tudor Gîrba, Oscar Nierstrasz
2010 Lecture Notes in Computer Science  
Domain-specific languages (DSLs) are increasingly used as embedded languages within general-purpose host languages.  ...  Helvetia is an extensible system that intercepts the compilation pipeline of the Smalltalk host language to seamlessly integrate language extensions.  ...  We specify transformation rules using annotated methods, and specify the scope of these transformations using reflective facilities of the host language.  ... 
doi:10.1007/978-3-642-14107-2_19 fatcat:xaflyq2afzeordc5adntaogrfq

High-Level Synthesis for Embedded Systems [chapter]

Michael Dossis
2012 Embedded Systems - Theory and Design Methodology  
The back-end compiler logic rules are coded with logic programming techniques, which are used to implement the HLS algorithms of the back-end compilation phase.  ...  The inference logic rules of the back-end compiler transform the FIF facts into the hardware implementations.  ...  Nowadays, embedded systems -the computer systems that are embedded in various kinds of devices and play an important role of specific control functions, have permitted various aspects of industry.  ... 
doi:10.5772/38370 fatcat:olgvo4yrcfa4ti37aqefduubfi

Compiling embedded languages

CONAL ELLIOTT, SIGBJRN FINNE, OEGE DE MOOR
2003 Journal of functional programming  
We describe an implemented technique for producing optimizing compilers for DSELs, based on Kamin's idea of DSELs for program generation.  ...  Functional languages are particularly well-suited to the implementation of interpreters for domain-specific embedded languages (DSELs).  ...  Algebraic optimization and smart constructors An early Pan implementation was based on the Mag program transformation system [1] .  ... 
doi:10.1017/s0956796802004574 fatcat:b6fzcngzpzertbzh45eczmy6oa

Compiling Embedded Languages [chapter]

Conal Elliott, Sigbjørn Finne, Oege de Moor
2000 Lecture Notes in Computer Science  
We describe an implemented technique for producing optimizing compilers for DSELs, based on Kamin's idea of DSELs for program generation.  ...  Functional languages are particularly well-suited to the implementation of interpreters for domain-specific embedded languages (DSELs).  ...  Algebraic optimization and smart constructors An early Pan implementation was based on the Mag program transformation system [1] .  ... 
doi:10.1007/3-540-45350-4_5 fatcat:augg3x6cl5dnveguenihfbixoi

MetaBorg in Action: Examples of Domain-Specific Language Embedding and Assimilation Using Stratego/XT [chapter]

Martin Bravenboer, René de Groot, Eelco Visser
2006 Lecture Notes in Computer Science  
METABORG is based on Stratego/XT, a language and toolset for the implementation of program transformation systems, which is used for the definition of syntactic embeddings and assimilation of the embedded  ...  Generative programming methods and program transformation techniques can be used to overcome this lack of abstraction in general-purpose languages.  ...  Stratego is a generalpurpose language for the implementation of program transformation systems.  ... 
doi:10.1007/11877028_10 fatcat:dq2fjepys5ds3nx5o7yljbrtze

Embedding and Parsing Combined for Efficient Language Design
english

Gergely Dévai, Dániel Leskó, Máté Tejfel
2013 Proceedings of the 8th International Joint Conference on Software Technologies  
A different way is to create an embedded language, which is implemented as a special library written in a host language.  ...  One way to develop domain specific languages is to define their concrete syntax and create support for it using classical compiler technology (maybe with the support of language workbenches).  ...  We have demonstrated that most of the embedded language implementation can be reused for the standalone compiler.  ... 
doi:10.5220/0004591802440250 dblp:conf/icsoft/DevaiLT13 fatcat:dteg53aprzbrbaesywz6fvgpx4

Stratego/XT 0.17. A language and toolset for program transformation

Martin Bravenboer, Karl Trygve Kalleberg, Rob Vermaas, Eelco Visser
2008 Science of Computer Programming  
This paper gives an overview of Stratego/XT 0.17, including a description of the Stratego language and XT transformation tools; a discussion of the implementation techniques and software engineering process  ...  Stratego/XT is a language and toolset for program transformation.  ...  Not least among the users are several generations of students of courses on Software Generation, High-Performance Compilers, and Program Transformation at Utrecht University who suffered imperfect implementation  ... 
doi:10.1016/j.scico.2007.11.003 fatcat:jhkofle3nneklm5miuafaicb4y

GeCoS: A framework for prototyping custom hardware design flows

Antoine Floc'h, Tomofumi Yuki, Ali El-Moussawi, Antoine Morvan, Kevin Martin, Maxime Naullet, Mythri Alle, Ludovic L'Hours, Nicolas Simon, Steven Derrien, Francois Charot, Christophe Wolinski (+1 others)
2013 2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM)  
Compiling for custom hardware makes use of domain specific semantics that are not considered by general purpose compilers.  ...  The GeCoS infrastructure facilitates the prototyping of hardware design flows, going beyond compiler analyses and transformations.  ...  We use an adapter-like mechanism combined with the plugin framework of Eclipse to achieve a modular and extensible implementation of analyses and transformations.  ... 
doi:10.1109/scam.2013.6648190 dblp:conf/scam/FlochYMMMNALSDCWS13 fatcat:spzqtwihgbfhngbux7mhzd7hki

EClean - An Embedded Functional Language

Ádám Sipos, Viktória Zsók
2009 Electronical Notes in Theoretical Computer Science  
With the help of the engine it is possible to embed lazy functional-style code into C++ programs, and transform it into template metaprograms.  ...  C++ template metaprogramming is often regarded as a functional language, however, nowadays metaprogram libraries are not implemented in functional programming style.  ...  The Implementation of the Graph-rewriting Engine In the following we present via examples the transformation method of an EClean program into C++ templates.  ... 
doi:10.1016/j.entcs.2009.05.006 fatcat:k6dcq5og35cifjv4n4qyrtuhky

WS-BPEL Process Compiler for Resource-Constrained Embedded Systems

Hendrik Bohn, Andreas Bobek, Frank Golatowski
2008 22nd International Conference on Advanced Information Networking and Applications - Workshops (aina workshops 2008)  
This paper proposes an approach of compiling processes to executable programs with very small footprints which can also be run on embedded systems with limited resources.  ...  This approach uses the WS-BPEL 2.0 specification for designing the process, XSL transformation and the Apache Axis2 Java architecture for the code generation being flexible and adaptable to future extensions  ...  Compilers for different programming languages and SOAP engines have to adapt the transformation rules accordingly.  ... 
doi:10.1109/waina.2008.252 dblp:conf/aina/BohnBG08 fatcat:7cjy3u4curbyjpmbugcxb5pn3m
« Previous Showing results 1 — 15 out of 59,328 results