5 unstable releases
0.7.0 | Aug 27, 2021 |
---|---|
0.6.2 | Aug 20, 2021 |
0.6.1 | Jun 6, 2020 |
0.6.0 | Apr 8, 2020 |
0.5.0 | Feb 6, 2020 |
#164 in Parser tooling
113 downloads per month
Used in 5 crates
30KB
608 lines
Muncher
About
An easy-to-use string muncher that allows easy tokenization when writing a parser. Muncher has peek
and fork capabilities, so you can look ahead and behind when needed. If lexing braces, Muncher
has a built-in brace matching stack accessed from Muncher::brace_stack()
.
Use
[dependencies]
muncher = "0.6"
Examples
use muncher::Muncher;
let input = "hello\nworld";
let mut m = Muncher::new(input);
let hello = m.eat_until(|c| c == &'\n').collect::<String>();
assert_eq!(m.peek(), Some(&'\n'));
assert!(m.eat_eol());
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.