pom
PEG parser combinators using operator overloading without macros.
3.4.0
9.6M downloads/mo
#3170 most downloaded on crates.io
J-F-Liu/pom
What this package is like to depend on
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 2.8 years
Some releases are documented
notes for 8 of 24 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
26 releases · first in 2016
0 releases in the last 12 months
see the full history below
Release timeline
26 releases · Dec 2016 to Mar 2024Releases
latest 26-
3.4.006 Mar 2024 -
3.3.019 Jun 2023Nothing published for this version
-
3.2.017 Sep 2020Nothing published for this version
-
3.1.006 Jan 2020 -
3.0.317 Dec 2019 -
3.0.229 Mar 2019Nothing published for this version
-
3.0.113 Mar 2019Nothing published for this version
-
3.0.012 Dec 2018Release notes
Open source →- 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.
-
2.0.118 May 2018Nothing published for this version
-
2.0.024 Oct 2017Release notes
Open source →- Add p.expect(_), mark parser as expected, abort early when failed in ordered choice.
-
2.0.0-beta07 Mar 2017 pre-releaseRelease notes
Open source →- 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
-
2.0.0-alpha10 Feb 2017 pre-releaseRelease notes
Open source →- Greatly improved performance.
- Parser as trait, Combinator as wrapper struct.
- Apply zero-copy strategy.
-
1.1.022 Oct 2017Release notes
Open source →- Add p.expect(_), mark parser as expected, abort early when failed in ordered choice.
-
1.0.110 Mar 2017Nothing published for this version
-
1.0.015 Feb 2017Release notes
Open source →- Remove range() function, one_of() and none_of() can accept range literal as well.
- Performance improvement.
-
0.9.003 Feb 2017Release notes
Open source →- 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.
-
0.8.125 Jan 2017Nothing published for this version
-
0.8.024 Jan 2017Nothing published for this version
-
0.7.022 Jan 2017Nothing published for this version
-
0.6.120 Jan 2017Nothing published for this version
-
0.6.017 Jan 2017Nothing published for this version
-
0.5.012 Jan 2017Nothing published for this version
-
0.4.011 Jan 2017Nothing published for this version
-
0.3.009 Jan 2017Nothing published for this version
-
0.2.003 Jan 2017Nothing published for this version
-
0.1.030 Dec 2016Nothing published for this version