Features

Build the Language You Want! Xtext can build full-featured text editors for both general-purpose and domain-specific languages. In the background it uses the LL(*) parser generator of ANTLR, allowing to cover a wide range of syntaxes. Xtext editors have already been implemented for JavaScript, VHDL, Xtend, and many other languages.

Compile to Whatever You Want! You define the target format to which your language is compiled. No matter if it's Java, C, XML, comma-separated values, or even a binary format, Xtext does not limit your choice. And in combination with Xtend writing a compiler becomes easier than ever before.

Highly Customizable The default behavior of Xtext is optimized to cover a wide range of languages and use cases. However, every language has characteristics that must be reflected in the IDE. Therefore Xtext allows to insert custom behavior for every single feature by replacing the default implementation. This is done through dependency injection based on Google Guice.

Single Sourcing The grammar definition language of Xtext is not just for the parser. Many IDE features provided by Xtext adapt to your language automatically, so whenever you change your grammar definition, the behavior of the text editor is updated without any further code changes. This includes complex features such as handling of cross-references, code completion, navigation, syntax coloring, validation, and more.

Incremental Compiler Xtext is built to scale, so no matter if you have a few source files written in your language or hundreds of them, the IDE remains responsive and reacts smoothly to any text change. This is realized through an incremental compiler that maintains an index of the available source files for fast look-up of language elements.