Embedding languages without breaking tools
Lukas Renggli,Tudor Gîrba,Oscar Nierstrasz +2 more
- 21 Jun 2010
- pp 380-404
TL;DR: Helvetia is an extensible system that intercepts the compilation pipeline of the Smalltalk host language to seamlessly integrate language extensions and validate the approach by case studies that demonstrate three fundamentally different ways to extend or adapt the host language syntax and semantics.
read more
Abstract: Domain-specific languages (DSLs) are increasingly used as embedded languages within general-purpose host languages. DSLs provide a compact, dedicated syntax for specifying parts of an application related to specialized domains. Unfortunately, such language extensions typically do not integrate well with the development tools of the host language. Editors, compilers and debuggers are either unaware of the extensions, or must be adapted at a non-trivial cost. We present a novel approach to embed DSLs into an existing host language by leveraging the underlying representation of the host language used by these tools. Helvetia is an extensible system that intercepts the compilation pipeline of the Smalltalk host language to seamlessly integrate language extensions. We validate our approach by case studies that demonstrate three fundamentally different ways to extend or adapt the host language syntax and semantics.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Book
ECOOP 2007 - object-oriented programming : 21st European Conference, Berlin, Germany, July 30 - August 3, 2007 : proceedings
Erik Ernst
- 01 Jan 2007
TL;DR: The Dahl-Nygaard Prize Invited Talk on Erlang - Software for a Concurrent World and a Staged Static Program Analysis to improve the performance of Runtime Monitoring are presented.
188
mbeddr: an extensible C-based programming language and IDE for embedded systems
Markus Voelter,Daniel Ratiu,Bernhard Schaetz,Bernd Kolb +3 more
- 19 Oct 2012
TL;DR: The mbeddr technology stack that supports extension of C with constructs adequate for embedded systems is presented and it is shown that language workbenches deliver on the promise of significantly reducing the effort of language engineering and the construction of corresponding IDEs.
Mashup of metalanguages and its implementation in the Kermeta language workbench
TL;DR: This paper presents an approach that uses one metalanguage per language implementation concern, and shows that the usage and combination of those metalanguages is simple and intuitive enough to deserve the term mashup.
Practical Dynamic Grammars for Dynamic Languages
Lukas Renggli,Stéphane Ducasse,Tudor Gîrba,Oscar Nierstrasz +3 more
- 01 Jan 2010
TL;DR: PetitParser combines ideas from scannerless parsing, parser combinators, parsing expression grammars and packrat parsers to model grammar and parsers as objects that can be reconfigured dynamically.
Mashup of Meta-Languages and its Implementation in the Kermeta Language Workbench
TL;DR: In this paper, the authors present an approach that uses one meta-language per language implementation concern, and evaluate the approach by completely implementing the non trivial fUML modeling language, a semantically sound and executable subset of the UML.
49
References
Transactional memory: architectural support for lock-free data structures
Maurice Herlihy,J. Eliot B. Moss +1 more
- 01 May 1993
TL;DR: Simulation results show that transactional memory matches or outperforms the best known locking techniques for simple benchmarks, even in the absence of priority inversion, convoying, and deadlock.
Wait-free synchronization
TL;DR: A hierarchy of objects is derived such that no object at one level has a wait-free implementation in terms of objects at lower levels, and it is shown that atomic read/write registers, which have been the focus of much recent attention, are at the bottom of the hierarchy.
When and how to develop domain-specific languages
TL;DR: In this article, the authors identify patterns in the decision, analysis, design, and implementation phases of DSL development and discuss domain analysis tools and language development systems that may help to speed up DSL development.
Building domain-specific embedded languages
TL;DR: This position paper will outline several techniques that are believed to lead to the eeective use of the domain-speciic embedded language (DSEL) methodology, and the results of using the functional language Haskell to build DSELs.
564
•Book
The Definitive ANTLR Reference: Building Domain-Specific Languages
Terence Parr
- 27 May 2007
TL;DR: This book is the definitive guide to using the completely rebuilt ANTLR v3 and describes all features in detail, including the amazing new LL(*) parsing technology, tree construction facilities, StringTemplate code generation template engine, and sophisticated AnTLRWorks GUI development environment.
554