eclipse-langium / langium

Next-gen language engineering / DSL framework
https://langium.org/
MIT License
663 stars 61 forks source link
domain-specific-language dsl language-engineering language-server-protocol typescript vscode
[![npm](https://img.shields.io/npm/v/langium)](https://www.npmjs.com/package/langium) [![Build](https://github.com/eclipse-langium/langium/actions/workflows/actions.yml/badge.svg)](https://github.com/eclipse-langium/langium/actions/workflows/actions.yml) [![Gitter Chat](https://img.shields.io/badge/chat-on%20gitter-0DBD8B?logo=gitter)](https://app.gitter.im/#/room/#langium:gitter.im) [![Github Discussions](https://img.shields.io/badge/github-discussions-blue?logo=github)](https://github.com/eclipse-langium/langium/discussions) [![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-ready--to--code-FFAE33?logo=gitpod)](https://gitpod.io/#https://github.com/eclipse-langium/langium)

Eclipse Langium (IPA: /ˈlæŋɡiəm/, like language and equilibrium) is a language engineering tool for TypeScript with built-in support for the Language Server Protocol. The framework is an all-in-one solution for building programming languages, domain specific languages, code generators, interpreters and compilers. It serves as a spiritual successor to the Eclipse Xtext framework.

Installation

Build your first language with Langium in our online playground.

Once you're ready to set up a project, you can use yeoman to generate a sample Langium project:

npm i -g yo generator-langium
yo langium

Documentation

You can find the Langium documentation on the website.

If you're new to building programming language, take a look at our overview to see what Langium offers.

The documentation is divided into several sections:

The documentation website is hosted in this repository.

Examples

We host a number of simple examples in our main repo:

More complex examples are available as separate repositories in our GitHub organization:

Contributing

If you want to contribute to Langium, please take a look at our contributing guide.

Langium is fully MIT licensed.