2 releases
0.0.1 | Jun 23, 2021 |
---|---|
0.0.0 | Jun 13, 2021 |
#45 in #parse-tree
58KB
870 lines
parce
Parce is a parser and lexer generator, where the grammar and the parse tree are the same data structure. It is similar to ANTLR, but the grammar is written in Rust code, not a special DSL.
Links
Features
Lexer Features
- Regex-like repetition operators
- The usual
*
,+
, and?
- And also
{n}
(exactly n),{n,}
(n or more), and{n,m}
(between n and m inclusive) <- ANTLR doesn't have those :)
- The usual
- Lexeme nesting
- Regex-like character classes
- Skipped lexemes
- Fragment lexemes
- Modal lexers
- unlike ANTLR, lexemes can be active in multiple modes
Parser Features
Future plans
- Semantic predicates
- left-recursive grammar re-writing like ANTLR, using semantic predicates
- Data post-processors
- multi-threaded lexing and parsing.
Contributing
If you find a bug or want a new feature, please create an issue or pull request on GitHub!
License: MIT OR Apache-2.0
Dependencies
~4–15MB
~166K SLoC