Parsers is a language for making languages.
Below is some code written in Parsers to create a simple language called Panda.
pandaParser
root
catchAllParser expressionParser
operatorAtom
enum + -
intAtom
expressionParser
atoms operatorAtom
catchAllAtomType intAtom
The Parsers code 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 ParsergetX() have been changed to getters like get x().// commentstodo comments. Use // todo insteadtooling keyword. Use // tooling instead