120 Repositories
Rust parsing-expression-grammar Libraries
A library for creating/parsing Serenity slash commands.
Serenity Commands A library for creating/parsing Serenity slash commands. Usage See the examples directory for more examples. use serenity::all::{
A Rust crate for parsing HID Report Descriptors.
Project Mu HID Crate Repository This repository contains a library crate that provides parsing services for HID Report Descriptors. This repository is
🧮 Boolean expression evaluation engine. A Rust port of boolrule.
coolrule My blog post: Porting Boolrule to Rust Boolean expression evaluation engine (a port of boolrule to Rust). // Without context let expr = coolr
Fast fail2ban-like tools for parsing nginx logs
Fast2ban This is simple fail2ban-like replacement written in Rust. Usage: ./fast2ban # reads default config.toml from current directory ./fast2ban co
A Rust crate for parsing Windows user minidumps.
udmp-parser-rs: A Rust crate for parsing Windows user minidumps This is a cross-platform crate that parses Windows user minidump dumps that you can ge
A fast little combinational parsing library.
neure A fast little combinational parsing library Performance rel is mean release, fat is mean release with lto=fat See examples Example use neure::*;
Tool to allow parsing large JSON files without laoding into memory
Tool to allow parsing large JSON files without laoding into memory. Developed in Rust with adapters in other programming langauges for easy adoption
SELYA (Special Esoteric Language for Young and Adult)
SELYA (Special Esoteric Language for Young and Adult) -- it is esoteric language for everyone based on hex :D
Expression transformation language. An esolang.
Etl Etl (pronounced like "nettle" without the n) is an esoteric programming language for transforming expressions. There are three data types in Etl:
`grep` but with PEG patterns. Define grammars (e.g. `digit`), functions for matching. No more regex syntax!
PEG peggrep Example file demo_file: THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE. this line is the 1st lower case line in this file. This Line Ha
PE Parsing, but blazing fast
PE Parser A blazing fast 🔥 PE Parser written in Rust Motivation The main goals of pe-parser is to write something suitable for a PE Loader. Is editin
Low effort scraping Python's pickle format in Rust. It is to complete pickle parsing as BeautifulSoup was to complete HTML parsing.
repugnant-pickle Because it is, isn't it? This is a Rust crate for dealing with the Python pickle format. It also has support for opening PyTorch file
Efficient and fast querying and parsing of GTDB's data
xgt xgt is a Rust tool that enables efficient querying and parsing of the GTDB database. xgt consists of a collection of commands mirroring the GTDB A
Easy-to-use grammar-based black-box fuzzer. Has found dozens of bugs in important targets like Clang, Deno, and rustc.
tree-crasher tree-crasher is an easy-to-use grammar-based black-box fuzzer. It parses a number of input files using tree-sitter grammars, and produces
Simple grammar-based test case generator
tree-splicer tree-splicer is a simple grammar-based test case generator. It parses a number of input files using tree-sitter grammars, and produces ne
A parser combinator for parsing &[Token].
PickTok A parser combinator like nom but specialized in parsing &[Token]. It has similar combinators as nom, but also provides convenient parser gener
Rust regex in ECMAScript regular expression syntax!
ecma_regex The goal of ecma_regex is to provide the same functionality as the regex crate in ECMAScript regular expression syntax. Reliable regex engi
A generator for high-performance Pest parsers, bringing your grammar to the next level
Faster-Pest Welcome to faster-pest, a high-performance code generator for Parsing Expression Grammars. faster-pest is an unofficial pro-macro providin
Mypyc DSL grammar for tree-sitter
tree-sitter-mypyc Mypyc DSL grammar for tree-sitter. Installing (Neovim) This is based on the Neovim Tree-sitter docs for adding new parsers. Basicall
Stdto provides a set of functional traits for conversion between various data representations.
Stdto stdto provides a set of functional traits for conversion between various data representations. | Examples | Docs | Latest Note | stdto = "0.13.0
Static-checked parsing of regexes into structs
Statically-checked regex parsing into structs. This avoids common regex pitfalls like Off by one capture indexes Trying to get nonexistent captures De
Minecraft's command parsing library in Rust
brigadier-rs This crate is a parsing library for Minecraft commands inspired by Mojang's brigadier. It was developed for use with FalconMC but can be
A simple string parsing utility library for Rust, supporting no_std contexts.
strp Utility library for parsing data from an input string, or stdin if built with the std feature. Supports no_std contexts when built without the st
A library for parsing and generating ESP-IDF partition tables
esp-idf-part A library for parsing and generating ESP-IDF partition tables. Supports parsing from and generating to both CSV and binary formats. This
languagetool-code-comments integrates the LanguageTool API to parse, spell check, and correct the grammar of your code comments!
languagetool-code-comments integrates the LanguageTool API to parse, spell check, and correct the grammar of your code comments! Overview Install MacO
Python PEP-440 Version Parsing
PyVer Python PEP-440 Version Parser This package allows for parsing Python PEP-440 version numbers and for comparisons between PEP-440 version numbers
Python PEP-440 Version Parsing
PyVer (WIP) Python PEP-440 Version Parsing This package allows for parsing Python PEP-440 version numbers and comparisons between PEP-440 Versions Usa
Rust utility crate for parsing, encoding and generating x25519 keys used by WireGuard
WireGuard Keys This is a utility crate for parsing, encoding and generating x25519 keys that are used by WireGuard. It exports custom types that can b
A Rust crate for hassle-free Corosync's configuration file parsing
corosync-config-parser A Rust crate for hassle-free Corosync's configuration file parsing. Inspired by Kilobyte22/config-parser. Usage extern crate co
Fast and simple datetime, date, time and duration parsing for rust.
speedate Fast and simple datetime, date, time and duration parsing for rust. speedate is a lax† RFC 3339 date and time parser, in other words, it pars
Library with support for de/serialization, parsing and executing on data-structures and network messages related to Bitcoin
Rust Bitcoin Library with support for de/serialization, parsing and executing on data-structures and network messages related to Bitcoin. Heads up for
Rust derive-based argument parsing optimized for code size
Argh Argh is an opinionated Derive-based argument parser optimized for code size Derive-based argument parsing optimized for code size and conformance
A new, portable, regular expression language
rulex A new, portable, regular expression language Read the book to get started! Examples On the left are rulex expressions (rulexes for short), on th
Build database expression type checker and vectorized runtime executor in type-safe Rust
Typed Type Exercise in Rust Build database expression type checker and vectorized runtime executor in type-safe Rust. This project is highly inspired
Tools that parsing Rust code into UML diagram (in dot format currently).
rudg Rust UML Diagram Generator Tools that parsing Rust code into UML diagram (in dot format currently). Usage $ rudg.exe --help rudg 0.1.0 USAGE:
Rust grammar tool libraries and binaries
Grammar and parsing libraries for Rust grmtools is a suite of Rust libraries and binaries for parsing text, both at compile-time, and run-time. Most u
Scraper - HTML parsing and querying with CSS selectors
scraper HTML parsing and querying with CSS selectors. scraper is on Crates.io and GitHub. Scraper provides an interface to Servo's html5ever and selec
Android resource file parsing & writing
arsc arsc is a Rust library that provides the ability to parse and write Android resource file (arsc) [dependencies] arsc = "0.1" Compiler support: ru
lightweight and customizable rust s-expression (s-expr) parser and printer
s-expr Rust library for S-expression like parsing and printing parser keeps track of spans, and representation (e.g. number base) number and decimal d
A new, portable, regular expression language
rulex A new, portable, regular expression language Read the book to get started! Examples On the left are rulex expressions (rulexes for short), on th
Lightweight parsing for Rust proc macros
Lightweight parsing for Rust proc macros Venial is a WIP parser for Rust proc macros. When writing proc macros that need to parse Rust code (such as a
Extensible inline parser engine, the backend parsing engine for Lavendeux.
Lavendeux Parser - Extensible inline parser engine lavendeux-parser is an exensible parsing engine for mathematical expressions. It supports variable
Rust implementation for parsing StarCraft .chk files.
bwmap Rust implementation for parsing StarCraft .chk files. bounding.net uses this library to parse StarCraft and StarCraft: Brood War maps and store
Simple expression transformer that is not Coq.
Noq Not Coq. Simple expression transformer that is not Coq. Quick Start $ cargo run ./examples/add.noq Main Idea The Main Idea is being able to define
A crate for parsing HTTP rate limit headers as per the IETF draft
rate-limits A crate for parsing HTTP rate limit headers as per the IETF draft. Inofficial implementations like the Github rate limit headers are also
This utility traverses through your filesystem looking for open-source dependencies that are seeking donations by parsing README.md and FUNDING.yml files
This utility traverses through your filesystem looking for open-source dependencies that are seeking donations by parsing README.md and FUNDING.yml files
Dade is data definition for Rust structures.
dade dade is data definition for Rust structures. For the easy handle of data, the following will support it. Data validation. Data schema conforms Js
postgres-ical - a PostgreSQL extension that adds features related to parsing RFC-5545 « iCalendar » data from within a PostgreSQL database
postgres-ical - a PostgreSQL extension that adds features related to parsing RFC-5545 « iCalendar » data from within a PostgreSQL database
Generates a Nix expression for buildDotnetModule, with support for non nuget.org repos.
nuget2nix Generates a Nix expression for buildDotnetModule, with support for non nuget.org repos. Usage Similar to the nuget-to-nix command available
RuES - Expression Evaluation as Service
RuES is a minimal JMES expression evaluation side-car, that uses JMESPath, and it can handle arbitrary JSON. Which effectively makes it general purpose logical expression evaluation engine, just like some Python libraries that used to evaluate logical expression. This in turn can allow you implement complex stuff like Rule engine, RBAC, or Policy engines etc.
The Ergex Regular Expression Library
The Ergex Regular Expression Library Introduction Ergex is a regular expression library that does a few things rather differently from many other libr
🌽 A simple and pain-free configuration language.
🌽 Corn A simple and pain-free configuration language. Corn has been designed using inspiration from JSON and Nix to produce a language that's easy an
This crate provides high-performance formatting and parsing routines for ISO8061 timestamps
ISO8061 Timestamp This crate provides high-performance formatting and parsing routines for ISO8061 timestamps, primarily focused on UTC values but wit
Application microframework with command-line option parsing, configuration, error handling, logging, and shell interactions
Abscissa is a microframework for building Rust applications (either CLI tools or network/web services), aiming to provide a large number of features w
A simple event-driven library for parsing WebAssembly binary files
The WebAssembly binary file decoder in Rust A Bytecode Alliance project The decoder library provides lightweight and fast decoding/parsing of WebAssem
Neural syntax annotator, supporting sequence labeling, lemmatization, and dependency parsing.
SyntaxDot Introduction SyntaxDot is a sequence labeler and dependency parser using Transformer networks. SyntaxDot models can be trained from scratch
Tutorial for parsing with nom 5.
Nom Tutorial Nom is a wonderful parser combinators library written in Rust. It can handle binary and text files. Consider it where you would otherwise
Tree-sitter - An incremental parsing system for programming tools
tree-sitter Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and effic
VanillaWindowsTools - Tools for parsing and playing
VanillaWindowsTools - Tools for parsing and playing
Checks all your documentation for spelling and grammar mistakes with hunspell and a nlprule based checker for grammar
cargo-spellcheck Check your spelling with hunspell and/or nlprule. Use Cases Run cargo spellcheck --fix or cargo spellcheck fix to fix all your docume
PEG parser combinators using operator overloading without macros.
pom PEG parser combinators created using operator overloading without macros. Document Tutorial API Reference Learning Parser Combinators With Rust -
A TinyVG vector graphics format parsing library.
tinyvg-rs A TinyVG vector graphics format parsing library. Testing This library uses the example files from the TinyVG/examples repo for integration t
A set of bison skeleton files that can be used to generate a Bison grammar that is written in Rust.
rust-bison-skeleton A set of bison skeleton files that can be used to generate a Bison grammar that is written in Rust. Technically it's more like a B
Simple command line flag parser for rust.
easy_flag Simple command line flag parser for rust. use easy_flag::FlagSet; fn main() - Result(), String{ let mut help = false; let mut my
a nom parser combinator that matches a psql statement.
psql_splitter a nom parser combinator that matches a psql statement. Postgres has a dialect of SQL that I'm going to call pgsql. Postgres also has a c
An impish, cross-platform binary parsing crate, written in Rust
libgoblin Documentation https://docs.rs/goblin/ changelog Usage Goblin requires rustc 1.40.0. Add to your Cargo.toml [dependencies] goblin = "0.4" Fea
a grammar based feedback fuzzer
Nautilus NOTE: THIS IS AN OUTDATE REPOSITORY, THE CURRENT RELEASE IS AVAILABLE HERE. THIS REPO ONLY SERVES AS A REFERENCE FOR THE PAPER Nautilus is a
A fast Rust-based safe and thead-friendly grammar-based fuzz generator
Intro fzero is a grammar-based fuzzer that generates a Rust application inspired by the paper "Building Fast Fuzzers" by Rahul Gopinath and Andreas Ze
Modular, structure-aware, and feedback-driven fuzzing engine for Rust functions
Fuzzcheck Fuzzcheck is a modular, structure-aware, and feedback-driven fuzzing engine for Rust functions. Given a function test: (T) - bool, you can
Conditional compilation using boolean expression syntax, rather than any(), all(), not()
Conditional compilation expressions Conditional compilation using boolean expression syntax, rather than any(), all(), not(). [dependencies] efg = "0.
PyQIR is a set of APIs for generating, parsing, and evaluating Quantum Intermediate Representation (QIR).
PyQIR PyQIR is a set of APIs for generating, parsing, and evaluating Quantum Intermediate Representation (QIR). It consists of the following component
A tool to make grocery lists written in Rust
grusterylist: makes grocery lists, written in Rust grusterylist uses and can add to local libraries of user-added recipes and grocery items to put tog
A WHATWG-compliant HTML5 tokenizer and tag soup parser
html5gum html5gum is a WHATWG-compliant HTML tokenizer. use std::fmt::Write; use html5gum::{Tokenizer, Token}; let html = "title hello world/tit
LR(1) grammar parser of simple expression
LR(1)语法分析程序 实验内容 编写LR(1)语法分析程序,实现对算术表达式的语法分析。要求所分析算数表达式由如下的文法产生: E - E+T | E-T | T T - T*F | T/F | F F - (E) | num 程序设计与实现 使用方式:运行.\lr1-parser.exe
BGPKIT Parser aims to provides the most ergonomic MRT/BGP/BMP message parsing Rust API.
BGPKIT Parser aims to provides the most ergonomic MRT/BGP/BMP message parsing Rust API.
mollusc is a collection of pure-Rust libraries for parsing, interpreting, and analyzing LLVM.
mollusc is a collection of pure-Rust libraries for parsing, interpreting, and analyzing LLVM.
rbdt is a python library (written in rust) for parsing robots.txt files for large scale batch processing.
rbdt 🚨 🚨 🚨 🚨 rbdt is a work in progress, currently being extracted out of another (private) project for the purpose of open sourcing and better so
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.
Fast and robust e-mail parsing library for Rust
mail-parser mail-parser is an e-mail parsing library written in Rust that fully conforms to the Internet Message Format standard (RFC 5322), the Multi
A Rust crate for RDF parsing and inferencing.
RDF-rs This crate provides the tools necessary to parse RDF graphs. It currently contains a full (with very few exceptions) Turtle parser that can par
This crate provide parsing fontconfig file but not yet complete all features
This crate provide parsing fontconfig file but not yet complete all features
Extract tokens by simple condition expression.
Condex Extract tokens by simple condition expression. | Docs | Latest Note | [dependencies]
S-expression parsing and writing in Rust
rsexp S-expression parsing and writing in Rust using nom parser combinators. This implemantion aims at being compatible with OCaml's sexplib. The main
Argument parsing for the future 🚀
argi Argument parsing for the future 🚀 Features Macro-based approach, providing an intuitive way to layout a cli Rich auto-help generation, styling b
A minimal argument parser
Pieces An argument parser built with control in mind. Parsing The results you get are dependent on what order you parse in. If you want to say only pa
sgmlish is a library for parsing, manipulating and deserializing SGML.
sgmlish is a library for parsing, manipulating and deserializing SGML. It's not intended to be a full-featured implementation of the SGML spec
better tools for text parsing
nom-text Goal: a library that extends nom to provide better tools for text formats (programming languages, configuration files). current needs Recogni
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",
Source text parsing, lexing, and AST related functionality for Deno
Source text parsing, lexing, and AST related functionality for Deno.
An expression based data notation, aimed at transpiling itself to any cascaded data notation.
Lala An expression oriented data notation, aimed at transpiling itself to any cascaded data notation. Lala is separated into three components: Nana, L
hosts file parsing, modification library, and some derivatives.
hosts-rs hosts: Hosts file parsing, modification library resolve-github: Use Cloudflare DoH to resolve GitHub domains and generate hosts files github-
A Rust library for parsing the SOME/IP network protocol (without payload interpretation).
someip_parse A Rust library for parsing the SOME/IP network protocol (without payload interpretation). Usage Add the following to your Cargo.toml: [de
Rust library for parsing configuration files
configster Rust library for parsing configuration files Config file format The 'option' can be any string with no whitespace. arbitrary_option = false
A Rust library for processing application configuration easily
Configure me A Rust library for processing application configuration easily About This crate aims to help with reading configuration of application fr
An impish, cross-platform binary parsing crate, written in Rust
libgoblin Documentation https://docs.rs/goblin/ changelog Usage Goblin requires rustc 1.40.0. Add to your Cargo.toml [dependencies] goblin = "0.4" Fea
a grammar based feedback fuzzer
Nautilus NOTE: THIS IS AN OUTDATE REPOSITORY, THE CURRENT RELEASE IS AVAILABLE HERE. THIS REPO ONLY SERVES AS A REFERENCE FOR THE PAPER Nautilus is a
A fast Rust-based safe and thead-friendly grammar-based fuzz generator
Intro fzero is a grammar-based fuzzer that generates a Rust application inspired by the paper "Building Fast Fuzzers" by Rahul Gopinath and Andreas Ze
A HDPSG-inspired symbolic natural language parser written in Rust
Treebender A symbolic natural language parsing library for Rust, inspired by HDPSG. What is this? This is a library for parsing natural or constructed
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
Rust crate for parsing stivale and stivale 2 structures.
stivale-rs Rust crate for parsing stivale and stivale 2 structures. Resources Stivale v2 Specification Stivale Specification License Licensed under ei