Building a modern billion transistor System-on-a-Chip (SoC) is a complex task requiring the integration of hundreds of customizable IP components and connections between them. The software to create these complex chips consists of various code-generators, performance simulators, logic synthesis tools, performance databases and place-and-route tools. Each tool typically uses its own domain specific languages to describe the input and outputs.
Xtext makes it easy to define domain specific languages, but making your DSL a first class programming artifact with support for expressions and integration with Java is a hard thing if you do it from scratch.
For the Xtext Day I would like to propose an extended session (50min) with smaller lightning talks (demos). Details to be defined.
Xtext has been around for a couple of years now, proving itself as a solid basis for language development in large and small scale projects. It is used in commercial products in all kinds of vertical industries and has been a basis for many research projects.
In this session we discuss where the framework is heading and how existing users will benefit from future development.
Scoping and Linking is often considered the most complicated part of a language infrastructure. Xtext provides you with the needed concepts to get the implementation right and with good performance. In this session you will learn how scoping is done in Xtext languages, which default implementations there are to choose from and how to implement custom scoping logic. You will also learn what the index is, how it works and how you can add even non-Xtext elements to it.
The slides are now online.
Many DSLs are convenient alternatives to hand-coding or generic data formats. Others are unique in their solution space, providing the best way, sometimes the only way, to describe a particular model or program.
But what about DSLs that have to compete with other languages? When language readability, extensibility, and efficiency of expression are key to the success of your product, what language design ideas can we bring to the table, and what techniques will make them work in XText?
Using Xtext for the first time is usually a very positive experience. Although Xtext is a complex generic framework, it is very easy to create your first Xtext-based editor, because of Xtext’s smart defaults and intuitive APIs. Even with minimal initial effort, the results are quite spectacular. Unfortunately the initial excitement often turns into disillusion as soon as you use your plugin on a big project.