LeetSheet ยท Designer ยท Scroll ยท Subreddit
Parsers is a language for making languages.
Parsers is built on Particles (Particle Syntax).
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
.
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.
Yes! The Parser Designer is an online tool for writing Parsers code to build languages right in your browser.
The following major features are likely to be added to a future version of Parsers:
https://
imports and perhaps something like node_modules://
type website
certain parsers would come into/out of scope.inScope
implementation may undergo a refactor to allow for further future possibilities. For example, we may want to consider alternate approaches to inScope
than the current inheritance system.Here's a list of the notable changes in Parsers:
NodeTypeDefinitions
ending in Node
it is now ParserDefinitions
ending in Parser
getX()
have been changed to getters like get x()
.//
commentstodo
comments. Use // todo
insteadtooling
keyword. Use // tooling
instead