OPEN-SOURCE PROJECTS

The libraries under our own work, in the open.

Federico Tomassetti and the Strumenta team maintain a set of open-source language-engineering libraries. They are the same ones our client projects run on, and they are Apache-2.0, so you can use them too.

Everything on this page is public and currently maintained. Where a project is a shared effort rather than ours alone, we say so, and where a repository has gone quiet we would rather leave it off than describe it as alive. Figures below were checked in August 2026 — the repositories themselves are the current source of truth.

What we maintain

Starlasu

Language-engineering framework · four languages

Starlasu is the backbone of our own parsers and transpilers: a common way to define abstract syntax trees, keep source positions attached to every node, walk and transform trees, and move models between tools. It exists as four sibling libraries so that a pipeline can cross runtimes without changing shape—starlasu-kotlin (formerly Kolasu) for the JVM, tylasu for TypeScript, starlasu-python (formerly Pylasu) for Python and sharplasu for .NET.

The Kotlin implementation is the reference one and the most complete; the others follow it. Documentation, including the Chisel method we use for incremental migrations, is at starlasu.strumenta.com.

LicenseApache-2.0
MaintainerStrumenta
RuntimesJVM, TypeScript, Python, .NET
Notetylasu is the quietest of the four

ANTLR Kotlin target

Code generator and runtime for ANTLR 4

ANTLR ships official targets for Java, C#, Python, JavaScript, TypeScript, Go, C++, Swift, PHP and Dart. We wrote and maintain the Kotlin one. It generates a Kotlin Multiplatform library, so a single grammar yields a parser that runs on the JVM and Android, in the browser, on Node.js, and natively on macOS, Windows and Linux—from one codebase rather than one per platform.

It started as Federico’s project in 2018 and is now developed with contributors from outside Strumenta; releases have continued through 2026.

LicenseApache-2.0
Stars~270
StatusActive, released Aug 2026

LionWeb

Open specification · multi-organization initiative

LionWeb—Language Interfaces on the Web—is a shared specification for how language-engineering tools exchange models and metamodels, so that a parser, an editor and a generator built by different people can work on the same model. It is not a Strumenta project: it is an initiative with contributors from several organizations, and we take part in it.

Federico is the principal author of lionweb-jvm, the JVM implementation of the specification, and also contributes to the reference LionWeb Server. Implementations exist for TypeScript, C#, Python and JetBrains MPS alongside the JVM one.

LicenseApache-2.0
OwnerLionWeb initiative
Our roleContributor, lead on the JVM implementation

JavaParser and JavaSymbolSolver

Java parsing · community project, not ours

JavaParser is a widely used library for parsing, analyzing and transforming Java source. Federico created JavaSymbolSolver, the piece that answers the questions a bare syntax tree cannot—which declaration a name refers to, what the type of an expression is, which interfaces a class implements including indirectly—and it has since been merged into JavaParser itself as javaparser-symbol-solver-core.

He is one of the two most prolific contributors to the project by commit count. It is now led by others, and we mention it here as history and as a recommendation, not as something we maintain.

LicenseApache-2.0 or LGPL-3.0
Stars6,000+
Maintained byThe JavaParser community

SmartReader

Content extraction for .NET

A C# port of Mozilla’s Readability: give it a web page, get back the article and its metadata without the navigation, the advertising and the rest of the page furniture. It came out of our own need to read the web programmatically, and it is the most used piece of software we have published outside language engineering.

LicenseApache-2.0
Stars~190
StatusActive

Everything we have published is at github.com/Strumenta, including experiments and article companion code that we are not maintaining. Read the repository before depending on it: a public repository is not a promise, and a few of ours carry no license file, which means they are not open source however public they look.

Why we publish these

If you would rather not build it yourself

These libraries are the raw material. If you need a finished parser for a specific language, we license the ones we have already built and we build new ones to order.

License our parsers

Production parsers for COBOL, RPG, PL/SQL, T-SQL, SAS, VBA/VB6, EGL and more, ready to license.

See the catalog →

Custom parsers

For a language, dialect or in-house format that nobody has a parser for yet.

Custom parsers →

The ANTLR course

If you want to build it yourself, this is the shortest route from a blank grammar file to a working parser.

Using ANTLR like a professional →

Using one of these, or thinking about it?

Tell us what you are building. If one of our libraries fits, we will say how; if it does not, we will say that instead.

Talk to us

Scroll to Top