pest
pest copied to clipboard
The Elegant Parser
The validator admits this left-recursive rule: ``` r = { (r | "") ~ "." } ``` But `r ~ "."` and `r | ""` fail to compile, as expected.
Currently to have a rule be provided as expected it must produce a token. This means that for some important syntax you end up with extra tokens in your stream....
I just defined this in my code. Maybe It would be a good idea to create a blanket implementation for `FromStr` in Pest itself? ```rust trait PairExt where R: pest::RuleType...
As in subject, I am struggling to understand how to define multiple `Parser` structs in the same crate, each one relying on its own grammar file.
It would be really neat to have a library to do this. Here's an example of another project that does a similar thing. https://github.com/d0c-s4vage/gramfuzz
I must have disabled `missing_docs` lint to compile my crate, it's very annoying, the compiler no longer checks that all the documentation is present : ``` error: missing documentation for...
Specifically, https://github.com/pest-parser/pest/blob/master/pest/src/unicode/binary.rs and https://github.com/pest-parser/pest/blob/master/pest/src/unicode/category.rs. The reason they were committed previously is to remove the build-time dependency on `ucd-generate` and https://www.unicode.org/Public/zipped/11.0.0/UCD.zip. The script that regenerates these files currently lives at https://github.com/pest-parser/pest/blob/master/update_unicode.sh....
- [x] ~~~make `&str` into a `&&str` on `lifetimes` (to evade fat pointers)~~~ minimize fat pointer copying - [x] use `memchr` in `(("a" | "b" | "c") ~ any)*` patterns...
[List of built-in rules](https://docs.rs/pest_derive/2.0.1/pest_derive/#built-in-rules) is rather short. There can be: * A rule for floating-point number like `+34.12e+56` * A rule for some integer number like `123` or `0x24AE`. *...
It would be nice to have an extra grammar in `pest_grammars` before launching 1.0.