A Rust crate for LL(k) parser combinators.

Related tags

Parsing rust parser
Overview

oni-comb-rs (鬼昆布,おにこんぶ)

A Rust crate for LL(k) parser combinators.

Workflow Status crates.io docs.rs dependency status tokei

Main project

Sub projects

The following is projects implemented using oni-comb-parser-rs.

Examples

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Comments
  • Bump num from 0.3.1 to 0.4.0

    Bump num from 0.3.1 to 0.4.0

    Bumps num from 0.3.1 to 0.4.0.

    Changelog

    Sourced from num's changelog.

    Release 0.4.0 (2021-03-05)

    • Updated num-bigint, num-complex, and num-rational to 0.4.0.
      • Updated to rand 0.8 in num-bigint and num-complex.
      • Rational is deprecated in favor of explicit Rational32 or Rational64.
    • As with prior release bumps, all items exported from num-integer, num-iter, and num-traits are still semver-compatible with those exported by earlier version of num.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump regex from 0.1.80 to 1.5.4

    Bump regex from 0.1.80 to 1.5.4

    Bumps regex from 0.1.80 to 1.5.4.

    Release notes

    Sourced from regex's releases.

    1.0.0

    This release marks the 1.0 release of regex.

    While this release includes some breaking changes, most users of older versions of the regex library should be able to migrate to 1.0 by simply bumping the version number. The important changes are as follows:

    • We adopt Rust 1.20 as the new minimum supported version of Rust for regex. We also tentativley adopt a policy that permits bumping the minimum supported version of Rust in minor version releases of regex, but no patch releases. That is, with respect to semver, we do not strictly consider bumping the minimum version of Rust to be a breaking change, but adopt a conservative stance as a compromise.
    • Octal syntax in regular expressions has been disabled by default. This permits better error messages that inform users that backreferences aren't available. Octal syntax can be re-enabled via the corresponding option on RegexBuilder.
    • (?-u:\B) is no longer allowed in Unicode regexes since it can match at invalid UTF-8 code unit boundaries. (?-u:\b) is still allowed in Unicode regexes.
    • The From<regex_syntax::Error> impl has been removed. This formally removes the public dependency on regex-syntax.
    • A new feature, use_std, has been added and enabled by default. Disabling the feature will result in a compilation error. In the future, this may permit us to support no_std environments (w/ alloc) in a backwards compatible way.

    For more information and discussion, please see 1.0 release tracking issue.

    0.2.7

    This release includes a ground-up rewrite of the regex-syntax crate, which has been in development for over a year.

    New features:

    • Error messages for invalid regexes have been greatly improved. You get these automatically; you don't need to do anything. In addition to better formatting, error messages will now explicitly call out the use of look around. When regex 1.0 is released, this will happen for backreferences as well.
    • Full support for intersection, difference and symmetric difference of character classes. These can be used via the &&, -- and ~~ binary operators within classes.
    • A Unicode Level 1 conformat implementation of \p{..} character classes. Things like \p{scx:Hira}, \p{age:3.2} or \p{Changes_When_Casefolded} now work. All property name and value aliases are supported, and properties are selected via loose matching. e.g., \p{Greek} is the same as \p{G r E e K}.
    • A new UNICODE.md document has been added to this repository that

    ... (truncated)

    Changelog

    Sourced from regex's changelog.

    1.5.4 (2021-05-06)

    This release fixes another compilation failure when building regex. This time, the fix is for when the pattern feature is enabled, which only works on nightly Rust. CI has been updated to test this case.

    1.5.3 (2021-05-01)

    This releases fixes a bug when building regex with only the unicode-perl feature. It turns out that while CI was building this configuration, it wasn't actually failing the overall build on a failed compilation.

    1.5.2 (2021-05-01)

    This release fixes a performance bug when Unicode word boundaries are used. Namely, for certain regexes on certain inputs, it's possible for the lazy DFA to stop searching (causing a fallback to a slower engine) when it doesn't actually need to.

    [PR #768](rust-lang/regex#768) fixes the bug, which was originally reported in ripgrep#1860.

    1.5.1 (2021-04-30)

    This is a patch release that fixes a compilation error when the perf-literal feature is not enabled.

    1.5.0 (2021-04-30)

    This release primarily updates to Rust 2018 (finally) and bumps the MSRV to Rust 1.41 (from Rust 1.28). Rust 1.41 was chosen because it's still reasonably old, and is what's in Debian stable at the time of writing.

    This release also drops this crate's own bespoke substring search algorithms in favor of a new memmem implementation provided by the memchr crate. This will change the performance profile of some regexes, sometimes getting a little worse, and hopefully more frequently, getting a lot better. Please report any serious performance regressions if you find them.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Update Rust crate prop-check-rs to 0.0.79

    Update Rust crate prop-check-rs to 0.0.79

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | prop-check-rs | dev-dependencies | patch | 0.0.78 -> 0.0.79 |


    Release Notes

    j5ik2o/prop-check-rs

    v0.0.79

    Compare Source

    0.0.79 (2023-01-04)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update Rust crate prop-check-rs to 0.0.78

    Update Rust crate prop-check-rs to 0.0.78

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | prop-check-rs | dev-dependencies | patch | 0.0.77 -> 0.0.78 |


    Release Notes

    j5ik2o/prop-check-rs

    v0.0.78

    Compare Source

    0.0.78 (2023-01-03)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update Rust crate prop-check-rs to 0.0.77

    Update Rust crate prop-check-rs to 0.0.77

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | prop-check-rs | dev-dependencies | patch | 0.0.76 -> 0.0.77 |


    Release Notes

    j5ik2o/prop-check-rs

    v0.0.77

    Compare Source

    0.0.77 (2023-01-02)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update Rust crate nom to 7.1.2

    Update Rust crate nom to 7.1.2

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | nom | dev-dependencies | patch | 7.1.1 -> 7.1.2 |


    Release Notes

    Geal/nom

    v7.1.2

    Compare Source

    Thanks
    Changed
    • documentation fixes
    • tests fixes
    • limit the initial capacity of the result vector of many_m_n to 64kiB
    • bits parser now accept Parser implementors instead of only functions
    Added
    • implement Tuple parsing for the unit type as a special case
    • implement ErrorConvert on the unit type to make it usable as error type for bits parsers
    • bool parser for bits input

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update Rust crate prop-check-rs to 0.0.76

    Update Rust crate prop-check-rs to 0.0.76

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | prop-check-rs | dev-dependencies | patch | 0.0.75 -> 0.0.76 |


    Release Notes

    j5ik2o/prop-check-rs

    v0.0.76

    Compare Source

    0.0.76 (2023-01-01)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update Rust crate prop-check-rs to 0.0.75

    Update Rust crate prop-check-rs to 0.0.75

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | prop-check-rs | dev-dependencies | patch | 0.0.74 -> 0.0.75 |


    Release Notes

    j5ik2o/prop-check-rs

    v0.0.75

    Compare Source

    0.0.75 (2022-12-31)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update Rust crate prop-check-rs to 0.0.74

    Update Rust crate prop-check-rs to 0.0.74

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | prop-check-rs | dev-dependencies | patch | 0.0.73 -> 0.0.74 |


    Release Notes

    j5ik2o/prop-check-rs

    v0.0.74

    Compare Source

    0.0.74 (2022-12-30)
    Bug Fixes
    • deps: update rust crate once_cell to 1.17.0 (24cbe6b)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update Rust crate prop-check-rs to 0.0.73

    Update Rust crate prop-check-rs to 0.0.73

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | prop-check-rs | dev-dependencies | patch | 0.0.72 -> 0.0.73 |


    Release Notes

    j5ik2o/prop-check-rs

    v0.0.73

    Compare Source

    0.0.73 (2022-12-29)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update Rust crate prop-check-rs to 0.0.72

    Update Rust crate prop-check-rs to 0.0.72

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | prop-check-rs | dev-dependencies | patch | 0.0.71 -> 0.0.72 |


    Release Notes

    j5ik2o/prop-check-rs

    v0.0.72

    Compare Source

    0.0.72 (2022-12-28)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    This repository currently has no open or pending branches.

    Detected dependencies

    asdf
    .tool-versions
    • python 3.11.1
    cargo
    crond/Cargo.toml
    • intervals-rs 0.0.5
    • chrono 0.4.23
    • anyhow 1.0.68
    • env_logger 0.10.0
    • ctor 0.1.26
    hocon/Cargo.toml
    • log 0.4.17
    • envy 0.4
    • rust_decimal 1.27
    • rust_decimal_macros 1.27
    • chrono 0.4.23
    • anyhow 1.0.68
    • ctor 0.1.26
    • rand 0.8.5
    • env_logger 0.10.0
    • prop-check-rs 0.0.79
    • anyhow 1.0.68
    • serial_test 0.10.0
    • test-generator 0.3
    parser/Cargo.toml
    • log 0.4.17
    • regex 1.7
    • anyhow 1.0.68
    • env_logger 0.10.0
    • prop-check-rs 0.0.79
    • rust_decimal 1.27.0
    • chrono 0.4.23
    • pom 3.2.0
    • nom 7.1.2
    • criterion 0.4
    • ctor 0.1.26
    toys/Cargo.toml
    • env_logger 0.10.0
    • ctor 0.1.26
    uri/Cargo.toml
    • log 0.4.17
    • env_logger 0.10.0
    • ctor 0.1.26
    • rand 0.8.5
    • prop-check-rs 0.0.79
    • anyhow 1.0.68
    • http 0.2
    github-actions
    .github/workflows/ci.yml
    • actions/checkout v3
    • actions-rs/toolchain v1
    • actions/checkout v3
    • actions-rs/toolchain v1
    • actions/checkout v3
    • actions-rs/toolchain v1
    • actions/checkout v3
    • actions-rs/toolchain v1
    • actions/checkout v3
    • actions-rs/toolchain v1
    .github/workflows/crond-bump-version.yml
    • actions/checkout v3
    • baptiste0928/cargo-install v1
    • actions/setup-python v4
    • actions/create-release v1
    .github/workflows/crond-release.yml
    • actions/checkout v3
    • actions-rs/toolchain v1
    .github/workflows/hocon-bump-version.yml
    • actions/checkout v3
    • baptiste0928/cargo-install v1
    • actions/setup-python v4
    • actions/create-release v1
    .github/workflows/hocon-release.yml
    • actions/checkout v3
    • actions-rs/toolchain v1
    .github/workflows/parser-bump-version.yml
    • actions/checkout v3
    • baptiste0928/cargo-install v1
    • actions/setup-python v4
    • actions/create-release v1
    .github/workflows/parser-release.yml
    • actions/checkout v3
    • actions-rs/toolchain v1
    .github/workflows/uri-bump-version.yml
    • actions/checkout v3
    • baptiste0928/cargo-install v1
    • actions/setup-python v4
    • actions/create-release v1
    .github/workflows/uri-release.yml
    • actions/checkout v3
    • actions-rs/toolchain v1

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
Releases(oni-comb-parser-rs-v0.0.19)
Owner
Junichi Kato
I'm a tech-lead in the Chatwork Inc, is lover to Scala/Rust, Akka, DDD/CQRS+Event Sourcing.
Junichi Kato
A procedural macro for defining nom combinators in simple DSL

A procedural macro for defining nom combinators in simple DSL

Andy Lok 22 Dec 12, 2022
Yet Another Parser library for Rust. A lightweight, dependency free, parser combinator inspired set of utility methods to help with parsing strings and slices.

Yap: Yet another (rust) parsing library A lightweight, dependency free, parser combinator inspired set of utility methods to help with parsing input.

James Wilson 117 Dec 14, 2022
Website for Microformats Rust parser (using 'microformats-parser'/'mf2')

Website for Microformats Rust parser (using 'microformats-parser'/'mf2')

Microformats 5 Jul 19, 2022
A friendly parser combinator crate

Chumsky A friendly parser combinator crate that makes writing LL-1 parsers with error recovery easy. Example Here follows a Brainfuck parser. See exam

Joshua Barretto 2.4k Jan 8, 2023
A native Rust port of Google's robots.txt parser and matcher C++ library.

robotstxt A native Rust port of Google's robots.txt parser and matcher C++ library. Native Rust port, no third-part crate dependency Zero unsafe code

Folyd 72 Dec 11, 2022
Rust parser combinator framework

nom, eating data byte by byte nom is a parser combinators library written in Rust. Its goal is to provide tools to build safe parsers without compromi

Geoffroy Couprie 7.6k Jan 7, 2023
Parsing Expression Grammar (PEG) parser generator for Rust

Parsing Expression Grammars in Rust Documentation | Release Notes rust-peg is a simple yet flexible parser generator that makes it easy to write robus

Kevin Mehall 1.2k Dec 30, 2022
A fast monadic-style parser combinator designed to work on stable Rust.

Chomp Chomp is a fast monadic-style parser combinator library designed to work on stable Rust. It was written as the culmination of the experiments de

Martin Wernstål 228 Oct 31, 2022
A parser combinator library for Rust

combine An implementation of parser combinators for Rust, inspired by the Haskell library Parsec. As in Parsec the parsers are LL(1) by default but th

Markus Westerlind 1.1k Dec 28, 2022
LR(1) parser generator for Rust

LALRPOP LALRPOP is a Rust parser generator framework with usability as its primary goal. You should be able to write compact, DRY, readable grammars.

null 2.4k Jan 7, 2023
A typed parser generator embedded in Rust code for Parsing Expression Grammars

Oak Compiled on the nightly channel of Rust. Use rustup for managing compiler channels. You can download and set up the exact same version of the comp

Pierre Talbot 138 Nov 25, 2022
Rust query string parser with nesting support

What is Queryst? This is a fork of the original, with serde and serde_json updated to 0.9 A query string parsing library for Rust inspired by https://

Stanislav Panferov 67 Nov 16, 2022
Soon to be AsciiDoc parser implemented in rust!

pagliascii "But ASCII Doc, I am Pagliascii" Soon to be AsciiDoc parser implemented in rust! This project is the current implementation of the requeste

Lukas Wirth 49 Dec 11, 2022
PEG parser for YAML written in Rust 🦀

yaml-peg PEG parser (pest) for YAML written in Rust ?? Quick Start ⚡️ # Run cargo run -- --file example_files/test.yaml # Output { "xmas": "true",

Visarut Phusua 4 Sep 17, 2022
This project aims to implement a CSS(less like) parser in rust. Currently the code is targeting the PostCSS AST.

CSS(less like) parser written in rust (WIP) This project aims to implement a CSS(less like) parser in rust. Currently the code is targeting the PostCS

Huang Liuhaoran 21 Aug 23, 2022
MRT/BGP data parser written in Rust.

BGPKIT Parser BGPKIT Parser aims to provides the most ergonomic MRT/BGP message parsing Rust API. BGPKIT Parser has the following features: performant

BGPKIT 46 Dec 19, 2022
This project aims to implement a CSS(less like) parser in rust. Currently the code is targeting the PostCSS AST. Very early stage, do not use in production.

CSS(less like) parser written in rust (WIP) This project aims to implement a CSS(less like) parser in rust. Currently the code is targeting the PostCS

Huang Liuhaoran 21 Aug 23, 2022
A feature-few, no-allocation JSON parser in `no_std` rust.

Small JSON Parser in no_std This library reads and parses JSON strings. Its intended use case is to read a JSON payload once. It does not serialise da

Robert Spencer 18 Nov 29, 2022
A Gura parser for Rust

Gura Rust parser IMPORTANT: if you need to use Gura in a more user-friendly way, you have at your disposal Serde Gura which allows you to perform Seri

Gura Config Lang 21 Nov 13, 2022