PackageTrack
Sign in Get early access

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 2024
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 26
  1. 3.4.0 06 Mar 2024
    Release notes
    • 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
    Open source →
  2. 3.3.0 19 Jun 2023

    Nothing published for this version

  3. 3.2.0 17 Sep 2020

    Nothing published for this version

  4. 3.1.0 06 Jan 2020
    Release notes

    Expose the method field in Parser to allow custom combinators

    Open source →
  5. 3.0.3 17 Dec 2019
    Release notes

    Input symbol's trait bounds change Copy to Clone.

    Open source →
  6. 3.0.2 29 Mar 2019

    Nothing published for this version

  7. 3.0.1 13 Mar 2019

    Nothing published for this version

  8. 3.0.0 12 Dec 2018
    Release notes
    • 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.
    Open source →
  9. 2.0.1 18 May 2018

    Nothing published for this version

  10. 2.0.0 24 Oct 2017
    Release notes
    • Add p.expect(_), mark parser as expected, abort early when failed in ordered choice.
    Open source →
  11. 2.0.0-beta 07 Mar 2017 pre-release
    Release notes
    • 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.
    Open source →
  12. 2.0.0-alpha 10 Feb 2017 pre-release
    Release notes
    • Greatly improved performance.
    • Parser as trait, Combinator as wrapper struct.
    • Apply zero-copy strategy.
    Open source →
  13. 1.1.0 22 Oct 2017
    Release notes
    • Add p.expect(_), mark parser as expected, abort early when failed in ordered choice.
    Open source →
  14. 1.0.1 10 Mar 2017

    Nothing published for this version

  15. 1.0.0 15 Feb 2017
    Release notes
    • Remove range() function, one_of() and none_of() can accept range literal as well.
    • Performance improvement.
    Open source →
  16. 0.9.0 03 Feb 2017
    Release notes
    • 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.

    Open source →
  17. 0.8.1 25 Jan 2017

    Nothing published for this version

  18. 0.8.0 24 Jan 2017

    Nothing published for this version

  19. 0.7.0 22 Jan 2017

    Nothing published for this version

  20. 0.6.1 20 Jan 2017

    Nothing published for this version

  21. 0.6.0 17 Jan 2017

    Nothing published for this version

  22. 0.5.0 12 Jan 2017

    Nothing published for this version

  23. 0.4.0 11 Jan 2017

    Nothing published for this version

  24. 0.3.0 09 Jan 2017

    Nothing published for this version

  25. 0.2.0 03 Jan 2017

    Nothing published for this version

  26. 0.1.0 30 Dec 2016

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive