Xtext Tour Dates (November / December 2009)

There's an invasion of Xtext presentations and demos about to overrun the world during the next couple of weeks. And all of them are free of charge!

DateCountryCityTitlePresenter
2009/11/16USANew YorkModeling Day: Building DSLs with XtextHeiko Behrens
2009/11/16USANew YorkModeling Day: Converging Textual and Graphical EditorsMoritz Eysholdt
2009/11/17FranceParisDemo Camp: Building DSLs with XtextSebastian Zarnekow
2009/11/17GermanyLeipzigDemo Camp: Und heute generier' ichAlexander Nittka
2009/11/18GermanyHamburgJava User Group: Building DSLs with XtextSven Efftinge, Sebastian Zarnekow
2009/11/18CanadaTorontoModeling Day: Building DSLs with XtextHeiko Behrens
2009/11/18CanadaTorontoModeling Day: Converging Textual and Graphical EditorsMoritz Eysholdt
2009/11/23GermanyBerlinDemo Camp: Building DSLs with XtextPeter Friese
2009/11/26GermanyFrankfurtDemo Camp: Using Xtext in a large scale modeling and implementation projectNicolai Busse
2009/11/26GermanyStuttgartDemo Camp: Textual DSLs with Eclipse Xtext (and a little bit code code generation with Xpand)Markus Voelter
2009/11/30AustriaViennaDemo Camp: XtextMichael Clay
2009/12/04GermanyHamburgDemo Camp: Combining graphics and text in model editorsJan Koehnlein
2009/12/10ItalyFlorenceDemo Camp: Xtext, a Textual Modeling Framework Francesco Guidieri

Xtext is powerful and convenient

Xtext is a framework for development of textual domain specific languages (DSLs). Just describe your very own DSL using Xtext's simple EBNF grammar language and the generator will create a parser, an AST-meta model (implemented in EMF) as well as a full-featured Eclipse text editor from that.

The Framework integrates with technology from Eclipse Modeling such as EMF, GMF, M2T and parts of EMFT. Development with Xtext is optimized for short turn-arounds, so that adding new features to an existing DSL is a matter of minutes. Still sophisticated programming languages can be implemented.

Xtext in Action

EMF Read/Write

Xtext can read and write textual models into Ecore meta models be they dynamic or static.

Semantic Models

When loading textual models Xtext establishes crosslinks where needed. Doing so your objects build an interconnected domain model.

Code Generation

As part of openArchitectureWare Xtext integrates with EMF-based code generator frameworks and is fully supported by Xpand.

User Experience

Editors created with Xtext support the author of textual models with features like content assist and template proposals in a way you know from modern IDEs. Semantic syntax highlighting, an outline view or hyperlinks simplify the navigation effort and make working with text files great fun. Constraint violations will show up as markers in the editor and in the Eclipse problems view as you type.

and much more...

Read the documentation and join the discussion at the newsgroup to understand how powerful Xtext is.

Recorded Webinar

Developing Domain Specific Languages
Sven and Heiko (supported by Sebastian and Moritz via the chat) explain what DSLs are and how you can benefit from them in today's software development projects. Language development is no longer rocket science. To prove this, they demonstrate how to implement a DSL for Chess. They continue with technical details. The webinar closes with some more advanced show cases to give a glimpse of what Xtext is able to do.

EMF Integration

Xtext implements an EMF Resource that can read your textual models into a given or an inferred Ecore meta model that matches your grammar. And it can link these objects with other resources, too. When modifying loaded objects and saving back such resources Xtext will produce the textual representation according to your language again.

Editor

Together with optional configuration data you grammar will be transformed into a fully-blown editor similar to those of programing languages. It integrates seamlessly into the workbench and can be deployed as a stand-alone solution as well.

Highly Customizable

Xtext follows a loosely coupled architecture that is wired by the dependency injection framework Google Guice. This allows you to replace virtually any aspect of the runtime behavior with your own implementation without duplicating an unmanageable amount of code.