Combine is a Rust LL(1) (and optionally, LL(k)) parser-combinator library for building simple parsers. It is not the most elegant, but it's can operate in a zero-copy manner by streaming over pre-allocated buffers such as `String`, `&str`, `&[u8]`, and `Vec<u8>`. It supports a number of other complex features such as partial-parsing, arbitrary-depth look-ahead (which I think just makes it LL(k)?), and macros to make it all easier to work with.
# Code Examples / References
[JNI](https://github.com/jni-rs/jni-rs/blob/master/src/wrapper/signature.rs)