Skip to content

Releases: J-F-Liu/pom

3.4.0

06 Mar 08:51
Compare
Choose a tag to compare
  • Remove extra type parameter of utf8::end(), skip() and list()
  • Add 'trace' feature to be used in 'name'd parsers. (#63)
  • Amend RangeArgument such that repeat accepts RangeToInclusive and RangeInclusive (#64)
  • Add any() combinator

3.1.0

04 Aug 12:50
Compare
Choose a tag to compare

Expose the method field in Parser to allow custom combinators

3.0.3

17 Dec 08:47
Compare
Choose a tag to compare

Input symbol's trait bounds change Copy to Clone.

3.0.0

12 Dec 14:43
Compare
Choose a tag to compare
  • 3.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.

1.1.0

29 Oct 01:17
Compare
Choose a tag to compare
  • Add p.expect(_), mark parser as expected, abort early when failed in ordered choice.

2.0.0

29 Oct 01:18
Compare
Choose a tag to compare
  • Add p.expect(_), mark parser as expected, abort early when failed in ordered choice.

2.0.0-beta

07 Mar 07:12
Compare
Choose a tag to compare
2.0.0-beta Pre-release
Pre-release
  • 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.

1.0.0

15 Feb 06:01
Compare
Choose a tag to compare
  • Remove range() function, one_of() and none_of() can accept range literal as well.
  • Performance improvement.

2.0.0-alpha

10 Feb 09:09
Compare
Choose a tag to compare
2.0.0-alpha Pre-release
Pre-release
  • Greatly improved performance.
  • Parser as trait, Combinator as wrapper struct.
  • Apply zero-copy strategy.

0.9.0

03 Feb 12:46
Compare
Choose a tag to compare
  • 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.