Welcome to

The next-gen LR parser framework for creating elegant and efficient language tools

Get Started Try Playground

Our APIs get out of your way so you can write code

We're building an API-first IDE centered around a Document Object Model (or DOM) for code. We hope to create a new generation of tools that are more trustworthy, transparent, powerful, and approachable in order to make software literacy less rare. We believe when that software literacy is rare the incentives are strong for software to be used to manipulate people rather than to serve them.

Tool Authors

Create and maintain tools with powerful abstractions and simplified workflows.

IDE Developers

Build rich editing experiences with comprehensive language support.

Language Authors

Design and implement languages with sophisticated parsing capabilities.

Roadmap

Building the future of parsing, one milestone at a time

Planned

1.0.0

The first production-grade release

Broader language support

Define the first 1000 languages

More implementations

Port BABLR engine to other runtimes

isValid cache

...for both typed and untyped trees

In Progress

Javascript language support

Our tools should parse our own source code

Spamex

Structural Pattern Matcher EXpressions

Syntax highlighting

A CSS-like system for styling code

Documentation

API docs, guides, architecture and more

Ruby language support

A BABLR grammar for your favorite friendly language

Completed

Shift operation

Enables LR parsing of expressions like 2+2

Unicode support

CSTML identifiers may now contain unicode

Immutable btrees

Amortized-cost changes to wide nodes

Language embedding

Languages can refer to and extend each other

Open Source

Learn about BABLR and its mission. Contribute to our growing community.

Community

Join our Discord to offer feedback, ask questions, and help guide our roadmap.

Documentation

Comprehensive guides and examples to get you started quickly.

Frequently Asked Questions

Get answers to common questions about BABLR and how it can help you build better language tools.

What is BABLR?

BABLR is a next-generation LR parser framework designed for creating elegant and efficient language tools. It provides a powerful API-first IDE centered around a Document Object Model (DOM) for code.

How is BABLR different from other parser frameworks?

BABLR offers self-aware parsing capabilities, bootstrapped VM system, and efficient representation for asynchronous input streams. It's built from the ground up to be more trustworthy, transparent, and approachable.

Is BABLR open source?

Yes, BABLR is completely open source. You can find our repositories on GitHub and contribute to our growing community. We welcome contributions at all skill levels.

When will BABLR be production-ready?

We're working towards an alpha release around November 18th. The project has been in development since 2020 and is rapidly approaching production readiness.

How can I get started with BABLR?

You can start by checking out our documentation, trying our interactive playground, or joining our Discord community. We're building comprehensive guides and tutorials to help you get started quickly.

What programming languages does BABLR support?

BABLR is designed to work with any programming language. The framework allows you to define custom grammars and build language tools for both existing and new programming languages.

Still have questions? We'd love to help!