pest
pest copied to clipboard
The Elegant Parser
closes #686 this logic sneaked in from the previous call depth checking; the follow up for the grammar timeout issue is #685
Possibly related issues: - https://github.com/pest-parser/pest/issues/675 - https://github.com/pest-parser/pest/issues/603 - https://github.com/pest-parser/pest/issues/571 - https://github.com/pest-parser/pest/issues/402 - https://github.com/pest-parser/pest/issues/279 Suggestions from @dragostis : > Ideally, the optimizer should be able to detect all exponential cases and...
**Describe the bug** Fuzzing found a crash due to indexing an empty vector. https://github.com/pest-parser/pest/blob/9c42f1293aa999b24cd8dea70469da3be3a4c9eb/pest/src/parser_state.rs#L309 ``` thread '' panicked at 'index out of bounds: the len is 0 but the index...
The current example grammar will allow for every `ident` after the first to start with a `digit`. For instance `"a1 2b"` is a valid `ident_list` with the current grammar. Wouldn't...
Could we have a grammar for that? Something similar to this: ``` arguments = { argument * "," } ipv4 = @{ ASCII_DIGIT{1,3} {3} "." } ``` (There should be...
Hides an implementation of [miette](lib.rs/miette)'s `Diagnostic` type under the `miette` feature flag. Also adds example usage to the `parens` example. The only issue I have with this is that the...
Closes #661.
From the `cargo-insta` documentation, > Snapshots tests (also sometimes called approval tests) are tests that assert values against a reference value (the snapshot). This is similar to how assert_eq! lets...
This idea was introduced in #550 . This pr submitted new interfaces that does not break compatibility. - [ParserState::tag_node]() - [ParserState::tag_branch]() - [Pair::as_node_tag]() - [Pair::as_branch_tag]() --- I think when this...
I've been working on a [project](https://github.com/Nadrieril/dhall-rust) with a [fairly large grammar](https://github.com/dhall-lang/dhall-lang/blob/781961f4694667667f093d28e7b35569c67678c4/standard/dhall.abnf) for a while now, and in the process I've had to write and maintain code to convert the output...