scispace - formally typeset
Proceedings ArticleDOI

Xtext: implement your language faster than the quick and dirty way

Moritz Eysholdt, +1 more
- pp 307-309
Reads0
Chats0
TLDR
This tutorial explains how to define a language and a statically typed, EMF-based Abstract Syntax Tree using only a grammar, and shows how literally every as- pects of the language and its complementary tool support can be customized using Dependency Injection.
Abstract
Whether there is an (emerging or legacy) Domain-Specific Language to increase the expressiveness of your coworkers or whether you are about to invent a new General Purpose Prgramming Language: Tool support that goes beyond a parser/compiler is essential to make other people adopt your language and to be more productive. Xtext is an award- winning framework to build such tooling.In this tutorial we explain how to define a language and a statically typed, EMF-based Abstract Syntax Tree using only a grammar. We then generate a parser, a serializer and a smart editor from it. The editor provides many features out-of-the-box, such as syntax highlighting, content-assist, folding, jump-to-declaration and reverse-reference lookup across multiple files. Then, it is shown how literally every as- pects of the language and its complementary tool support can be customized using Dependency Injection, especially how this can be done for linking, formatting and validation. As an outlook, we will demonstrate how to integrate a custom language with Java, how Xtext maintains a workspace-wide index of named elements and how to implement incremental code generation or attach an interpreter.

read more

Citations
More filters
Journal ArticleDOI

A comprehensive approach to privacy in the cloud-based Internet of Things

TL;DR: This work allows an individual user to enforce all her privacy requirements before any sensitive data is uploaded to the cloud, enables developers of cloud services to integrate privacy functionality already into the development process of cloud Services, and offers users a transparent and adaptable interface for configuring their privacy requirements.

AToMPM: A Web-based Modeling Environment.

TL;DR: This work introduces AToMPM, an open-source framework for designing domain-specific modeling environments, performing model transformations, manipulating and managing models, which is independent from any operating system, platform, or device it may execute on.
Proceedings ArticleDOI

Protelis: practical aggregate programming

TL;DR: Protelis is introduced, a functional language based on computational fields and embedded in Java, thereby enabling the construction of widely reusable components of aggregate systems and demonstrating the simplicity of Protelis integration and programming.
References
More filters
Book

Domain-specific languages

Martin Fowler
TL;DR: This book covers a variety of different techniques available for DSLs and can be used with whatever programming language you happen to be using, most of the examples are in Java or C#.
BookDOI

Model-Driven Software Development

Sami Beydeda, +1 more
TL;DR: Part I - Conceptual Foundations of Model-Driven Development Models, Modeling, and Model- Driven Architecture A Systematic Lool at Model Transformations and a Generalized Notion of Platforms for Model Driven Development.
Journal ArticleDOI

Domain Specific Languages

TL;DR: A number of DSLs spanning various phases of software development life cycle in terms of features that elucidates their advantages over general purpose languages and perform in depth study by practically applying a few open source DSLs: ‘Cascading’, Naked Objects Framework and RSpec.
Proceedings ArticleDOI

Migrating a large modeling environment from XML/UML to Xtext/GMF

TL;DR: VSA (Verrechnungsstelle der Süddeutschen Apotheken GmbH, one of the most well-known billing centers for pharmacies in Germany) migrated their inhouse modeling environment and their existing models from UML to an Eclipse Modeling based solution, which describes the old modeling environment, addresses the challenges of the migration and outlines the new modeling environment.