ripeg

Crates.ioripeg
lib.rsripeg
version0.1.3
sourcesrc
created_at2022-03-19 14:42:58.583741
updated_at2022-04-10 14:39:30.140849
descriptionIncremental PEG parser Rust library
homepagehttps://lwandrebeck.github.io/ripeg/
repositoryhttps://github.com/lwandrebeck/ripeg
max_upload_size
id553197
size75,240
Laurent Wandrebeck (lwandrebeck)

documentation

https://docs.rs/ripeg

README

ripeg

Incremental packrat Parsing Expression Grammar in Rust

Crates.io docs maintained

ripeg Continuous Integration Coverage Status codecov

downloads GitHub contributors commits

License: GPL v3+ Minimum rustc version dependency status

issues closed pr prc

This project intends to be a Rust port of https://github.com/zyedidia/gpeg/ which is itself inspired by http://www.inf.puc-rio.br/~roberto/lpeg/. Related research publications about incremental PEG are https://zyedidia.github.io/notes/yedidia_thesis.pdf and https://zyedidia.github.io/preprints/gpeg_sle21.pdf

Contributing

PRs are more than welcome, I’d like a lot this project not to be a one-random-guy work. Please read Contributing

Code of Conduct

Please follow the CoC from rust-lang. I’ll be glad if I can avoid any kind of moderation, I have better to do with my time, thanks !

Current status

A first part of code has been ported, but you definitely can't use that crate yet.

Roadmap && Changelog

  • 20220319 0.1.0 : ripeg crate published so name is reserved.
  • 20220322 0.1.1 : Release with CI, code coverage configured, and use of cargo-nextest.
  • 20220405 0.1.2 :
    • Release with charset module ported.
    • Use of cargo test instead of nextest because it does not support doc tests yet.
    • Comment out criterion bench in github actions as results are useless in CI env.
    • Update tarpaulin to 0.20.0, and fix test coverage.
    • Please note that charset methods prototypes may change.
  • 20220410 0.1.3 :
    • Release with isa module ported.
    • Update benchmarks
    • Please note that isa will probably change until 0.1.6 is released.
  • 202????? 0.1.4 : release with input module ported.
  • 202????? 0.1.5 : release with pattern module ported.
  • 202????? 0.1.6 : release with memo module ported.
  • 202????? 0.1.6 : release with vm module ported.
  • 202????? 0.1.7..n: port other modules.
  • 202????? 0.2.0 : 1st usable version.
  • 202????? 0.x.y : optimize
  • 202????? 1.0.0 : stable release.
Commit count: 12

cargo fmt