Parsing

Utility libraries for writing or generating parsers for any file format.

Newest releases
17

naomijub PIX BR Code Parser for Rust
 
46

agnipau slap (shell clap) - painless argument parsing.
 
54

rust-bakery PEG Grammars for Nom nom-peg is a PEG (Parsing Expression Grammar) parser generator built on top of nom, using a syntax that is heavily inspired by LA
 
71

marwes combine-language This a crate providing an easy way of constructing parsers which can easily parse various programming languages. It has much of the s
 
15

rust-bakery nom-trace This crate provides a way to trace a parser execution, storing positions in the input data, positions in the parser tree and parser results.
 
16

nikomatsakis Rusty PEG is a set of macros and library code designed to make it very easy to write parsers in Rust. The name derives from the fact that the libary i
 
13

alfanick xxcalc-rs An embeddable or a standalone robust floating-point polynomial calculator written in Rust. This project is a Rust crate (library) which prov
 
42

dansimon #Peruse Documentation Peruse is a small parser-combinator library for rust. The goal is to be able to write clean, efficient parsers powerful enough t
 
68

asajeffrey Parsell: an LL(1) streaming parser combinator library for Rust The goal of this library is to provide parser combinators that: are optimized for LL(1)
 
948

Marwes 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
 
334

goffrie plex, a parser and lexer generator This crate provides a couple syntax extensions: lexer!, which creates a DFA-based lexer that uses maximal munch. It
 
135

rrevenantt antlr4rust ANTLR4 runtime for Rust programming language Tool(generator) part is currently located in rust-target branch of my antlr4 fork rrevenantt/a
 
85

porglezomp Bitmatch The bitmatch crate provides tools for packing and unpacking integers as sequences of bits. Supports #![no_std]. Examples Using #[bitmatch] wi
 
21

saschagrunert peel Dynamic parsing within trees 🌲 🌳 🌴 Target of this library is to provide a flexible approach in parsing data. This will mainly be done within a
 
23

danielkeep scan-rules This crate provides some macros for quickly parsing values out of text. Roughly speaking, it does the inverse of the print!/format! macros;
 
23

intrepidpig MEXPRP A math expression parsing and evaluation library for Rust API docs here. Also see the examples/ directory. Motivation The main reason I wrote M
 
22

hukumka reformation Parsing via regular expressions using format syntax Derive will require attribute reformation to specify format string, which will be trea
 
22

segeljakt pratt - A General Purpose Pratt Parser for Rust This crate leverages a high-level interface for implementing Pratt parsers in Rust. In computer scienc
 
14

magnet Synattra A Syn Attribute Parser Toolkit Synattra extends Syn and provides structures to easily parse custom attributes. Notably, Synattra provides a K
 
30

fivemoreminix RSC, the Calculator for Rust Code Changelog RSC is a handwritten scientific calculator for turning an equation inside a string into a result. RSC is d
 
19

pacman82 atoi-rs Parse integers directly from [u8] slices in safe code Reasons to use this crate Starting from a binary or ascii format you can parse an intege
 
46

danielkeep boolinator Provides the Boolinator trait, which lets you use Option and Result-style combinators with bools. Links Latest Release Latest Docs Reposito
 
26

rodrigorc pomelo A procedural macro to create Lemon-like parsers. Pomelo is a port to Rust of the Lemon Parser Generator (from now on, Lemon_C) originally writt
 
131

shnewto bnf A library for parsing Backus–Naur form context-free grammars inspired by the JavaScript libraries prettybnf and erratic What does a parsable BNF g
 
15

chmln asciimath-rs Sample use: use asciimath::{eval, scope, CustomFn}; let my_sum: CustomFn = |args| Ok(args.iter().sum()); let scope = scope!{ "x" => -1
 
77

onecodex Needletail Needletail is a MIT-licensed, minimal-copying FASTA/FASTQ parser and k-mer processing library for Rust. The goal is to write a fast and wel
 
94

fflorent nom_locate A special input type for nom to locate tokens Documentation The documentation of the crate is available here. How to use it The crate provi
 
125

alacritty vte Parser for implementing virtual terminal emulators in Rust. The parser is implemented according to Paul Williams' ANSI parser state machine. The s
 
207

alexhuszagh lexical Fast lexical conversion routines for both std and no_std environments. Lexical provides routines to convert numbers to and from decimal string
 
324

j-f-liu pom PEG parser combinators created using operator overloading without macros. Document Tutorial API Reference Learning Parser Combinators With Rust -
 
5.4k

geal 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
 
54

s-panferov 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://
 
132

ptal 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