parce 0.0.1

A pure-rust parser generator
Documentation
[![version](https://img.shields.io/crates/v/parce)](https://crates.io/crates/parce)
[![downloads](https://img.shields.io/crates/d/parce)](https://crates.io/crates/parce)
[![docs](https://img.shields.io/docsrs/parce)](https://docs.rs/parce/)
![license](https://img.shields.io/crates/l/parce)

# 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

- [crates.io]https://crates.io/crates/parce
- [docs.rs]https://docs.rs/parce/

## 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 :)
- 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](https://github.com/JoelCourtney/parce)!

License: MIT OR Apache-2.0