Xtext - a programming language framework

Xtext is a framework for development of programming languages and 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.

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.

Commit stats


5688.8 commits this month (and counting)
3506 commits last month

Headlines in the web

  • (less than 1 second ago by Sven Efftinge)
    Last Friday we (eclipse.org) officially released the M5 of the Helios release train. Xtext, being part of the train, got a couple of new & noteworthy features we (Xtext team) are very happy (and sort of proud) with. I'm personally most excited about the new builder infrastructure, which allows to revalidate,
  • (less than 1 second ago by tomeclipsedev)
    This was orginally a reply on Elias post on e5: On “should take risks”: We agreed that e4 would be compatible with 3.x. Is not 100% correct: We agreed on the fact that e4 will provide a compat layer so that people can run the 3.x plug-ins which is a completely different thing IMHO because
  • (about 4 hours ago by Kenn Hussey)
    Yeah, on the catwalk. We'll do our little turn on the catwalk. We've got models, you know what I mean, and we'll do our little turn on the catwalk.Speaking of evangelism, we're trying something a little different this year to promote modeling at EclipseCon. We're holding one session, "Modeling Project

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.