{"repo":"rust-bakery/nom","free":true,"listed":false,"github":"https://github.com/rust-bakery/nom","clone":"git clone https://github.com/rust-bakery/nom.git","description":"Rust parser combinator framework","language":"Rust","stars":10453,"topics":["rust","parse","parser-combinators","nom","parser","byte-array","grammar"],"license":"MIT","category":"dev-tools","readme_excerpt":"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 compromising the speed or memory consumption. To that end, it uses extensively Rust's strong typing and memory safety to produce fast and correct parsers, and provides functions, macros and traits to abstract most of the error prone plumbing. nom will happily take a byte out of your files :) - Example - Documentation - Why use nom? - Binary format parsers - Text format parsers - Programming language parsers - Streaming formats - Parser combinators - Technical features - Rust version requirements - Installation - Related projects - Parsers written with nom - Contributors Example Hexadecimal color parser: Documentation - Reference documentation - The Nominomicon: A Guide To Using Nom - Various design documents and tutorials - List of combinators and their behaviour If you need any help developing your parsers, please ping geal on IRC (Libera, Geeknode, OFTC), go to #nom-parsers on Libera IRC, or on the Gitter chat room. Why use nom If you want to write: Binary format parsers nom was designed to properly parse binary formats from the beginning. Compared to the usual handwritten C parsers, nom parsers are just as fast, free from buffer overflow vulnerabilities, and handle common patterns for you: - TLV - Bit level parsing - Hexadecimal viewer in the debugging macros for easy data analysis - Streaming parsers for network formats and huge fil","default_branch":null,"files":null,"tree":[],"storefront":"/r/rust-bakery","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/rust-bakery/nom/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}