All Versions
12
Latest Version
Avg Release Cycle
170 days
Latest Release
1040 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v3.1.0 Changes
August 04, 2020๐ฆ Expose the method field in Parser to allow custom combinators
-
v3.0.3 Changes
December 17, 2019๐ฏ Input symbol's trait bounds change
Copy
toClone
. -
v3.0.0 Changes
December 12, 20183.0 is based on 1.0 and changed:
pub struct Parser<'a, I, O> { method: Box<Fn(&mut Input<I>) -> Result<O> + 'a>, }
to
pub struct Parser\<'a, I, O\> { method: Box\<Fn(&'a [I], usize) -\> Result\<(O, usize)\> + 'a\>, }
This is like 2.0 version, but avoids potential issue such as #23.
- Toolchain switched to Rust 2018 stable channel.
-
v2.0.0 Changes
October 29, 2017- โ Add p.expect(_), mark parser as expected, abort early when failed in ordered choice.
-
v2.0.0-beta Changes
March 07, 2017- โ Add
p.many(range)
, like p.repeat(range) but return slice instead of vector. - โ Add
p.cache()
, can be used to remember parser output result in case of potential backtracking.
- โ Add
-
v2.0.0-alpha Changes
February 10, 2017- ๐ Greatly improved performance.
- ๐ Parser as trait, Combinator as wrapper struct.
- Apply zero-copy strategy.
-
v1.1.0 Changes
October 29, 2017- โ Add p.expect(_), mark parser as expected, abort early when failed in ordered choice.
-
v1.0.0 Changes
February 15, 2017- Remove range() function, one_of() and none_of() can accept range literal as well.
- ๐ Performance improvement.
-
v0.9.0 Changes
February 03, 2017- ๐ Can build on Rust stable 1.15.0.
p.repeat(n)
repeat p exactly n times.- Implement Display and Error for pom::Error.
Thanks for Jeremy Fitzhardinge's contribution.
-
v0.8.0 Changes
January 24, 2017- โ Add
p.name(_)
, give parser a name to identify parsing errors. - โ Add
p.convert(f)
, convert parser result to desired value, fail in case of conversion error. list(p,s)
backtrack to the last successfully matched element.- ๐ Merged 2 pull requests from new contributors.
- โ Add