You want your users to love and use a certain textual language efficiently? No language is complete without a great editing experience. A domain-specific language (DSL) is a text format that can be formally processed to empower even non-technical stakeholders to contribute to a complex technical system. The main goal of DSL frameworks like Langium and Xtext is to lower the barrier to creating a DSL / low-code platform. This is achieved by again providing a DSL that describes the syntax and structure of your language: the language grammar. This approach is suitable for both rapid prototyping and large-scale applications. Get them content assist, diagnostics, rich navigation and much more in their editors. We build VS Code Extensions, Language Servers, and even full-blown compilers and interpreters.

Langium

We are determined to bring language engineering to the next level.

Langium is a new open source language development tool implemented in TypeScript and running in NodeJS. This web technology stack makes long-term maintenance much easier. Another advantage is the simple and direct integration with the VS Code extension API.

Further features:

  • Supports the Language Server Protocol.
  • Generates a parser and abstract syntax tree from a grammar declaration
  • The parser is based on Chevrotain
  • Grammar declaration language similar to Xtext
  • High out-of-the-box functionality, high extensibility
The most essential language services are included as well:
  • Completion (content assist)
  • Validation (diagnostics / problems)
  • Go to definition
  • Find references
  • Document highlights (mark occurrences)
  • Document symbols (list all symbols in a file)

We are constantly working to expand the framework.

More about Langium

Follow the evolution on GitHub

Xtext

Eclipse Xtext is a solid basis for building language support in Java. It supports the Language Server Protocol (LSP) and is also available as plug-in for the Eclipse Platform. The Xtext framework is highly extensible and customizable with Google Guice dependency injection. Just write your grammar and get default implementations for:

  • parser & lexer
  • linking & scoping
  • syntax highlighting
  • content assist (completion)
  • code navigation (jump to declaration etc.)
  • outline view
  • ... and more

With its CI integration (Maven & Gradle plug-ins) it fits perfectly into your enviroment.

Because we have used Xtext in various domains and target languages with many happy customers, TypeFox has a special expertise in this area.

More about Xtext

Training and Support

With our many years of experience, especially in the field of language engineering, we can support you in designing powerful and concise DSLs as well as implementing them with Xtext or Langium.
Just give us a call.

Contact