chumsky
chumsky copied to clipboard
Write expressive, high-performance parsers with ease.
This would allow to skip `Stream::from_iter` dance when using Chumsky as lexer as well as parser.
As it stands now, users only have access to `skip_until`, `skip_then_retry_until`, and `nested_delimiters`. I'm unsure if the best way to go about this would be exposing the `Strategy` trait (which...
With the eventual merge of #82, it might be possible to have chumsky integrate with `cstree`, a library for lossless parsing using untyped syntax tree. This might be achieved by...
[Memoisation](https://en.wikipedia.org/wiki/Memoization#Parsers) is a technique for making backtracking parser performance linear over the input length at the cost of higher memory consumption and more overhead for less exponential grammars. It would...
An example use case would be LDAP schema as retrieved via LDAP ``` ( 1.3.6.1.4.1.1466.115.121.1.8 DESC 'Certificate' X-BINARY-TRANSFER-REQUIRED 'TRUE' X-NOT-HUMAN-READABLE 'TRUE' ) ``` which I want to parse into ```...
Just got this: ``` Start and end delimiters cannot be the same when using `NestedDelimiters`, consider using `Delimiters` instead ``` But I don't see any `Delimiters` structure or `delimiters` function....
1. Why it counts characters and not byte offsets? It's hard to spot this thing [deep in the documentation](https://docs.rs/chumsky/latest/chumsky/stream/struct.Stream.html#impl-From%3C%26%27a%20str%3E). And also most error reporting libraries expect byte offsets, `codespan` and...
After fixing #52 there are couple of issues left: 1. `Error::unclosed_delimiters` takes only single token (char if char stream is parsed) 2. `nested_delimiters` strategy allows only single token My use...
Currently, there's no clean way to do something like ```rs parse_keyword() .then_with(|kw| parser(kw)) ``` Creating a parser that requires the ok result of the previous parser. It's possible with `custom`,...