Langium: A TypeScript-Based Language Workbench for Domain-Specific Languages
Abstract
Domain-specific languages bring domain experts into model-based engineering by allowing them to use their usual notation and terminology. However, developing a high-quality language with tooling often requires substantial implementation effort. Eclipse Langium is a TypeScript-based language workbench that addresses this challenge by providing a highly expressive EBNF-like grammar language. From this grammar, Langium automatically derives the parser infrastructure, AST metamodel, cross-reference resolution logic, validation APIs, and Language Server Protocol support. The resulting infrastructure is extensible, allowing adopters to combine rapid prototyping with customized language support. This paper presents the core concepts of Langium and highlights key features such as multi-references and infix parser rules. It also reports figures on Langium’s downstream usage and gives examples of how Langium is applied in open-source, scientific, and commercial projects.