chumsky
chumsky copied to clipboard
Write expressive, high-performance parsers with ease.
I really appreciate the pratt parser feature. However, it is currently limited in the number of operators you can implement with it, since `impl_pratt_for_tuple!(A_ B_ C_ D_ E_ F_ G_...
I apologize that I wasn't able to minimize this one. [Here's the code](https://paste.sr.ht/~thepuzzlemaker/4a27938d15b18adbf56a7c092e46ec7fc465c132). Additionally, here's the code that calls the parser: ```rs let (items, parse_errs) = parse::item() .separated_by(parse::maybe_nls()) .collect::() .then_ignore(end())...
When i run my parser(application). There is this error ``` thread 'main' panicked at /home/sineptic/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:197:21: setting stack permissions failed with: Cannot allocate memory (os error 12) note: run with `RUST_BACKTRACE=1`...
Is there any function that read only if in input pattern occurs EXACTLY N times. existed function `exactly()` read even if there more than N occurs. ```rust // This don't...
When a source does not contain a newline, labels are lost/ignored and replaced with the fallback `expected something else`. This reverts the change made in this commit which appears to...
This work only for 1 blank line: ``` rust .separated_by(blank_line()) ``` This work as expected: ``` rust .separated_by(blank_line().repeated().at_least(1)) ``` --- doc string for `separated_by`: /// Parse a pattern, separated by...
This would be a very simple utility method I feel is missing right now, as a shorthand: ```rs parser.map_extra(|it, e| (it, e.span())) // into parser.spanned() ``` It's not essential or...
Supercedes #644 Bumps all dependencies to latest versions, and fixes the broken `stacker` cfg caught by the well-known cfgs lint.