/langium

Next-gen language engineering / DSL framework

Primary LanguageTypeScriptMIT LicenseMIT

npm Build Gitpod Ready-to-Code


Langium is a language engineering tool with built-in support for the Language Server Protocol. Here are some key facts:

  • Simple and direct integration with the VS Code extension API
  • Implemented in TypeScript, runs in NodeJS
  • Generates an 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

Why?

A domain-specific language (DSL) enables domain experts to contribute automatically processable content without any programming knowledge. This is often referred to as low-code. The contributed content can describe anything like structural data, behavior, or a mixture of both. By plugging in code generators that operate on the DSL, you create a powerful tool chain that creates technical artifacts from high-level specifications, improves communication between engineers as well as non-technical stakeholders and boosts the overall efficiency.

The main goal of Langium is to lower the barrier of creating a DSL / low-code platform. We achieve this by providing a DSL that describes the syntax and structure of your language: the grammar language. Langium's out-of-the-box functionality is based on the information extracted from a grammar declaration. The Xtext framework has proved this approach to be suitable both for rapid prototyping and large-scale applications.

How?

Langium is available as npm package.

Please read the Contribution Guide if you want to contribute to Langium.