Skip to content

Commit

Permalink
docs: Add grmtools
Browse files Browse the repository at this point in the history
  • Loading branch information
epage committed Aug 23, 2024
1 parent 96ec2ab commit 94445e2
Showing 1 changed file with 14 additions and 11 deletions.
25 changes: 14 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,18 @@

This repo tries to assess Rust parsing performance.

| crate | parser type | action code | integration | input type | precedence climbing | parameterized rules | streaming input |
|-----------|-------------|-------------|--------------------|------------------------|---------------------|---------------------|-----------------|
| [chumsky] | combinators | in source | library | `&str` | ? | ? | ? |
| [combine] | combinators | in source | library | `&str` | ? | ? | ? |
| [lalrpop] | LR(1) | in grammar | build script | `&str` | No | Yes | No |
| [logos] | lexer | in source | proc macro | `&str`, `&[u8]` | ? | ? | ? |
| [nom] | combinators | in source | library | `&[u8]`, custom | No | Yes | Yes |
| [peg] | PEG | in grammar | proc macro (block) | `&str`, `&[T]`, custom | Yes | Yes | No |
| [pest] | PEG | external | proc macro (file) | `&str` | Yes | No | No |
| [winnow] | combinators | in source | library | `&str`, `&[T]`, custom | No | Yes | Yes |
| [yap] | combinators | in source | library | `&str`, `&[T]`, custom | No | Yes | ? |
| crate | parser type | action code | integration | input type | precedence climbing | parameterized rules | streaming input |
|------------|-------------|-------------|--------------------|------------------------|---------------------|---------------------|-----------------|
| [chumsky] | combinators | in source | library | `&str` | ? | ? | ? |
| [combine] | combinators | in source | library | `&str` | ? | ? | ? |
| [grmtools] | CFG | in grammar | library | ? | ? | ? | ? |
| [lalrpop] | LR(1) | in grammar | build script | `&str` | No | Yes | No |
| [logos] | lexer | in source | proc macro | `&str`, `&[u8]` | ? | ? | ? |
| [nom] | combinators | in source | library | `&[u8]`, custom | No | Yes | Yes |
| [peg] | PEG | in grammar | proc macro (block) | `&str`, `&[T]`, custom | Yes | Yes | No |
| [pest] | PEG | external | proc macro (file) | `&str` | Yes | No | No |
| [winnow] | combinators | in source | library | `&str`, `&[T]`, custom | No | Yes | Yes |
| [yap] | combinators | in source | library | `&str`, `&[T]`, custom | No | Yes | ? |

Formerly, we compared:
- [pom]: lack of notoriety
Expand Down Expand Up @@ -57,3 +58,5 @@ $ ./format.py
[pom]: https://github.com/j-f-liu/pom
[winnow]: https://github.com/winnow-rs/winnow
[yap]: https://github.com/jsdw/yap
[yap]: https://github.com/jsdw/yap
[grmtools]: https://crates.io/crates/cfgrammar

0 comments on commit 94445e2

Please sign in to comment.