Irina Artemeva

Langium: Design your own language in Node.js and VS Code

What if one grammar file could generate a parser, AST, and full IDE support for your new language? Discover how with the Langium framework.

Langium: Design your own language in Node.js and VS Code
#1about 2 minutes

Understanding domain-specific languages and their use cases

Domain-specific languages (DSLs) are specialized languages like SQL or MATLAB that solve problems within a particular domain.

#2about 3 minutes

The business benefits of creating a custom DSL

Creating a DSL can reduce maintenance costs by decoupling domain experts from developers and enables automation through code generation.

#3about 2 minutes

Key principles for designing an effective DSL

When designing a language, choose a paradigm and abstraction level, but most importantly, be specific to the domain problem instead of replicating a general-purpose language.

#4about 3 minutes

Introducing the Langium framework for language engineering

Langium is a TypeScript-based framework that simplifies creating languages by generating parsers, scoping, and other services directly from a grammar definition.

#5about 5 minutes

Langium's design goals and built-in cross-reference support

Langium is designed to be lean, customizable, and easy to start with, providing powerful out-of-the-box features like cross-references via special grammar syntax.

#6about 2 minutes

Managing workspaces and integrating with IDEs via LSP

Langium supports multi-file workspaces and provides built-in Language Server Protocol (LSP) support for features like diagnostics and code actions in any compatible editor.

#7about 1 minute

Deploying Langium-based languages on the web

Languages built with Langium can be deployed on the web using either a client-server architecture or a browser-only model for lightweight playgrounds.

#8about 7 minutes

Demo: Building the MiniLogo drawing language with Langium

This demonstration shows how to define a grammar for a simple drawing language, which automatically provides IDE features and enables code generation to produce a visual output.

#9about 1 minute

How to get started with the Langium framework

You can start building your own language by using the Yeoman generator to set up a local project or by experimenting with the online Langium playground.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

Rust and GoLang

Rust and GoLang

NHe4a GmbH
Karlsruhe, Germany

Remote
55-65K
Intermediate
Senior
Go
Rust