Parsers: A language for making languages

LeetSheet ยท Designer ยท Scroll ยท Subreddit

What is Parsers?

Parsers is a language for making languages.

Parsers is built on Particles (Particle Syntax).

Can you show me an example?

Below is some code written in Parsers to create a microlanguage called Panda.

pandaParser catchAllParser expressionParser operatorAtom enum + - integerAtom expressionParser atoms operatorAtom catchAllAtomType integerAtom

The Parsers program above can generate a parser that parses statements like + 1 2 5 10 and - 10 2.

What is a longer description?

Parsers is a language built on Particles for building other languages built on Particles. The parsers not only allow parsing of those languages but also can include code written in a host language (such as Javascript) for compiling and/or runtime interpreting of these languages.

What is built on Parsers?

Many things are built on Parsers including Scroll and PLDB.

Can I try it online?

Yes! The Parser Designer is an online tool for writing Parsers code to build languages right in your browser.

*

Parsers Roadmap

The following major features are likely to be added to a future version of Parsers:

Import statements

Dependent Types

Union Atom Types

Pattern Matching

Mixins

Positional Parsers

LSP Support

BNF Parsing

Upgrading to CodeMirror Version 6

*

Parsers Release Notes

Here's a list of the notable changes in Parsers:

6.0.0 2023-4-2

5.0.0 2023-3-30

4.0.0 2023-3-28

Built with Scroll v164.4.0