Xtext makes it easy to develop programming and domain-specific languages and tooling for them. It includes a basic language infrastructure consisting of a parser, linker, and compiler, as well as advanced features such as Java integration, symbol indexing, incremental building, and editing support for different platforms. Starting from version 2.11, in addition to Eclipse, Intellij IDEA and the Web support, Xtext comes with a Language Server Protocol implementation that opens a way to new platforms such as Eclipse Che and VSCode.
In this tutorial you will learn about Xtext’s architecture and scenarios in which you can benefit from the framework, and get an overview of the latest Xtext development. During exercises you will gain hands-on experience of language development. Starting with defining a grammar, you will proceed with implementation of cross-reference resolution and validations, and finish with code generation. This tutorial is for beginners and does not require any prior Xtext knowledge.