200 Repositories
Rust lexer-parser Libraries
A parser, compiler, and virtual machine evaluator for a minimal subset of Lua; written from scratch in Rust.
lust: Lua in Rust This project implements a parser, compiler, and virtual machine evaluator for a minimal subset of Lua. It is written from scratch in
Org mode structural parser/emitter with an emphasis on modularity and avoiding edits unrelated to changes.
Introduction Org mode structural parser/emitter with an emphasis on modularity and avoiding edits unrelated to changes. The goal of this library is to
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
swc is a super-fast compiler written in rust; producing widely-supported javascript from modern standards and typescript.
Make the web (development) faster. SWC (stands for Speedy Web Compiler) is a super-fast TypeScript / JavaScript compiler written in Rust. It's a libra
Sqllogictest parser and runner in Rust.
Sqllogictest-rs Sqllogictest parser and runner in Rust. License Licensed under either of Apache License, Version 2.0 (LICENSE-APACHE or http://www.apa
🕑 A personal git log and MacJournal output parser, written in rust.
🕑 git log and MacJournal export parser A personal project, written in rust. WORK IN PROGRESS; NOT READY This repo consolidates daily activity from tw
gors is an experimental go toolchain written in rust (parser, compiler).
gors gors is an experimental go toolchain written in rust (parser, compiler). Install Using git This method requires the Rust toolchain to be installe
A Rust crate for LL(k) parser combinators.
oni-comb-rs (鬼昆布,おにこんぶ) A Rust crate for LL(k) parser combinators. Main project oni-comb-parser-rs Sub projects The following is projects implemented
An ssh config parser for ssh2-rs
ssh2-config Changelog · Get started · Documentation Developed by @veeso Current version: 0.1.0 (04/12/2021) ssh2-config About ssh2-config Exposed attr
Most intuitive global cli maker. *(lazy_static + config-rs + clap)
argone Most intuitive global cli maker. *(lazy_static + config-rs + clap) | Examples | Docs | Latest Note | [dependencies] argone = "0.5" Phases Parsi
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
Front Matter parser for Rust.
fronma Front Matter parser for Rust. Usage Add this crate as a dependency: [dependencies] fronma = "~0.1" then use fronma::parser::parse to parse text
Makdown-like text parser.
Makdown-like text parser.
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
A full featured, fast Command Line Argument Parser for Rust
clap Command Line Argument Parser for Rust It is a simple-to-use, efficient, and full-featured library for parsing command line arguments and subcomma
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.
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
Generic parser for competitive programming
This is a generic parser for competitive programming, it can be used to read structured data line-by-line or though derive macro in a higher level fashion.
A parser for Conway’s Game of Life Lexicon
Lexicon A convenient interface to get patterns from the Lexicon and use them in your implementation of Conway’s Game of Life. Used by Lifeee, my web a
P523 is a classic compiler course taught by R. Kent Dybvig.
P523 is a classic compiler course taught by R. Kent Dybvig. This repo implements the course using Rust, provides a framework to help you master P523.
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.
tiny md parser - md to html
tiny md parser md to html covered features lexer h1 h2 h3 list ( also numbered list ) code images links blockquote parser h1 h2 h3 list ( also numbere
Parse hex colors to tui::style::Color
Color - Tui Parse hex colors to tui rgb colors #c3f111 - Color::Rgb(195,241,17) Note that the indexed colors are NOT HEX #142 - Color::Indexed(142)
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
This crate provide parsing fontconfig file but not yet complete all features
This crate provide parsing fontconfig file but not yet complete all features
A DHCP parser and encoder for DHCPv4/DHCPv6
dhcproto A DHCP parser and encoder for DHCPv4/DHCPv6. dhcproto aims to be a functionally complete DHCP implementation. Many common option types are im
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
Zero-grammer definition command-line parser
zgclp Zgclp (Zero-grammar definition command-line parser) is one of Rust's command-line parsers. A normal command-line parser generates a parser from
A parser for Nodes semver in Rust
This crate is a pure Rust-based implementation of JavaScript's node-semver. That is, it's designed to be compatible with Node/NPM's particular flavor
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
A rusty, spiky, heat-seeking quake map parser.
Shalrath A rusty, spiky, heat-seeking quake map parser shalrath is a rust representation, [nom] parser and string serializer for Quake map files. It
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
tr-lang is a language that aims to bring programming language syntax closer to Turkish.
tr-lang Made with ❤️ in 🇹🇷 tr-lang is a language that aims to bring programming language syntax closer to Turkish. tr-lang is a stack based language
Lightweight compile-time UUID parser.
compiled-uuid Anywhere you're building Uuids from a string literal, you should use uuid. Motivation If you want to use a fixed Uuid throughout your pr
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
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 json5 parser for luajit
Json5 parser for luajit This crate provides json5 deserialization for luajit. Inspired and adapted from json5-rs NOTE: When compiling for macos, pleas
High Performance Blockchain Deserializer
bitcoin-explorer bitcoin_explorer is an efficient library for reading bitcoin-core binary blockchain file as a database (utilising multi-threading). D
Lagoon is a dynamic, weakly-typed and minimal scripting language. 🏞
Lagoon is a dynamic, weakly-typed and minimal scripting language. It draws inspiration from a handful of modern languages including JavaScript, Rust and PHP.
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
This shows proof-of-concept implementation of lexer-parser-evaluator which allows setting custom values to keywords.
Custom Configurable Lexer-Parser Note This is still very experimental, and for any syntax error it will just panic giving very unhelpful error message
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",
A script language like Python or Lua written in Rust, with exactly the same syntax as Go's.
A script language like Python or Lua written in Rust, with exactly the same syntax as Go's.
A fully-featured lexer generator, implement as a proc macro
lexgen: A fully-featured lexer generator, implemented as a proc macro lexer! { // First line specifies name of the lexer and the token type return
SQL / SQLI tokenizer parser analyzer
libinjection SQL / SQLI tokenizer parser analyzer. For C and C++ PHP Python Lua Java (external port) [LuaJIT/FFI]
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
Universal configuration library parser
LIBUCL Table of Contents generated with DocToc Introduction Basic structure Improvements to the json notation General syntax sugar Automatic arrays cr
Just-config is a configuration library for rust
Config Library for Rust Just-config is a configuration library for rust. It strives for the old Unix mantra "Do one thing and to it well".
Minimalist pedantic command line parser
Lexopt Lexopt is an argument parser for Rust. It tries to have the simplest possible design that's still correct. It's so simple that it's a bit tedio
A fancy diagnostics & error reporting crate
A fancy diagnostics & error reporting crate
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
The official zeta compiler
Zeta What makes Zeta the goto language for creating CLI's? Smaller Executables Inbuilt argument and flag parser Your path seperators are automatically
A modern dialogue executor and tree parser using YAML.
A modern dialogue executor and tree parser using YAML. This crate is for building(ex), importing/exporting(ex), and walking(ex) dialogue trees. convo
📜 A pci.ids-compliant library for getting information about available PCI devices.
aparato A pci.ids-compliant library for getting information about available PCI devices. Usage Add the following to your project's Cargo.toml file: ap
Rustymind is a driver and parser for NeuroSky MindWave EEG headset written in pure Rust.
Rustymind is a driver and parser for NeuroSky MindWave EEG headset written in pure Rust. You can use it to connect, interact, and plot real time data from the headset.
The official zeta compiler
Torq What makes Torq the goto language for creating CLI's? Smaller Executables Inbuilt argument and flag parser Your code will work anywhere in any OS
The official torq compiler
Torq What makes Torq the goto language for creating CLI's? Smaller Executables Inbuilt argument and flag parser Your code will work anywhere in any OS
A rusty, dual-wielding Quake and Half-Life texture WAD parser.
Ogre A rusty, dual-wielding Quake and Half-Life texture WAD parser ogre is a rust representation and nom parser for Quake and Half-Life WAD files. I
Parsing and inspecting Rust literals (particularly useful for proc macros)
litrs: parsing and inspecting Rust literals litrs offers functionality to parse Rust literals, i.e. tokens in the Rust programming language that repre
An LR parser generator, implemented as a proc macro
parsegen parsegen is an LR parser generator, similar to happy, ocamlyacc, and lalrpop. It currently generates canonical LR(1) parsers, but LALR(1) and
Parse BNF grammar definitions
bnf A library for parsing Backus–Naur form context-free grammars. What does a parsable BNF grammar look like? The following grammar from the Wikipedia
This library is a pull parser for CommonMark, written in Rust
This library is a pull parser for CommonMark, written in Rust. It comes with a simple command-line tool, useful for rendering to HTML, and is also designed to be easy to use from as a library.
Pure-Rust rewrite of the Linux fontconfig library (no system dependencies) - using ttf-parser and allsorts
rust-fontconfig Pure-Rust rewrite of the Linux fontconfig library (no system dependencies) - using allsorts as a font parser in order to parse .woff,
Rust read/write support for GPS Exchange Format (GPX)
gpx gpx is a library for reading and writing GPX (GPS Exchange Format) files. It uses the primitives provided by geo-types to allow for storage of GPS
Rust read/write support for GPS Exchange Format (GPX)
gpx gpx is a library for reading and writing GPX (GPS Exchange Format) files. It uses the primitives provided by geo-types to allow for storage of GPS
Get JSON values quickly - JSON parser for Rust
get json values quickly GJSON is a Rust crate that provides a fast and simple way to get values from a json document. It has features such as one line
A high-performance, high-reliability observability data pipeline.
Quickstart • Docs • Guides • Integrations • Chat • Download What is Vector? Vector is a high-performance, end-to-end (agent & aggregator) observabilit
Neural network transition-based dependency parser (in Rust)
dpar Introduction dpar is a neural network transition-based dependency parser. The original Go version can be found in the oldgo branch. Dependencies
Super-fast float parser in Rust
fast-float This crate provides a super-fast decimal number parser from strings into floats.
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
A fast, extensible, command-line arguments parser
parkour A fast, extensible, command-line arguments parser. Introduction 📚 The most popular argument parser, clap, allows you list all the possible ar
An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
regex A Rust library for parsing, compiling, and executing regular expressions. Its syntax is similar to Perl-style regular expressions, but lacks a f
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://
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
The Elegant Parser
pest. The Elegant Parser pest is a general purpose parser written in Rust with a focus on accessibility, correctness, and performance. It uses parsing
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.
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
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
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
url parameter parser for rest filter inquiry
inquerest Inquerest can parse complex url query into a SQL abstract syntax tree. Example this url: /person?age=lt.42&(student=eq.true|gender=eq.'M')&
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
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
High-performance browser-grade HTML5 parser
html5ever API Documentation html5ever is an HTML parser developed as part of the Servo project. It can parse and serialize HTML according to the WHATW
A CSV parser for Rust, with Serde support.
csv A fast and flexible CSV reader and writer for Rust, with support for Serde. Dual-licensed under MIT or the UNLICENSE. Documentation https://docs.r
An XML library in Rust
xml-rs, an XML library for Rust Documentation xml-rs is an XML library for Rust programming language. It is heavily inspired by Java Streaming API for
A XML parser written in Rust
RustyXML Documentation RustyXML is a namespace aware XML parser written in Rust. Right now it provides a basic SAX-like API, and an ElementBuilder bas
Rust high performance xml reader and writer
quick-xml High performance xml pull reader/writer. The reader: is almost zero-copy (use of Cow whenever possible) is easy on memory allocation (the AP
A pure rust YAML implementation.
yaml-rust The missing YAML 1.2 implementation for Rust. yaml-rust is a pure Rust YAML 1.2 implementation, which enjoys the memory safety property and
Rust port of gjson,get JSON value by dotpath syntax
A-JSON Read JSON values quickly - Rust JSON Parser change name to AJSON, see issue Inspiration comes from gjson in golang Installation Add it to your
JSON implementation in Rust
json-rust Parse and serialize JSON with ease. Changelog - Complete Documentation - Cargo - Repository Why? JSON is a very loose format where anything
JSON parser which picks up values directly without performing tokenization in Rust
Pikkr JSON parser which picks up values directly without performing tokenization in Rust Abstract Pikkr is a JSON parser which picks up values directl
Rust library to parse mail files
mailparse A simple parser for MIME email messages. API The primary entry point for this library is the following function: parse_mail(&[u8]) - Re
Docopt for Rust (command line argument parser).
THIS CRATE IS UNMAINTAINED This crate is unlikely to see significant future evolution. The primary reason to choose this crate for a new project is if
A full featured, fast Command Line Argument Parser for Rust
clap Command Line Argument Parser for Rust It is a simple-to-use, efficient, and full-featured library for parsing command line arguments and subcomma
Rust dbc parser
can-dbc A CAN-dbc format parser written with Rust's nom parser combinator library. 1. Example Read dbc file and generate Rust structs based on the mes
Rust DLT (Diagnostic Log and Trace) packet parser
dlt_parse A zero allocation rust library for basic parsing & writing DLT (Diagnostic Log and Trace) packets. Currently only the parsing and writing of
A high-performance observability data pipeline.
Get Started • Docs • Guides • Integrations • Chat • Download What is Vector? Vector is a high-performance, end-to-end (agent & aggregator) observabili