chomp
chomp copied to clipboard
A fast monadic-style parser combinator designed to work on stable Rust.
This property is useful e.g. when calculating how many bytes of a buffer were consumed without actually explicitly keeping track of it.
this is just one part of the story (as described in #67), but it seems to me that one piece of the puzzle would improve the situation already. would you...
In other words, is there a concise way to map an arbitrary `Result` to a chomp error? In `nom`, I would do the following: ```rust map_res!( take_until_and_consume!("\n"), str::from_utf8 ) ```...
Attoparsec has a lot of good parsers and combinators, would be a good idea to implement most if not all of them. # `Data.Attoparsec.ByteString` ## Individual bytes - [x] `word8`...
This is the `impl Trait` based monad implementation of Chomp for Rust Nightly. It is not intended to become the 1.0.0 of Chomp, current `master` is using the monad-like syntax...
# problem the `chomp::parsers::string` parser (and possibly others internally using `consume_while`) might force unnecessary stream `read`s. example code: ```rust #[macro_use] extern crate chomp; use chomp::prelude::*; use chomp::buffer::{Source, Stream}; use std::net::TcpStream;...
# Problem The integer-types are limited in what values they can represent, the `decimal` parser does not have an upper bound on the number of digits to parse or the...
Currently the `parse!` macro documentation does not detail exactly what operators like `
I have a usecase where I'd like to somehow pass [`numbering::InputPosition::position`](http://m4rw3r.github.io/chomp/chomp/types/numbering/struct.InputPosition.html#method.position) to an `Error` type as a way of reporting parsing errors at a location (e.g. line/column location). The issue...
Currently Chomp's module-tree is a bit deep for what it does. Would be more ergonomic with a flatter tree. The most common types should be in the crate root: -...