296 Repositories
Rust macro-parser Libraries
An html macro for dioxus applications.
dioxus html macro This crate offers an html! like macro for dioxus applications. It expands to the equivalent rsx! macro call you would have made othe
A type-safe, high speed programming language for scalable systems
A type-safe, high speed programming language for scalable systems! (featuring a cheesy logo!) note: the compiler is unfinished and probably buggy. if
A Rust crate to expressively declare bitfield-like structs
proc-bitfield A Rust crate to expressively declare bitfield-like structs, automatically ensuring their correctness at compile time and declaring acces
A WIP minimal C Compiler written in Rust 🦀
_ _ ____ ____ | | __ _ _ __ | | __ / ___/ ___| _ | |/ _` | '_ \| |/ / | | | | | |_| | (_| | | | | | |__| |___
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
🤩 Flexible interpreted programming language
Jel Flexible, memory-safe, easy-to-use, interpreted programming language. work in progress Example Hello World: print(Hello World!) # this is valid pr
A simple, lightweight and extensible command line argument parser for rust codebases
A simple, lightweight and extensible command line argument parser for rust codebases. This crate aims to provide you with an easy-to-use and extensibl
A Rust attribute macro that adds memoization to a function (rhymes with Mickey)
michie (sounds like Mickey) — an attribute macro that adds memoization to a function. Table of contents Features Non-features key_expr key_type store_
Vector is a high-performance, end-to-end (agent & aggregator) observability data pipeline that puts you in control of your observability data
Quickstart • Docs • Guides • Integrations • Chat • Download What is Vector? Vector is a high-performance, end-to-end (agent & aggregator) observabilit
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 IMG2/IMG3 parser
oldimgtool A img2/3 parser, made in rust Usage oldimgtool [OPTIONS] INPUT [OUTPUT] Arguments: INPUT Input filename OUTPUT Output
Macros to make writing proc-macro crates easy
proc-easy Macros to make writing proc-macro crates easy. This crate provides mainly macros and supporting types and traits to reduce amount of boilerp
🦠 The Ultimate Gemini Toolkit.
Germ The Ultimate Gemini Toolkit. Germ is a toolkit for the Gemini protocol which aims to have a little something for everyone. At the moment, Germ ha
A convenient on-screen message print macro for bevy.
Bevy Debug Text Overlay A proof of concept for adding a very convenient text overlay macro to the bevy game engine. This is derived from the code I us
Plugin for macro-, mini-quad (quads) to save data in simple local storage using Web Storage API in WASM and local file on a native platforms.
quad-storage This is the crate to save data in persistent local storage in miniquad/macroquad environment. In WASM the data persists even if tab or br
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
Make data-driven table rendering easy with Dioxus
Dioxus Table Make data-driven table rendering easy with Dioxus Installation Until the next release of Dioxus this requires Dioxus nightly from git. Th
lemmy-help is a emmylua parser as well as a CLI which takes that parsed tree and converts it into vim help docs.
lemmy-help is a emmylua parser as well as a CLI which takes that parsed tree and converts it into vim help docs.
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
Texting Robots: A Rust native `robots.txt` parser with thorough unit testing
Texting Robots Crate texting_robots is a library for parsing robots.txt files. A key design goal of this crate is to have a thorough test suite tested
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
A parser for the perf.data format
linux-perf-data This repo contains a parser for the perf.data format which is output by the Linux perf tool. It also contains a main.rs which acts sim
Derive macro implementing 'From' for structs
derive-from-ext A derive macro that auto implements 'std::convert::From' for structs. The default behaviour is to create an instance of the structure
A systemd-boot configuration and boot entry configuration parser library
A systemd-boot configuration and boot entry configuration parser library
This library implements a type macro for a zero-sized type that is Serde deserializable only from one specific value.
Monostate This library implements a type macro for a zero-sized type that is Serde deserializable only from one specific value. [dependencies] monosta
NixEl is a Rust library that turns Nix code into a variety of correct, typed, memory-safe data-structures
🐉 NixEL Lexer, Parser, Abstract Syntax Tree and Concrete Syntax Tree for the Nix Expressions Language. NixEl is a Rust library that turns Nix code in
Parser for UltraStar Deluxe song files
This is a rust parser for USDX song files. Files are written as a plaintext files that contain data about the song and notes/lyrics.
Semantic find-and-replace using tree-sitter-based macro expansion
Semantic find-and-replace using tree-sitter-based macro expansion
Rust library to scan files and expand multi-file crates source code as a single tree
syn-file-expand This library allows you to load full source code of multi-file crates into a single syn::File. Features: Based on syn crate. Handling
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
Derive macro for encoding/decoding instructions and operands as bytecode
bytecoding Derive macro for encoding and decoding instructions and operands as bytecode. Documentation License Licensed under either of Apache License
Isn't it time to be a bit nicer to rustc?
politeness-macro Aren't we all too rude to computers? Isn't it time to bring a bit more politeness into our programming? Shouldn't we be a bit nicer t
A handy way to handle sh/bash cli parameters
Argc A handy way to handle sh/bash cli parameters. How Argc works To write a command line program with Argc, we only need to do two things: Describe t
Next-generation, type-safe CLI parser for Rust
Next-generation, type-safe CLI parser for Rust
Rust fast `&str` to `i64` parser (x86_64 SIMD, SSE4.1)
Rust fast &str to i64 parser (x86_64 SIMD, SSE4.1) Modified this version to support various string length and negative values. You need to define the
No-nonsense input!(...) macro for Rust
No-nonsense input!(...) macro for Rust
Compile-time checked Builder pattern derive macro with zero-memory overhead
Compile-time checked Builder pattern derive macro with zero-memory overhead This is very much a work-in-progress. PRs welcome to bring this to product
An `abilists` parser crate for Rust
An `abilists` parser crate for Rust
Website for Microformats Rust parser (using 'microformats-parser'/'mf2')
Website for Microformats Rust parser (using 'microformats-parser'/'mf2')
lispr is a Rust macro that tries to implement a small subset of LISPs syntax in Rust
lispr lispr is a Rust macro that tries to implement a small subset of LISPs syntax in Rust. It is neither especially beautiful or efficient since it i
Example of using nom parsers from a proc macro
Example of using nom parsers from a proc macro This project is organised as 3 crates: nom_macro is the main project, exposing the proc macro and the g
A procedural macro for defining nom combinators in simple DSL
A procedural macro for defining nom combinators in simple DSL
A procedural macro for configuring constant values across crates
toml-cfg Rough ideas: Crates can declare variables that can be overridden Anything const, e.g. usize, strings, etc. (Only) The "root crate" can overri
Parser for CARGO_ENCODED_RUSTFLAGS
Parser for CARGO_ENCODED_RUSTFLAGS CARGO_ENCODED_RUSTFLAGS is one of the environment variables provided by Cargo to build scripts. It synthesizes seve
A CSS parser, transformer, and minifier written in Rust.
@parcel/css A CSS parser, transformer, and minifier written in Rust. Features Extremely fast – Parsing and minifying large files is completed in milli
🦀 Rust library for printing human readable, relative time differences
🦀 Rust library for printing human readable, relative time differences
Rust library to parse, deparse and normalize SQL queries using the PostgreSQL query parser
This Rust library uses the actual PostgreSQL server source to parse SQL queries and return the internal PostgreSQL parse tree.
The [cain!] macro is a macro that rewrites sequential Rust branch statements into nested branches
Note! This crate is experimental and under development. It may include bugs that alter the behavior of your code in unexpected ways. You should review
A zero-copy parser for the contents of the __unwind_info section of a mach-O binary.
A parser for Apple's Compact Unwinding Format, which is used in the __unwind_info section of mach-O binaries.
A fast, customizable, and easy to use JavaScript and TypeScript linter
RSLint A fast, customizable, and easy to use JavaScript and TypeScript linter Guide | Contributing | Website | Linter Rules ⚠️ RSLint is in early deve
xml-rs is an XML library for Rust programming language
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
Macro assembler for Rust
Macro Assembler This crate implement JSC/SpiderMonkey like macro assembler. Macro assembler purpose is to generate machine code for different platform
A Rust proc-macro crate which derives functions to compile and parse back enums and structs to and from a bytecode representation
Bytecode A simple way to derive bytecode for you Enums and Structs. What is this This is a crate that provides a proc macro which will derive bytecode
Attribute for defining `macro_rules!` macros with proper visibility and scoping
macro-vis This crate provides an attribute for defining macro_rules! macros that have proper visibility and scoping. The default scoping and publicity
Parser for Object files define the geometry and other properties for objects in Wavefront's Advanced Visualizer.
format of the Rust library load locad blender obj file to Rust NDArray. cargo run test\t10k-images.idx3-ubyte A png file will be generated for the fi
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
Pure, simple and elegant HTML parser and editor.
HTML Editor Pure, simple and elegant HTML parser and editor. Examples Parse HTML segment/document let document = parse("!doctype htmlhtmlhead/h
A tree-sitter based AST difftool to get meaningful semantic diffs
diffsitter Disclaimer diffsitter is very much a work in progress and nowhere close to production ready (yet). Contributions are always welcome! Summar
Learn to write Rust procedural macros [Rust Latam conference, Montevideo Uruguay, March 2019]
Rust Latam: procedural macros workshop This repo contains a selection of projects designed to learn to write Rust procedural macros — Rust code that g
A library to display rich (Markdown) snippets and texts in a rust terminal application
A CLI utilities library leveraging Markdown to format terminal rendering, allowing separation of structure, data and skin. Based on crossterm so works
Eon-rs - A reference parser for EON (Extensible Object Notation)
eon-rs eon-rs is a Rust library for parsing EON. Installation Add eon-rs = "1.0.0" to your Cargo.toml file. Usage use eon_rs; // Read EON from file l
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 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
Rust macro that uses GPT3 codex to generate code at compiletime
gpt3_macro Rust macro that uses GPT3 codex to generate code at compiletime. Just describe what you want the function to do and (optionally) define a f
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
Quick'n dirty macro set for advent of code 2021
AOC quick'n dirty macro set Those are implemented using quick'n dirty procedural macros and libraries. Running the program Use cargo run --release --
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
Rust macro to make recursive function run on the heap (i.e. no stack overflow).
Decurse Example #[decurse::decurse] // 👈 Slap this on your recursive function and stop worrying about stack overflow! fn factorial(x: u32) - u32 {
Rust I18n is use Rust codegen for load YAML file storage translations on compile time, and give you a t! macro for simply get translation texts.
Rust I18n Rust I18n is use Rust codegen for load YAML file storage translations on compile time, and give you a t! macro for simply get translation te
A proc-macro to get Vecu8 from struct and vise versa
byteme A proc-macro to convert a struct into Vec and back by implemeting From trait on the struct. The conversion is Big Endian by default. We have ma
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
Yet another geter/setter derive macro.
Gusket Gusket is a getter/setter derive macro. Comparison with getset: gusket only exposes one derive macro. No need to derive(Getters, MutGetters, Se
Example of structuring a proc macro crate for testability
testing-proc-macros Example of structuring a proc macro crate for testability. See accompanying blog post for details. License Licensed under either o
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
Command line interface as a function.
Command line interface as a function. fncmd fncmd is an opinionated command line parser frontend that wraps around clap. The functionality is mostly i
A stupid macro that compiles and executes Rust and spits the output directly into your Rust code
inline-rust This is a stupid macro inspired by inline-python that compiles and executes Rust and spits the output directly into your Rust code. There
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 Rust attribute macro to limit a function's number of runs over a specified period of time
throttle_my_fn: A Rust attribute macro to throttle the execution of functions throttle_my_fn is a Rust attribute macro to limit a function's number of
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
✨ Safe, global singletons initialized at program start
✨ magic_static Safe, global singletons initialized at program start. Usage Simply add magic_static as a dependency in your Cargo.toml to get started:
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
Rust crate that provides a convenient macro to quickly plot variables.
Debug Plotter This crate provides a convenient macro to quickly plot variables. Documentation For more information on how to use this crate, please ta
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
assay - A super powered testing macro for Rust
assay - A super powered testing macro for Rust as·say /ˈaˌsā,aˈsā/ noun - the testing of a metal or ore to determine its ingredients and quality. Rust