Xtext is an open- source framework for the development of programming languages and domain specific languages (English domain specific language DSL) and part of the Eclipse Modeling Framework Project. Unlike normal parser not only a parser is generated by Xtext, but also a class model for the abstract syntax tree and provided in Eclipse integrated text editor as well as the necessary infrastructure for the implementation of a modern development environment for the developed language.
The first version of Xtext was published in 2006 as part of the project openArchitectureWare ( OAW ). In the period that followed, new features and concepts were integrated with each version. In version 4.3 of oAW the last oAW version of Xtext is included. Since early 2008, Xtext will be further developed under the Eclipse Modeling Project in the Textual Modeling Framework ( TMF). Employees of the company itemis, including the original architect of Xtext, develop here a new version of the framework. The first official release was on June 16, 2009, when Xtext appeared in version 0.7.0. In June 2010, the Framework has reached version 1.0. Version 2.0 was released on 27 June 2011 along with Eclipse 3.7 (Indigo).
At the core of Xtext grammar is the language with which for EMF models a textual syntax is defined. One of it generated by the parser generator ANTLR parser now produces models from texts that correspond to the defined grammar. Both the parser and the EMF models can be used independently of Eclipse. Furthermore, a text editor is generated. The following functions are computed from the grammar and can be adapted or extended if necessary:
- Syntax Coloring
- Static Analysis
- Outline View
- Source code navigation
- Code folding
Further processing of DSL models
DSLs are formal languages and therefore must be made executable. This is done in two different ways:
- For code generation is Xtend offers, which is developed by the same team and is also hosted at Eclipse Modeling. During code generation, any target platforms can be used.
- The interpretation of EMF models to be done with a compatible to the Java Virtual Machine language, as EMF and Xtext have so far only implemented in Java. The target platform is therefore limited to these languages.
- Eclipse Community Awards 2010 " Most Innovative New Feature or Eclipse Project "