parsuna 0.1.0

Parsuna: recoverable, pull-based parsers with precise errors
Documentation
  • Coverage
  • 90.53%
    172 out of 190 items documented0 out of 58 items with examples
  • Size
  • Source code size: 540.78 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 18.2 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 2m 27s Average build duration of successful builds.
  • all releases: 2m 27s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • imjakingit

Parsuna: parser generator for recoverable, pull-based parsers.

A grammar is parsed by [grammar::parse_grammar] into a [Grammar] IR, [analysis::analyze] checks it and computes FIRST/FOLLOW up to the smallest k that removes LL conflicts, [lowering::lower] turns the result into a flat [lowering::StateTable], and a [codegen::Backend] emits target-language source from that table.

Generated parsers at run time use the [parsuna_rt] crate (re-exported here for [Error], [Span]) for the generic pull loop; each target language has its own embedded runtime when there is no host crate.