Skip to content

ballcoach12/langium

 
 

Repository files navigation

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. 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?

Documentation is available at langium.org. Read the getting started guide for an introduction to language engineering with Langium.

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

About

Next-gen language engineering / DSL framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 99.8%
  • JavaScript 0.2%